diff --git a/anvil/components/glance.py b/anvil/components/glance.py index a9454e53..1b4dcdfc 100644 --- a/anvil/components/glance.py +++ b/anvil/components/glance.py @@ -68,7 +68,11 @@ class GlanceInstaller(comp.PythonInstallComponent): def _filter_pip_requires(self, fn, lines): return [l for l in lines - if not utils.has_any(l.lower(), 'swift', 'keystoneclient')] + # Take out entries that aren't really always needed or are + # resolved/installed by anvil during installation in the first + # place.. + if not utils.has_any(l.lower(), 'swift', 'keystoneclient', + 'oslo.config')] def post_install(self): comp.PythonInstallComponent.post_install(self) diff --git a/anvil/components/keystone.py b/anvil/components/keystone.py index b12d7bb0..0310ba63 100644 --- a/anvil/components/keystone.py +++ b/anvil/components/keystone.py @@ -72,8 +72,12 @@ class KeystoneInstaller(comp.PythonInstallComponent): def _filter_pip_requires(self, fn, lines): return [l for l in lines - if not utils.has_any(l.lower(), 'keystoneclient', - 'ldap', 'http://tarballs.openstack.org', 'memcached')] + # Take out entries that aren't really always needed or are + # resolved/installed by anvil during installation in the first + # place.. + if not utils.has_any(l.lower(), 'keystoneclient', 'oslo.config', + 'ldap', 'http://tarballs.openstack.org', + 'memcached')] def post_install(self): comp.PythonInstallComponent.post_install(self) diff --git a/anvil/components/keystone_client.py b/anvil/components/keystone_client.py new file mode 100644 index 00000000..d9c0d3d4 --- /dev/null +++ b/anvil/components/keystone_client.py @@ -0,0 +1,27 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright (C) 2012 Yahoo! Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from anvil import components as comp +from anvil import utils + + +class KeystoneClientInstaller(comp.PythonInstallComponent): + def _filter_pip_requires(self, fn, lines): + return [l for l in lines + # Take out entries that aren't really always needed or are + # resolved/installed by anvil during installation in the first + # place.. + if not utils.has_any(l.lower(), 'oslo.config')] diff --git a/anvil/components/nova.py b/anvil/components/nova.py index 7e4073ff..622d843d 100644 --- a/anvil/components/nova.py +++ b/anvil/components/nova.py @@ -116,8 +116,12 @@ class NovaInstaller(comp.PythonInstallComponent): def _filter_pip_requires(self, fn, lines): return [l for l in lines + # Take out entries that aren't really always needed or are + # resolved/installed by anvil during installation in the first + # place.. if not utils.has_any(l.lower(), 'quantumclient', - 'cinder', 'glance', 'ldap', 'keystoneclient')] + 'cinder', 'glance', 'ldap', 'oslo.config', + 'keystoneclient')] @property def env_exports(self): diff --git a/conf/components/oslo-config.yaml b/conf/components/oslo-config.yaml new file mode 100644 index 00000000..9e94fcf2 --- /dev/null +++ b/conf/components/oslo-config.yaml @@ -0,0 +1,6 @@ +# Settings for component oslo.config +--- + +get_from: "git://github.com/openstack/oslo.config.git?branch=master" + +... diff --git a/conf/components/oslo-incubator.yaml b/conf/components/oslo-incubator.yaml new file mode 100644 index 00000000..48c01aa9 --- /dev/null +++ b/conf/components/oslo-incubator.yaml @@ -0,0 +1,6 @@ +# Settings for component oslo.config +--- + +get_from: "git://github.com/openstack/oslo-incubator.git?branch=master" + +... diff --git a/conf/distros/rhel.yaml b/conf/distros/rhel.yaml index bd694566..172ceb81 100644 --- a/conf/distros/rhel.yaml +++ b/conf/distros/rhel.yaml @@ -280,7 +280,7 @@ components: - name: webtest # This version in package form conflicts with webob1.0 keystone-client: action_classes: - install: anvil.components:PythonInstallComponent + install: anvil.components.keystone_client:KeystoneClientInstaller package: anvil.packaging.rpm:PythonPackager running: anvil.components:EmptyRuntime test: anvil.components:PythonTestingComponent @@ -390,6 +390,20 @@ components: running: anvil.components:EmptyRuntime test: anvil.components.openstack_client:OpenStackClientTester uninstall: anvil.components:PythonUninstallComponent + oslo-config: + action_classes: + install: anvil.components:PythonInstallComponent + package: anvil.packaging.rpm:PythonPackager + running: anvil.components:EmptyRuntime + test: anvil.components:PythonTestingComponent + uninstall: anvil.components:PythonUninstallComponent + oslo-incubator: + action_classes: + install: anvil.components:PythonInstallComponent + package: anvil.packaging.rpm:PythonPackager + running: anvil.components:EmptyRuntime + test: anvil.components:PythonTestingComponent + uninstall: anvil.components:PythonUninstallComponent quantum-client: action_classes: install: anvil.components:PythonInstallComponent diff --git a/conf/personas/in-a-box/basic-web.yaml b/conf/personas/in-a-box/basic-web.yaml index e5c921b0..129178f0 100644 --- a/conf/personas/in-a-box/basic-web.yaml +++ b/conf/personas/in-a-box/basic-web.yaml @@ -4,6 +4,7 @@ components: - general - db - rabbit-mq +- oslo-config - keystone # Client used by many components - keystone-client diff --git a/conf/personas/in-a-box/basic.yaml b/conf/personas/in-a-box/basic.yaml index f24fd214..2e0d62de 100644 --- a/conf/personas/in-a-box/basic.yaml +++ b/conf/personas/in-a-box/basic.yaml @@ -4,6 +4,7 @@ components: - general - db - rabbit-mq +- oslo-config - keystone # Client used by many components - keystone-client