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
This commit is contained in:
Markos Chandras 2018-07-03 07:04:36 +01:00
parent 1a73053ebd
commit 4603188934
61 changed files with 315 additions and 46 deletions

View File

@ -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:

View File

@ -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.

View File

@ -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"

View File

@ -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'] }}"

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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:

View File

@ -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"

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -31,6 +31,8 @@
gather_facts: no
user: root
environment: "{{ deployment_environment_variables | default({}) }}"
vars_files:
- "defaults/{{ install_method }}_install.yml"
tags:
- neutron
tasks:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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"

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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: >-

View File

@ -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"

View File

@ -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

View File

@ -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:

View File

@ -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