diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2 index 50f0095fd0..683650809c 100644 --- a/docker/kolla-toolbox/Dockerfile.j2 +++ b/docker/kolla-toolbox/Dockerfile.j2 @@ -60,20 +60,22 @@ RUN {{ macros.install_pip(kolla_toolbox_pip_virtualenv_packages|customizable("pi ENV PATH {{ virtualenv_path }}/bin:$PATH {% set kolla_toolbox_pip_packages = [ - 'ansible==2.2.0.0', - '"cmd2<0.9.0"', + 'ansible==2.8.*', + 'cmd2', 'influxdb', 'mysqlclient', - 'os-client-config==1.29.0', - 'pbr==4.0.0', + 'os-client-config', + 'pbr', 'pymongo', - 'python-openstackclient==3.14.0', + 'python-openstackclient', 'pytz', 'pyudev', - 'shade==1.27.1' + 'shade' ] %} -RUN {{ macros.install_pip(kolla_toolbox_pip_packages | customizable("pip_packages"), constraints=false) }} \ +RUN mkdir -p /requirements \ + && curl -sSL -o /requirements/upper-constraints.txt https://opendev.org/openstack/requirements/raw/branch/{{openstack_release}}/upper-constraints.txt \ + && {{ macros.install_pip(kolla_toolbox_pip_packages | customizable("pip_packages")) }} \ && mkdir -p /etc/ansible /usr/share/ansible \ && echo 'localhost ansible_connection=local ansible_python_interpreter={{ virtualenv_path }}/bin/python' > /etc/ansible/hosts \ && sed -i 's| "identity_api_version": "2.0",| "identity_api_version": "3",|' {{ os_client_config }} diff --git a/docker/kolla-toolbox/kolla_keystone_service.py b/docker/kolla-toolbox/kolla_keystone_service.py index 866350821e..74db353854 100644 --- a/docker/kolla-toolbox/kolla_keystone_service.py +++ b/docker/kolla-toolbox/kolla_keystone_service.py @@ -37,7 +37,8 @@ def main(): service_type=dict(required=True, type='str'), url=dict(required=True, type='str'), interface=dict(required=True, type='str'), - endpoint_region=dict(required=True, type='str') + endpoint_region=dict(required=True, type='str'), + endpoint_type=dict(type='str') ) module = AnsibleModule(argument_spec) diff --git a/docker/kolla-toolbox/kolla_keystone_user.py b/docker/kolla-toolbox/kolla_keystone_user.py index af7d0d6ecb..c9631cd7c6 100644 --- a/docker/kolla-toolbox/kolla_keystone_user.py +++ b/docker/kolla-toolbox/kolla_keystone_user.py @@ -24,7 +24,7 @@ from ansible.module_utils.openstack import openstack_full_argument_spec def main(): argument_spec = openstack_full_argument_spec( - password=dict(required=True, type='str'), + password=dict(required=True, type='str', no_log=True), project=dict(required=True, type='str'), role=dict(required=True, type='str'), user=dict(required=True, type='str') diff --git a/kolla/common/config.py b/kolla/common/config.py index d537303ad0..c6d4e269af 100755 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -35,6 +35,7 @@ DISTRO_RELEASE = { 'debian': 'buster', 'ubuntu': '18.04', } +OPENSTACK_RELEASE = 'master' # This is noarch repository so we will use it on all architectures DELOREAN = \ @@ -269,6 +270,8 @@ _CLI_OPTS = [ help=('Squash the image layers. WARNING: it will consume lots' ' of disk IO. "docker-squash" tool is required, install' ' it by "pip install docker-squash"')), + cfg.StrOpt('openstack-release', default=OPENSTACK_RELEASE, + help='OpenStack release for building kolla-toolbox'), ] _BASE_OPTS = [ diff --git a/kolla/image/build.py b/kolla/image/build.py index 7b8dcd9af3..8790f4e6b9 100755 --- a/kolla/image/build.py +++ b/kolla/image/build.py @@ -672,6 +672,7 @@ class KollaWorker(object): elif self.base_arch == 'ppc64le': self.debian_arch = 'ppc64el' self.images = list() + self.openstack_release = conf.openstack_release rpm_setup_config = ([repo_file for repo_file in conf.rpm_setup_config if repo_file is not None]) self.rpm_setup = self.build_rpm_setup(rpm_setup_config) @@ -918,6 +919,7 @@ class KollaWorker(object): 'image_prefix': self.image_prefix, 'install_type': self.install_type, 'namespace': self.namespace, + 'openstack_release': self.openstack_release, 'tag': self.tag, 'maintainer': self.maintainer, 'kolla_version': kolla_version,