Merge "Add support for using distribution packages for OpenStack services"
This commit is contained in:
commit
d4b7cfd6db
@ -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…
x
Reference in New Issue
Block a user