Merge "Add support for using distribution packages for OpenStack services"

This commit is contained in:
Zuul 2018-07-21 21:13:26 +00:00 committed by Gerrit Code Review
commit d4b7cfd6db
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