From 46031889342274700784498387d49efd42581559 Mon Sep 17 00:00:00 2001 From: Markos Chandras Date: Tue, 3 Jul 2018 07:04:36 +0100 Subject: [PATCH] Add support for using distribution packages for OpenStack services Add new 'aio_distro_basekit' jobs to test the minimal basekit deployment using distribution packages for the OpenStack services. We can skip all repo-* related playbooks and roles since we are not building pip packages for OpenStack services anymore. Finally, we can populate the utility container using the distribution packages for the OpenStack client instead of using the wheel packages. Change-Id: Ia8c394123b5588fff8c4acbe1532ed5a6dc7e8ec Depends-On: https://review.openstack.org/#/c/583161/ Depends-On: https://review.openstack.org/#/c/567530/ Depends-On: https://review.openstack.org/#/c/580455/ Implements: blueprint openstack-distribution-packages --- .../openstack_user_config.yml.aio.j2 | 4 + inventory/group_vars/all/all.yml | 9 +-- inventory/group_vars/all/pip.yml | 9 --- inventory/group_vars/ceilometer_all.yml | 3 - inventory/group_vars/cinder_all.yml | 1 - inventory/group_vars/glance_all.yml | 1 - inventory/group_vars/gnocchi_all.yml | 3 - inventory/group_vars/keystone_all.yml | 4 - inventory/group_vars/nova_all.yml | 1 - inventory/group_vars/octavia_all.yml | 1 - inventory/group_vars/tacker_all.yml | 3 - inventory/group_vars/utility_all.yml | 9 ++- playbooks/ceph-install.yml | 4 + playbooks/ceph-rgw-install.yml | 2 + playbooks/ceph-rgw-keystone-setup.yml | 2 + playbooks/common-playbooks/cinder.yml | 2 + playbooks/common-playbooks/glance.yml | 2 + playbooks/common-playbooks/neutron.yml | 2 + playbooks/common-playbooks/nova.yml | 35 ++++++--- playbooks/containers-lxc-create.yml | 9 +++ playbooks/containers-lxc-host.yml | 3 + playbooks/containers-nspawn-create.yml | 3 + playbooks/containers-nspawn-host.yml | 2 + playbooks/defaults/distro_install.yml | 74 +++++++++++++++++++ playbooks/defaults/source_install.yml | 45 +++++++++++ playbooks/openstack-hosts-setup.yml | 3 + playbooks/os-aodh-install.yml | 2 + playbooks/os-barbican-install.yml | 2 + playbooks/os-ceilometer-install.yml | 2 + playbooks/os-cinder-install.yml | 10 +++ playbooks/os-congress-install.yml | 3 + playbooks/os-designate-install.yml | 2 + playbooks/os-glance-install.yml | 4 + playbooks/os-gnocchi-install.yml | 2 + playbooks/os-heat-install.yml | 1 + playbooks/os-horizon-install.yml | 2 + playbooks/os-ironic-install.yml | 2 + playbooks/os-keystone-install.yml | 6 ++ playbooks/os-magnum-install.yml | 2 + playbooks/os-molteniron-install.yml | 2 + playbooks/os-neutron-install.yml | 2 + playbooks/os-nova-install.yml | 10 +++ playbooks/os-octavia-install.yml | 2 + playbooks/os-rally-install.yml | 2 + playbooks/os-sahara-install.yml | 2 + playbooks/os-swift-install.yml | 2 + playbooks/os-swift-sync.yml | 2 + playbooks/os-tacker-install.yml | 2 + playbooks/os-tempest-install.yml | 2 + playbooks/os-trove-install.yml | 2 + playbooks/repo-build.yml | 1 + playbooks/repo-server.yml | 1 + playbooks/repo-use.yml | 1 + playbooks/setup-infrastructure.yml | 2 + playbooks/utility-install.yml | 9 +++ scripts/gate-check-commit.sh | 3 + tests/bootstrap-aio.yml | 1 + .../templates/user_variables.aio.yml.j2 | 3 + zuul.d/jobs.yaml | 27 +++++++ zuul.d/playbooks/run.yml | 2 +- zuul.d/project.yaml | 5 ++ 61 files changed, 315 insertions(+), 46 deletions(-) create mode 100644 playbooks/defaults/distro_install.yml create mode 100644 playbooks/defaults/source_install.yml diff --git a/etc/openstack_deploy/openstack_user_config.yml.aio.j2 b/etc/openstack_deploy/openstack_user_config.yml.aio.j2 index 87aabbf9ae..81bfa764f4 100644 --- a/etc/openstack_deploy/openstack_user_config.yml.aio.j2 +++ b/etc/openstack_deploy/openstack_user_config.yml.aio.j2 @@ -124,6 +124,10 @@ shared-infra_hosts: repo-infra_hosts: aio1: +{% if install_method == 'distro' %} + affinity: + repo_container: 0 +{% endif %} ip: 172.29.236.100 log_hosts: diff --git a/inventory/group_vars/all/all.yml b/inventory/group_vars/all/all.yml index 949842abe6..16bbadc17a 100644 --- a/inventory/group_vars/all/all.yml +++ b/inventory/group_vars/all/all.yml @@ -54,16 +54,14 @@ rsyslog_client_package_state: "{{ package_state }}" rsyslog_client_enabled: "{{ ansible_pkg_mgr == 'zypper' }}" rsyslog_server_enabled: "{{ ansible_pkg_mgr == 'zypper' }}" -## OpenStack source options -openstack_repo_url: "http://{{ internal_lb_vip_address }}:{{ repo_server_port }}" -openstack_repo_git_url: "git://{{ internal_lb_vip_address }}" - # URL for the frozen internal openstack repo. repo_server_port: 8181 repo_pkg_cache_enabled: true repo_pkg_cache_port: 3142 repo_pkg_cache_url: "http://{{ internal_lb_vip_address }}:{{ repo_pkg_cache_port }}" -repo_release_path: "{{ openstack_repo_url }}/os-releases/{{ openstack_release }}/{{ os_distro_version }}" + +## Default installation method for OpenStack services +install_method: "source" ## DNS resolution (resolvconf) options #Group containing resolvers to configure @@ -93,7 +91,6 @@ service_ldap_backend_enabled: "{{ keystone_ldap is defined and keystone_ldap.Def ## Base venv configuration venv_tag: "{{ openstack_release }}" -venv_base_download_url: "{{ openstack_repo_url }}/venvs/{{ openstack_release }}/{{ os_distro_version }}" ## Gnocchi # Used in both Gnocchi and Swift roles. diff --git a/inventory/group_vars/all/pip.yml b/inventory/group_vars/all/pip.yml index 2f70ee4858..d7df458d57 100644 --- a/inventory/group_vars/all/pip.yml +++ b/inventory/group_vars/all/pip.yml @@ -15,16 +15,7 @@ pip_install_package_state: "{{ package_state }}" -# The upper constraints to apply to all pip installations -pip_install_upper_constraints: "{{ repo_release_path }}/requirements_absolute_requirements.txt" - # Allow the deployer to force pip to download locally to the deployment host # and copy it to the remote container for installation. Useful for environments # where the containers lack internet access. pip_offline_install: false - -# The URL to retrieve the get-pip.py installation script -pip_upstream_url: "{{ (pip_offline_install | bool) | ternary('https://bootstrap.pypa.io/3.3/get-pip.py', repo_release_path ~ '/get-pip.py') }}" - -# The URL to the repo server's pypi reverse proxy simple index -pip_default_index: "{{ openstack_repo_url }}/simple" diff --git a/inventory/group_vars/ceilometer_all.yml b/inventory/group_vars/ceilometer_all.yml index 85960a8265..364d48c37e 100644 --- a/inventory/group_vars/ceilometer_all.yml +++ b/inventory/group_vars/ceilometer_all.yml @@ -32,9 +32,6 @@ ceilometer_package_state: "{{ package_state }}" ceilometer_venv_tag: "{{ venv_tag }}" ceilometer_venv_download_url: "{{ venv_base_download_url }}/ceilometer-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" -# locations for fetching the default files from the git source -ceilometer_git_config_lookup_location: "{{ openstack_repo_url }}/openstackgit/ceilometer" - # Swift vars used when swift is enabled swift_system_user_name: "{{ hostvars['localhost']['swift_system_user_name'] }}" swift_system_shell: "{{ hostvars['localhost']['swift_system_shell'] }}" diff --git a/inventory/group_vars/cinder_all.yml b/inventory/group_vars/cinder_all.yml index c334524ed7..f31a782b13 100644 --- a/inventory/group_vars/cinder_all.yml +++ b/inventory/group_vars/cinder_all.yml @@ -46,7 +46,6 @@ cinder_system_user_name: cinder # venv fetch configuration cinder_venv_tag: "{{ venv_tag }}" -cinder_bin: "/openstack/venvs/cinder-{{ cinder_venv_tag }}/bin" cinder_venv_download_url: "{{ venv_base_download_url }}/cinder-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" # If there are any Barbican hosts in the environment, then enable its usage diff --git a/inventory/group_vars/glance_all.yml b/inventory/group_vars/glance_all.yml index ae367e52c2..0443779d76 100644 --- a/inventory/group_vars/glance_all.yml +++ b/inventory/group_vars/glance_all.yml @@ -27,7 +27,6 @@ glance_package_state: "{{ package_state }}" # venv fetch configuration glance_venv_tag: "{{ venv_tag }}" -glance_bin: "/openstack/venvs/glance-{{ glance_venv_tag }}/bin" glance_venv_download_url: "{{ venv_base_download_url }}/glance-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" # glance default list of bind mounts diff --git a/inventory/group_vars/gnocchi_all.yml b/inventory/group_vars/gnocchi_all.yml index bbe73fc802..f6fa3e6b15 100644 --- a/inventory/group_vars/gnocchi_all.yml +++ b/inventory/group_vars/gnocchi_all.yml @@ -31,9 +31,6 @@ gnocchi_keystone_auth: "{{ (groups['keystone_all'] is defined) and (groups['keys gnocchi_venv_tag: "{{ venv_tag }}" gnocchi_venv_download_url: "{{ venv_base_download_url }}/gnocchi-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" -# locations for fetching the default files from the git source -gnocchi_git_config_lookup_location: "{{ openstack_repo_url }}/openstackgit/gnocchi" - # Gnocchi default list of bind mounts gnocchi_container_bind_mounts: - bind_dir_path: "/var/lib/gnocchi" diff --git a/inventory/group_vars/keystone_all.yml b/inventory/group_vars/keystone_all.yml index d01a0a13ff..cccfb05569 100644 --- a/inventory/group_vars/keystone_all.yml +++ b/inventory/group_vars/keystone_all.yml @@ -36,8 +36,4 @@ keystone_package_state: "{{ package_state }}" # venv fetch configuration keystone_venv_tag: "{{ venv_tag }}" -keystone_bin: "/openstack/venvs/keystone-{{ keystone_venv_tag }}/bin" keystone_venv_download_url: "{{ venv_base_download_url }}/keystone-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" - -# locations for fetching the default files from the git source -keystone_git_config_lookup_location: "{{openstack_repo_url }}/openstackgit/keystone" diff --git a/inventory/group_vars/nova_all.yml b/inventory/group_vars/nova_all.yml index 24990cd7da..e3b64b9025 100644 --- a/inventory/group_vars/nova_all.yml +++ b/inventory/group_vars/nova_all.yml @@ -61,7 +61,6 @@ nova_system_user_name: nova # venv fetch configuration nova_venv_tag: "{{ venv_tag }}" -nova_bin: "/openstack/venvs/nova-{{ nova_venv_tag }}/bin" nova_venv_download_url: "{{ venv_base_download_url }}/nova-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" # TODO: (andymccr) remove this once https://review.openstack.org/#/c/428120/ merges diff --git a/inventory/group_vars/octavia_all.yml b/inventory/group_vars/octavia_all.yml index e681259d1c..37e3d54378 100644 --- a/inventory/group_vars/octavia_all.yml +++ b/inventory/group_vars/octavia_all.yml @@ -18,5 +18,4 @@ octavia_service_user_name: octavia # venv fetch configuration octavia_venv_tag: "{{ venv_tag }}" -octavia_bin: "/openstack/venvs/octavia-{{ octavia_venv_tag }}/bin" octavia_venv_download_url: "{{ venv_base_download_url }}/octavia-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" diff --git a/inventory/group_vars/tacker_all.yml b/inventory/group_vars/tacker_all.yml index ed972b1ee2..b754e74929 100644 --- a/inventory/group_vars/tacker_all.yml +++ b/inventory/group_vars/tacker_all.yml @@ -34,6 +34,3 @@ tacker_package_state: "{{ package_state }}" # venv fetch configuration tacker_venv_tag: "{{ venv_tag }}" tacker_venv_download_url: "{{ venv_base_download_url }}/tacker-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" - -# locations for fetching the default files from the git source -tacker_git_config_lookup_location: "{{ openstack_repo_url }}/openstackgit/tacker" diff --git a/inventory/group_vars/utility_all.yml b/inventory/group_vars/utility_all.yml index 41bc767d73..f6feb58964 100644 --- a/inventory/group_vars/utility_all.yml +++ b/inventory/group_vars/utility_all.yml @@ -28,6 +28,13 @@ utility_distro_packages: - curl - git +utility_distro_openstack_clients_packages: + - python-keystoneclient + - python-neutronclient + - python-novaclient + - python-cinderclient + - python-openstackclient + # Python packages to be installed into the utility container utility_pip_packages: - cryptography @@ -57,8 +64,6 @@ tempest_service_available_congress: "{{ groups['congress_all'] is defined and gr tempest_log_dir: /var/log/utility tempest_venv_tag: "{{ openstack_release }}" -tempest_venv_download_url: "{{ venv_base_download_url }}/tempest-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" -tempest_venv_bin: "/openstack/venvs/tempest-{{ tempest_venv_tag }}/bin" # This sets the tempest group to the utility group tempest_main_group: utility_all diff --git a/playbooks/ceph-install.yml b/playbooks/ceph-install.yml index 2fd72327b0..d12e717df8 100644 --- a/playbooks/ceph-install.yml +++ b/playbooks/ceph-install.yml @@ -16,6 +16,8 @@ - name: Install ceph mons hosts: ceph-mon user: root + vars_files: + - "defaults/{{ install_method }}_install.yml" pre_tasks: - include: common-tasks/os-log-dir-setup.yml vars: @@ -127,6 +129,8 @@ - name: Install ceph osds hosts: ceph-osd user: root + vars_files: + - "defaults/{{ install_method }}_install.yml" pre_tasks: - include: common-tasks/os-log-dir-setup.yml vars: diff --git a/playbooks/ceph-rgw-install.yml b/playbooks/ceph-rgw-install.yml index e428af35f7..b8b613b4f6 100644 --- a/playbooks/ceph-rgw-install.yml +++ b/playbooks/ceph-rgw-install.yml @@ -19,6 +19,8 @@ - name: Install ceph radosgw hosts: ceph-rgw user: root + vars_files: + - "defaults/{{ install_method }}_install.yml" tasks: - include: common-tasks/os-log-dir-setup.yml vars: diff --git a/playbooks/ceph-rgw-keystone-setup.yml b/playbooks/ceph-rgw-keystone-setup.yml index 1ba1c0c25a..34fee9ccc7 100644 --- a/playbooks/ceph-rgw-keystone-setup.yml +++ b/playbooks/ceph-rgw-keystone-setup.yml @@ -16,6 +16,8 @@ - name: Configure keystone for radosgw hosts: utility_all user: root + vars_files: + - "defaults/{{ install_method }}_install.yml" tasks: - name: Ensure RGW service keystone: diff --git a/playbooks/common-playbooks/cinder.yml b/playbooks/common-playbooks/cinder.yml index 9045b37f63..2bfe101499 100644 --- a/playbooks/common-playbooks/cinder.yml +++ b/playbooks/common-playbooks/cinder.yml @@ -19,6 +19,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "../defaults/{{ install_method }}_install.yml" tags: - cinder pre_tasks: diff --git a/playbooks/common-playbooks/glance.yml b/playbooks/common-playbooks/glance.yml index c2b5df0adf..3cd62aa0fe 100644 --- a/playbooks/common-playbooks/glance.yml +++ b/playbooks/common-playbooks/glance.yml @@ -19,6 +19,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "../defaults/{{ install_method }}_install.yml" tags: - glance pre_tasks: diff --git a/playbooks/common-playbooks/neutron.yml b/playbooks/common-playbooks/neutron.yml index a3273ad9ee..43fa9b4cfc 100644 --- a/playbooks/common-playbooks/neutron.yml +++ b/playbooks/common-playbooks/neutron.yml @@ -19,6 +19,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "../defaults/{{ install_method }}_install.yml" tags: - neutron pre_tasks: diff --git a/playbooks/common-playbooks/nova.yml b/playbooks/common-playbooks/nova.yml index c43c55e9c3..e309b9bdfe 100644 --- a/playbooks/common-playbooks/nova.yml +++ b/playbooks/common-playbooks/nova.yml @@ -21,9 +21,10 @@ environment: "{{ deployment_environment_variables | default({}) }}" vars_files: - ../defaults/repo_packages/nova_consoles.yml + - "../defaults/{{ install_method }}_install.yml" tags: - nova - pre_tasks: + tasks: # Enable execution of ceph_client on the nova compute hosts if cinder RBD # backends are used. This is necessary to ensure that volume-backed Nova # instances can function when RBD is the volume backend. @@ -137,20 +138,32 @@ tags: - always - roles: - - role: "os_nova" - nova_novncproxy_git_repo: "{{ openstack_repo_git_url }}/novnc" - nova_novncproxy_git_install_branch: "{{ novncproxy_git_install_branch }}" - nova_spicehtml5_git_repo: "{{ openstack_repo_git_url }}/spice-html5" - nova_spicehtml5_git_install_branch: "{{ spicehtml5_git_install_branch }}" - nova_management_address: "{{ management_address }}" - nova_cinder_rbd_inuse: "{{ hostvars['localhost']['nova_cinder_rbd_inuse'] }}" + - name: Installing the Nova service (source) + include_role: + name: "os_nova" + vars: + nova_novncproxy_git_repo: "{{ openstack_repo_git_url }}/novnc" + nova_novncproxy_git_install_branch: "{{ novncproxy_git_install_branch }}" + nova_spicehtml5_git_repo: "{{ openstack_repo_git_url }}/spice-html5" + nova_spicehtml5_git_install_branch: "{{ spicehtml5_git_install_branch }}" + nova_management_address: "{{ management_address }}" + nova_cinder_rbd_inuse: "{{ hostvars['localhost']['nova_cinder_rbd_inuse'] }}" + when: install_method == "source" - - role: "system_crontab_coordination" + - name: Installing the Nova service (distro) + include_role: + name: "os_nova" + vars: + nova_management_address: "{{ management_address }}" + nova_cinder_rbd_inuse: "{{ hostvars['localhost']['nova_cinder_rbd_inuse'] }}" + when: install_method == "distro" + + - name: Configuring system crontab + include_role: + name: "system_crontab_coordination" tags: - crontab - post_tasks: - include_tasks: "../common-tasks/rsyslog-client.yml" vars: rsyslog_client_log_rotate_file: nova_log_rotate diff --git a/playbooks/containers-lxc-create.yml b/playbooks/containers-lxc-create.yml index 8ebb152984..17f0967905 100644 --- a/playbooks/containers-lxc-create.yml +++ b/playbooks/containers-lxc-create.yml @@ -16,6 +16,8 @@ - name: Set lxc containers group hosts: "{{ container_group | default('all_containers') }}" gather_facts: false + vars_files: + - "defaults/{{ install_method }}_install.yml" tasks: - name: Add hosts to dynamic inventory group group_by: @@ -30,6 +32,8 @@ - name: Create container(s) hosts: all_lxc_containers gather_facts: false + vars_files: + - "defaults/{{ install_method }}_install.yml" user: root roles: - role: "lxc_container_create" @@ -59,15 +63,20 @@ - name: Configure containers default software hosts: all_lxc_containers gather_facts: true + vars_files: + - "defaults/{{ install_method }}_install.yml" user: root pre_tasks: - include: common-tasks/package-cache-proxy.yml + when: install_method == "source" - include: common-tasks/set-pip-vars.yml + when: install_method == "source" roles: - role: "openstack_hosts" is_container: true vars_files: - defaults/repo_packages/openstack_services.yml + - "defaults/{{ install_method }}_install.yml" environment: "{{ deployment_environment_variables | default({}) }}" tags: - lxc-containers-create diff --git a/playbooks/containers-lxc-host.yml b/playbooks/containers-lxc-host.yml index 060d084461..4eca2acca2 100644 --- a/playbooks/containers-lxc-host.yml +++ b/playbooks/containers-lxc-host.yml @@ -16,9 +16,12 @@ - name: Basic lxc host setup hosts: "{{ lxc_host_group | default('lxc_hosts')}}" gather_facts: "{{ osa_gather_facts | default(True) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" user: root pre_tasks: - include: common-tasks/set-pip-vars.yml + when: install_method == "source" - name: Check the state of the default LXC service log directory stat: path: "/var/log/lxc" diff --git a/playbooks/containers-nspawn-create.yml b/playbooks/containers-nspawn-create.yml index ce8c1b714b..21223e9ce5 100644 --- a/playbooks/containers-nspawn-create.yml +++ b/playbooks/containers-nspawn-create.yml @@ -66,13 +66,16 @@ user: root pre_tasks: - include: common-tasks/package-cache-proxy.yml + when: install_method == "source" - include: common-tasks/set-pip-vars.yml + when: install_method == "source" roles: - role: "openstack_hosts" is_container: true cache_timeout: 0 vars_files: - defaults/repo_packages/openstack_services.yml + - "defaults/{{ install_method }}_install.yml" environment: "{{ deployment_environment_variables | default({}) }}" tags: - nspawn-containers-create diff --git a/playbooks/containers-nspawn-host.yml b/playbooks/containers-nspawn-host.yml index 3cf23580c0..3988a51ae1 100644 --- a/playbooks/containers-nspawn-host.yml +++ b/playbooks/containers-nspawn-host.yml @@ -16,6 +16,8 @@ - name: Additional nspawn host setup hosts: "{{ nspawn_host_group | default('nspawn_hosts') }}" gather_facts: true + vars_files: + - "defaults/{{ install_method }}_install.yml" user: root roles: - role: "nspawn_hosts" diff --git a/playbooks/defaults/distro_install.yml b/playbooks/defaults/distro_install.yml new file mode 100644 index 0000000000..3140a3b3cf --- /dev/null +++ b/playbooks/defaults/distro_install.yml @@ -0,0 +1,74 @@ +--- +# Copyright 2018, SUSE LINUX GmbH. +# +# 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. + +# +# Use $role_install_method=distro so we can test the combined +# result. We add all the os_* roles here even though some of them +# may not have been converted to support the dual installation method. +# +# NOTE(hwoarang): We need to define the various $role_bin variables because +# some playbooks in this repository are explicitly using them to perform +# post deployment actions such as the playbooks/os-{cinder,keystone,nova}-install.yml +# playbooks. +# +almanach_install_method: distro +aodh_install_method: distro +barbican_install_method: distro +blazar_install_method: distro +ceilometer_install_method: distro +cinder_install_method: distro +cinder_bin: /usr/bin +cloudkitty_install_method: distro +congress_install_method: distro +designate_install_method: distro +glance_install_method: distro +glance_bin: /usr/bin +gnocchi_install_method: distro +heat_install_method: distro +horizon_install_method: distro +ironic_install_method: distro +karbor_install_method: distro +keystone_install_method: distro +keystone_bin: /usr/bin +magnum_install_method: distro +masakari_install_method: distro +molteniron_install_method: distro +monasca_install_method: distro +monasca-agent_install_method: distro +monasca-ui_install_method: distro +neutron_install_method: distro +neutron_bin: /usr/bin +nova_install_method: distro +nova_bin: /usr/bin +octavia_install_method: distro +octavia_bin: /usr/bin +panko_install_method: distro +rally_install_method: distro +sahara_install_method: distro +searchlight_install_method: distro +swift_install_method: distro +tacker_install_method: distro +tempest_install_method: distro +tempest_bin: /usr/bin +trove_install_method: distro +watcher_install_method: distro +zaqar_install_method: distro +zun_install_method: distro + +# default variables for PIP since we are not using the repo server +pip_upstream_url: "https://bootstrap.pypa.io/3.3/get-pip.py" +pip_default_index: "https://pypi.python.org/simple" + +tempest_venv_download: false diff --git a/playbooks/defaults/source_install.yml b/playbooks/defaults/source_install.yml new file mode 100644 index 0000000000..b9d711e495 --- /dev/null +++ b/playbooks/defaults/source_install.yml @@ -0,0 +1,45 @@ +--- +# Copyright 2018, SUSE LINUX GmbH. +# +# 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. + +cinder_bin: "/openstack/venvs/cinder-{{ cinder_venv_tag }}/bin" +glance_bin: "/openstack/venvs/glance-{{ glance_venv_tag }}/bin" +keystone_bin: "/openstack/venvs/keystone-{{ keystone_venv_tag }}/bin" +nova_bin: "/openstack/venvs/nova-{{ nova_venv_tag }}/bin" +octavia_bin: "/openstack/venvs/octavia-{{ octavia_venv_tag }}/bin" +tempest_venv_bin: "/openstack/venvs/tempest-{{ tempest_venv_tag }}/bin" + +# URL for the frozen internal openstack repo. +repo_release_path: "{{ openstack_repo_url }}/os-releases/{{ openstack_release }}/{{ os_distro_version }}" + +## OpenStack source options +openstack_repo_url: "http://{{ internal_lb_vip_address }}:{{ repo_server_port }}" +openstack_repo_git_url: "git://{{ internal_lb_vip_address }}" + +venv_base_download_url: "{{ openstack_repo_url }}/venvs/{{ openstack_release }}/{{ os_distro_version }}" +tempest_venv_download_url: "{{ venv_base_download_url }}/tempest-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" +# The URL to retrieve the get-pip.py installation script +pip_upstream_url: "{{ (pip_offline_install | bool) | ternary('https://bootstrap.pypa.io/3.3/get-pip.py', repo_release_path ~ '/get-pip.py') }}" +# The URL to the repo server's pypi reverse proxy simple index +pip_default_index: "{{ openstack_repo_url }}/simple" +# The upper constraints to apply to all pip installations +pip_install_upper_constraints: "{{ repo_release_path }}/requirements_absolute_requirements.txt" +# locations for fetching the default files from the git source +gnocchi_git_config_lookup_location: "{{ openstack_repo_url }}/openstackgit/gnocchi" +# locations for fetching the default files from the git source +ceilometer_git_config_lookup_location: "{{ openstack_repo_url }}/openstackgit/ceilometer" +# locations for fetching the default files from the git source +tacker_git_config_lookup_location: "{{ openstack_repo_url }}/openstackgit/tacker" +# locations for fetching the default files from the git source +keystone_git_config_lookup_location: "{{ openstack_repo_url }}/openstackgit/keystone" diff --git a/playbooks/openstack-hosts-setup.yml b/playbooks/openstack-hosts-setup.yml index 035ab0ada1..78a934dfe1 100644 --- a/playbooks/openstack-hosts-setup.yml +++ b/playbooks/openstack-hosts-setup.yml @@ -50,11 +50,14 @@ msg: "The only supported platforms for this release are Ubuntu 16.04 LTS (Xenial), CentOS 7 (WIP) and openSUSE Leap 42.X (WIP)" - include: common-tasks/package-cache-proxy.yml + when: install_method == "source" - include: common-tasks/set-pip-vars.yml + when: install_method == "source" roles: - role: "openstack_hosts" vars_files: - defaults/repo_packages/openstack_services.yml + - "defaults/{{ install_method }}_install.yml" environment: "{{ deployment_environment_variables | default({}) }}" tags: - openstack-hosts diff --git a/playbooks/os-aodh-install.yml b/playbooks/os-aodh-install.yml index f5d197c277..37bd179ba6 100644 --- a/playbooks/os-aodh-install.yml +++ b/playbooks/os-aodh-install.yml @@ -18,6 +18,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - aodh pre_tasks: diff --git a/playbooks/os-barbican-install.yml b/playbooks/os-barbican-install.yml index 4d03217947..6c5131f6c9 100644 --- a/playbooks/os-barbican-install.yml +++ b/playbooks/os-barbican-install.yml @@ -18,6 +18,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - barbican pre_tasks: diff --git a/playbooks/os-ceilometer-install.yml b/playbooks/os-ceilometer-install.yml index a4d6e2ab1a..7f2e78fe25 100644 --- a/playbooks/os-ceilometer-install.yml +++ b/playbooks/os-ceilometer-install.yml @@ -17,6 +17,8 @@ hosts: ceilometer_all gather_facts: "{{ osa_gather_facts | default(True) }}" user: root + vars_files: + - "defaults/{{ install_method }}_install.yml" pre_tasks: - include: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" static: no diff --git a/playbooks/os-cinder-install.yml b/playbooks/os-cinder-install.yml index 903a82495a..709416d0d9 100644 --- a/playbooks/os-cinder-install.yml +++ b/playbooks/os-cinder-install.yml @@ -18,6 +18,8 @@ gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - cinder tasks: @@ -88,6 +90,8 @@ gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - cinder tasks: @@ -131,6 +135,8 @@ serial: "{{ cinder_backend_serial | default(['1', '100%']) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - cinder tasks: @@ -156,6 +162,8 @@ serial: "{{ cinder_api_serial | default(['1','100%']) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - cinder tasks: @@ -195,6 +203,8 @@ gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - cinder tasks: diff --git a/playbooks/os-congress-install.yml b/playbooks/os-congress-install.yml index 23ded3e2d6..c310f697e2 100644 --- a/playbooks/os-congress-install.yml +++ b/playbooks/os-congress-install.yml @@ -19,6 +19,8 @@ max_fail_percentage: 20 user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - congress pre_tasks: @@ -40,6 +42,7 @@ - name: Configure package proxy cache include: common-tasks/package-cache-proxy.yml + when: install_method == "source" roles: - role: "os_congress" diff --git a/playbooks/os-designate-install.yml b/playbooks/os-designate-install.yml index fe1ecc95ef..dd2a497bde 100644 --- a/playbooks/os-designate-install.yml +++ b/playbooks/os-designate-install.yml @@ -21,6 +21,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - designate pre_tasks: diff --git a/playbooks/os-glance-install.yml b/playbooks/os-glance-install.yml index 6e72ed119e..2c9d58758b 100644 --- a/playbooks/os-glance-install.yml +++ b/playbooks/os-glance-install.yml @@ -38,6 +38,8 @@ gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - glance tasks: @@ -80,6 +82,8 @@ serial: "{{ glance_api_serial | default(['1','100%']) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - glance tasks: diff --git a/playbooks/os-gnocchi-install.yml b/playbooks/os-gnocchi-install.yml index 5cf6d2ba79..259240d304 100644 --- a/playbooks/os-gnocchi-install.yml +++ b/playbooks/os-gnocchi-install.yml @@ -17,6 +17,8 @@ hosts: gnocchi_all user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - gnocchi pre_tasks: diff --git a/playbooks/os-heat-install.yml b/playbooks/os-heat-install.yml index b148f183de..1f10da85c7 100644 --- a/playbooks/os-heat-install.yml +++ b/playbooks/os-heat-install.yml @@ -22,6 +22,7 @@ - heat vars_files: - defaults/repo_packages/openstack_services.yml + - "defaults/{{ install_method }}_install.yml" pre_tasks: - include: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" static: no diff --git a/playbooks/os-horizon-install.yml b/playbooks/os-horizon-install.yml index 963a59af62..68e760aff6 100644 --- a/playbooks/os-horizon-install.yml +++ b/playbooks/os-horizon-install.yml @@ -18,6 +18,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - horizon pre_tasks: diff --git a/playbooks/os-ironic-install.yml b/playbooks/os-ironic-install.yml index ffcc5063ab..788487287a 100644 --- a/playbooks/os-ironic-install.yml +++ b/playbooks/os-ironic-install.yml @@ -18,6 +18,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - ironic pre_tasks: diff --git a/playbooks/os-keystone-install.yml b/playbooks/os-keystone-install.yml index 4605469f51..2a0f4f29f7 100644 --- a/playbooks/os-keystone-install.yml +++ b/playbooks/os-keystone-install.yml @@ -33,6 +33,8 @@ gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - keystone tasks: @@ -68,6 +70,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - keystone pre_tasks: @@ -155,6 +159,8 @@ gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - keystone tasks: diff --git a/playbooks/os-magnum-install.yml b/playbooks/os-magnum-install.yml index e555948c95..9f4d90d041 100644 --- a/playbooks/os-magnum-install.yml +++ b/playbooks/os-magnum-install.yml @@ -20,6 +20,8 @@ hosts: magnum_all user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - magnum pre_tasks: diff --git a/playbooks/os-molteniron-install.yml b/playbooks/os-molteniron-install.yml index 89a1619089..12d0d8d3db 100644 --- a/playbooks/os-molteniron-install.yml +++ b/playbooks/os-molteniron-install.yml @@ -17,6 +17,8 @@ hosts: molteniron_all gather_facts: "{{ osa_gather_facts | default(True) }}" user: root + vars_files: + - "defaults/{{ install_method }}_install.yml" pre_tasks: - include: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" vars: diff --git a/playbooks/os-neutron-install.yml b/playbooks/os-neutron-install.yml index 460cecf77a..399524e0a5 100644 --- a/playbooks/os-neutron-install.yml +++ b/playbooks/os-neutron-install.yml @@ -31,6 +31,8 @@ gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - neutron tasks: diff --git a/playbooks/os-nova-install.yml b/playbooks/os-nova-install.yml index f081fdb593..339e826416 100644 --- a/playbooks/os-nova-install.yml +++ b/playbooks/os-nova-install.yml @@ -18,6 +18,8 @@ gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - nova tasks: @@ -95,6 +97,8 @@ gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - nova tasks: @@ -140,6 +144,8 @@ serial: "{{ nova_serial | default('100%') }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - nova tasks: @@ -164,6 +170,8 @@ serial: "{{ nova_api_serial | default(['1', '100%']) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - nova tasks: @@ -184,6 +192,8 @@ gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - nova tasks: diff --git a/playbooks/os-octavia-install.yml b/playbooks/os-octavia-install.yml index 9189bcf20c..32a38969c0 100644 --- a/playbooks/os-octavia-install.yml +++ b/playbooks/os-octavia-install.yml @@ -18,6 +18,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - octavia pre_tasks: diff --git a/playbooks/os-rally-install.yml b/playbooks/os-rally-install.yml index 73df722ac2..ddcbb74e86 100644 --- a/playbooks/os-rally-install.yml +++ b/playbooks/os-rally-install.yml @@ -18,6 +18,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - rally pre_tasks: diff --git a/playbooks/os-sahara-install.yml b/playbooks/os-sahara-install.yml index cc1be30e48..547e0bdc5d 100644 --- a/playbooks/os-sahara-install.yml +++ b/playbooks/os-sahara-install.yml @@ -16,6 +16,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - sahara pre_tasks: diff --git a/playbooks/os-swift-install.yml b/playbooks/os-swift-install.yml index dabe931bbe..0b781267bf 100644 --- a/playbooks/os-swift-install.yml +++ b/playbooks/os-swift-install.yml @@ -17,6 +17,8 @@ hosts: swift_all:swift_remote_all gather_facts: "{{ osa_gather_facts | default(True) }}" user: root + vars_files: + - "defaults/{{ install_method }}_install.yml" pre_tasks: - include: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml" static: no diff --git a/playbooks/os-swift-sync.yml b/playbooks/os-swift-sync.yml index 7d9f7a2e4e..fe8bd06952 100644 --- a/playbooks/os-swift-sync.yml +++ b/playbooks/os-swift-sync.yml @@ -19,6 +19,8 @@ hosts: swift_all:swift_remote_all gather_facts: "{{ osa_gather_facts | default(True) }}" user: root + vars_files: + - "defaults/{{ install_method }}_install.yml" roles: - role: "os_swift" swift_do_setup: False diff --git a/playbooks/os-tacker-install.yml b/playbooks/os-tacker-install.yml index c5ae7b5f29..04f3ebd59e 100644 --- a/playbooks/os-tacker-install.yml +++ b/playbooks/os-tacker-install.yml @@ -18,6 +18,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - tacker pre_tasks: diff --git a/playbooks/os-tempest-install.yml b/playbooks/os-tempest-install.yml index ea871dc73d..1cf6ba09d7 100644 --- a/playbooks/os-tempest-install.yml +++ b/playbooks/os-tempest-install.yml @@ -17,6 +17,8 @@ hosts: utility_all[0] gather_facts: "{{ osa_gather_facts | default(True) }}" user: root + vars_files: + - "defaults/{{ install_method }}_install.yml" roles: - role: "os_tempest" - role: "system_crontab_coordination" diff --git a/playbooks/os-trove-install.yml b/playbooks/os-trove-install.yml index ffb6aa1275..ba1a7a9763 100644 --- a/playbooks/os-trove-install.yml +++ b/playbooks/os-trove-install.yml @@ -21,6 +21,8 @@ gather_facts: "{{ osa_gather_facts | default(True) }}" user: root environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - trove pre_tasks: diff --git a/playbooks/repo-build.yml b/playbooks/repo-build.yml index 483721c239..451e03e369 100644 --- a/playbooks/repo-build.yml +++ b/playbooks/repo-build.yml @@ -79,6 +79,7 @@ - role: "repo_build" vars_files: - defaults/repo_packages/openstack_services.yml + - "defaults/{{ install_method }}_install.yml" environment: "{{ deployment_environment_variables | default({}) }}" tags: - repo-build diff --git a/playbooks/repo-server.yml b/playbooks/repo-server.yml index 2e6a389c49..411e5fee25 100644 --- a/playbooks/repo-server.yml +++ b/playbooks/repo-server.yml @@ -67,6 +67,7 @@ vars_files: - defaults/repo_packages/openstack_services.yml + - "defaults/{{ install_method }}_install.yml" environment: "{{ deployment_environment_variables | default({}) }}" tags: - repo-server diff --git a/playbooks/repo-use.yml b/playbooks/repo-use.yml index 333496abd8..9e2b78dea3 100644 --- a/playbooks/repo-use.yml +++ b/playbooks/repo-use.yml @@ -21,6 +21,7 @@ hosts: "{{ openstack_host_group | default('hosts') }}:all_containers" vars_files: - defaults/repo_packages/openstack_services.yml + - "defaults/{{ install_method }}_install.yml" pre_tasks: - include: common-tasks/package-cache-proxy.yml - include: common-tasks/set-pip-vars.yml diff --git a/playbooks/setup-infrastructure.yml b/playbooks/setup-infrastructure.yml index 61035b063f..b945e6c333 100644 --- a/playbooks/setup-infrastructure.yml +++ b/playbooks/setup-infrastructure.yml @@ -15,11 +15,13 @@ - include: unbound-install.yml - include: repo-install.yml + when: install_method == "source" - include: haproxy-install.yml # TODO(evrardjp): Remove the following when repo_build is done # before lxc_container_create, and haproxy is moved with it as # second step. - include: repo-use.yml + when: install_method == "source" - include: utility-install.yml - include: memcached-install.yml - include: galera-install.yml diff --git a/playbooks/utility-install.yml b/playbooks/utility-install.yml index 8f386b8a34..715ec789fa 100644 --- a/playbooks/utility-install.yml +++ b/playbooks/utility-install.yml @@ -46,6 +46,10 @@ - openrc post_tasks: + - name: Add OpenStack client to distro packages + set_fact: + utility_distro_packages: "{{ (utility_distro_packages | default([])) + utility_distro_openstack_clients_packages }}" + when: install_method == "distro" - name: Install distro packages package: @@ -61,6 +65,7 @@ register: client_list run_once: true changed_when: false + when: install_method == "source" tags: - always - skip_ansible_lint @@ -76,6 +81,8 @@ until: install_packages is success retries: 5 delay: 2 + when: + when: install_method == "source" - name: Distribute private ssh key copy: @@ -86,5 +93,7 @@ group: root when: utility_ssh_private_key is defined environment: "{{ deployment_environment_variables | default({}) }}" + vars_files: + - "defaults/{{ install_method }}_install.yml" tags: - utility diff --git a/scripts/gate-check-commit.sh b/scripts/gate-check-commit.sh index e83164f2b9..dd2474a5cc 100755 --- a/scripts/gate-check-commit.sh +++ b/scripts/gate-check-commit.sh @@ -50,6 +50,9 @@ export SCENARIO=${1:-"aio_lxc"} # Actions available: [ 'deploy', 'upgrade' ] export ACTION=${2:-"deploy"} +# Set the installation method for the OpenStack services +export INSTALL_METHOD=${3:-"source"} + # Set the source branch for upgrade tests # Be sure to change this whenever a new stable branch # is created. The checkout must always be N-1. diff --git a/tests/bootstrap-aio.yml b/tests/bootstrap-aio.yml index c19c806446..542f3105ac 100644 --- a/tests/bootstrap-aio.yml +++ b/tests/bootstrap-aio.yml @@ -24,6 +24,7 @@ vars: ansible_python_interpreter: "/usr/bin/python" bootstrap_host_scenario: "{{ lookup('env','SCENARIO') | default('aio_lxc', true) }}" + install_method: "{{ lookup('env', 'INSTALL_METHOD') | default('source', true) }}" openstack_confd_entries: "{{ confd_overrides[bootstrap_host_scenario] }}" pip_install_upper_constraints_proto: "{{ ansible_python_version | version_compare('2.7.9', '>=') | ternary('https','http') }}" pip_install_upper_constraints: >- diff --git a/tests/roles/bootstrap-host/templates/user_variables.aio.yml.j2 b/tests/roles/bootstrap-host/templates/user_variables.aio.yml.j2 index d4eb1897cb..d4c2367bd8 100644 --- a/tests/roles/bootstrap-host/templates/user_variables.aio.yml.j2 +++ b/tests/roles/bootstrap-host/templates/user_variables.aio.yml.j2 @@ -16,6 +16,9 @@ ## General options debug: True +## Installation method for OpenStack services +install_method: "{{ lookup('env','INSTALL_METHOD') | default('source', true) }}" + ## Tempest settings tempest_public_subnet_cidr: 172.29.248.0/22 tempest_public_subnet_allocation_pools: "172.29.249.110-172.29.249.200" diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 02bbe8d8ce..d8c2e4c9e5 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -35,6 +35,7 @@ vars: action: deploy scenario: aio_lxc + install_method: source # Ensuring overrides work - job: @@ -120,6 +121,20 @@ action: deploy scenario: congress +- job: + name: openstack-ansible-deploy-aio_basekit-ubuntu-xenial + parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial + voting: true + vars: + action: deploy + scenario: aio_basekit + +- job: + name: openstack-ansible-deploy-aio_distro_basekit-ubuntu-xenial + parent: openstack-ansible-deploy-aio_basekit-ubuntu-xenial + vars: + install_method: distro + # centos - job: name: openstack-ansible-deploy-aio_lxc-centos-7 @@ -134,6 +149,12 @@ action: deploy scenario: aio_basekit +- job: + name: openstack-ansible-deploy-aio_distro_basekit-centos-7 + parent: openstack-ansible-deploy-aio_basekit-centos-7 + vars: + install_method: distro + - job: name: openstack-ansible-deploy-ceph-centos-7 parent: openstack-ansible-deploy-aio_lxc-centos-7 @@ -186,6 +207,12 @@ action: deploy scenario: aio_basekit +- job: + name: openstack-ansible-deploy-aio_distro_basekit-opensuse-423 + parent: openstack-ansible-deploy-aio_basekit-opensuse-423 + vars: + install_method: distro + - job: name: openstack-ansible-deploy-ceph-opensuse-423 parent: openstack-ansible-deploy-aio_lxc-opensuse-423 diff --git a/zuul.d/playbooks/run.yml b/zuul.d/playbooks/run.yml index ba38ceadd8..169f83f8f4 100644 --- a/zuul.d/playbooks/run.yml +++ b/zuul.d/playbooks/run.yml @@ -15,7 +15,7 @@ - name: Run gate-check-commit.sh script become: yes become_user: root - command: "scripts/gate-check-commit.sh {{ scenario }} {{ action }}" + command: "scripts/gate-check-commit.sh {{ scenario }} {{ action }} {{ install_method }}" args: chdir: "src/{{ current_test_repo }}" environment: diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index a30af84db7..1f2560f218 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -19,6 +19,11 @@ - openstack-ansible-varstest-aio_lxc-ubuntu-xenial - openstack-ansible-deploy-aio_basekit-centos-7 - openstack-ansible-deploy-aio_basekit-opensuse-423 + # NOTE(hwoarang) xenial does not currently work. It needs investigation + - openstack-ansible-deploy-aio_distro_basekit-ubuntu-xenial: + voting: false + - openstack-ansible-deploy-aio_distro_basekit-centos-7 + - openstack-ansible-deploy-aio_distro_basekit-opensuse-423 # NOTE(mhayden): Temporarily replacing suse and centos # with aio_basekit scenario. #- openstack-ansible-deploy-aio_lxc-centos-7