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:
parent
1a73053ebd
commit
4603188934
@ -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:
|
||||
|
@ -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.
|
||||
|
@ -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"
|
||||
|
@ -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'] }}"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
74
playbooks/defaults/distro_install.yml
Normal file
74
playbooks/defaults/distro_install.yml
Normal 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
|
45
playbooks/defaults/source_install.yml
Normal file
45
playbooks/defaults/source_install.yml
Normal 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"
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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"
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -31,6 +31,8 @@
|
||||
gather_facts: no
|
||||
user: root
|
||||
environment: "{{ deployment_environment_variables | default({}) }}"
|
||||
vars_files:
|
||||
- "defaults/{{ install_method }}_install.yml"
|
||||
tags:
|
||||
- neutron
|
||||
tasks:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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"
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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: >-
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user