Merge "Add better support for multi-OS deployments"
This commit is contained in:
commit
ccc43e5bdb
@ -29,12 +29,26 @@ package_state: "latest"
|
|||||||
# Set "/var/log" to be a bind mount to the physical host.
|
# Set "/var/log" to be a bind mount to the physical host.
|
||||||
default_bind_mount_logs: true
|
default_bind_mount_logs: true
|
||||||
|
|
||||||
|
# Set distro variable
|
||||||
|
os_distro_version: "{{ ansible_distribution | lower }}-{{ ansible_distribution_version.split('.')[:2] | join('.') }}-{{ ansible_architecture | lower }}"
|
||||||
|
|
||||||
# Ensure that the package state matches the global setting
|
# Ensure that the package state matches the global setting
|
||||||
ceph_client_package_state: "{{ package_state }}"
|
ceph_client_package_state: "{{ package_state }}"
|
||||||
galera_client_package_state: "{{ package_state }}"
|
galera_client_package_state: "{{ package_state }}"
|
||||||
pip_install_package_state: "{{ package_state }}"
|
pip_install_package_state: "{{ package_state }}"
|
||||||
rsyslog_client_package_state: "{{ package_state }}"
|
rsyslog_client_package_state: "{{ package_state }}"
|
||||||
|
|
||||||
|
## 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 }}"
|
||||||
|
|
||||||
# These are pinned to ensure exactly the same behaviour forever!
|
# These are pinned to ensure exactly the same behaviour forever!
|
||||||
# These pins are updated through the sources-branch-updater script
|
# These pins are updated through the sources-branch-updater script
|
||||||
pip_packages:
|
pip_packages:
|
||||||
@ -43,23 +57,14 @@ pip_packages:
|
|||||||
- wheel==0.29.0
|
- wheel==0.29.0
|
||||||
|
|
||||||
pip_links:
|
pip_links:
|
||||||
- { name: "openstack_release", link: "{{ openstack_repo_url }}/os-releases/{{ openstack_release }}/" }
|
- { name: "openstack_release", link: "{{ repo_release_path }}" }
|
||||||
pip_lock_to_internal_repo: "{{ (pip_links | length) >= 1 }}"
|
pip_lock_to_internal_repo: "{{ (pip_links | length) >= 1 }}"
|
||||||
|
|
||||||
# The upper constraints to apply to all pip installations
|
# The upper constraints to apply to all pip installations
|
||||||
pip_install_upper_constraints: "{{ openstack_repo_url }}/os-releases/{{ openstack_release }}/requirements_absolute_requirements.txt"
|
pip_install_upper_constraints: "{{ repo_release_path }}/requirements_absolute_requirements.txt"
|
||||||
|
|
||||||
# The URL to retrieve the get-pip.py installation script
|
# The URL to retrieve the get-pip.py installation script
|
||||||
pip_upstream_url: "{{ (pip_offline_install | bool) | ternary('https://bootstrap.pypa.io/get-pip.py', openstack_repo_url ~ '/os-releases/' ~ openstack_release ~ '/get-pip.py') }}"
|
pip_upstream_url: "{{ (pip_offline_install | bool) | ternary('https://bootstrap.pypa.io/get-pip.py', repo_release_path ~ '/get-pip.py') }}"
|
||||||
|
|
||||||
## OpenStack source options
|
|
||||||
# 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 }}"
|
|
||||||
openstack_repo_url: "http://{{ internal_lb_vip_address }}:{{ repo_server_port }}"
|
|
||||||
openstack_repo_git_url: "git://{{ internal_lb_vip_address }}"
|
|
||||||
|
|
||||||
## kernel modules for specific group hosts
|
## kernel modules for specific group hosts
|
||||||
# :param name: name of the kernel module
|
# :param name: name of the kernel module
|
||||||
@ -117,7 +122,7 @@ service_ldap_backend_enabled: "{{ keystone_ldap is defined and keystone_ldap.Def
|
|||||||
|
|
||||||
## Base venv configuration
|
## Base venv configuration
|
||||||
venv_tag: "{{ openstack_release }}"
|
venv_tag: "{{ openstack_release }}"
|
||||||
venv_base_download_url: "{{ openstack_repo_url }}/venvs/{{ openstack_release }}/{{ ansible_distribution | lower }}"
|
venv_base_download_url: "{{ openstack_repo_url }}/venvs/{{ openstack_release }}/{{ os_distro_version }}"
|
||||||
|
|
||||||
## Aodh
|
## Aodh
|
||||||
aodh_service_region: "{{ service_region }}"
|
aodh_service_region: "{{ service_region }}"
|
||||||
|
@ -54,3 +54,7 @@ pip_lock_to_internal_repo: False
|
|||||||
#
|
#
|
||||||
repo_build_pip_no_binary:
|
repo_build_pip_no_binary:
|
||||||
- libvirt-python
|
- libvirt-python
|
||||||
|
|
||||||
|
# Set the build tag and the repo version
|
||||||
|
repo_build_release_tag: "{{ openstack_release }}"
|
||||||
|
repo_build_os_distro_version: "{{ os_distro_version }}"
|
||||||
|
@ -29,11 +29,12 @@
|
|||||||
- name: Prepare group of master repo servers
|
- name: Prepare group of master repo servers
|
||||||
local_action:
|
local_action:
|
||||||
module: "add_host"
|
module: "add_host"
|
||||||
name: "{{ groups['repo_servers_' + hostvars[item].ansible_architecture][0] }}"
|
name: "{{ groups['repo_servers_' + (hostvars[item].ansible_distribution_version.split('.')[:2] | join('.')) + hostvars[item].ansible_architecture][0] }}"
|
||||||
groups: "repo_nodes"
|
groups: "repo_nodes"
|
||||||
# Process all nodes that don't match the architecture of repo_all[0]
|
# Process all nodes that don't match the architecture of repo_all[0]
|
||||||
when:
|
when: >
|
||||||
- hostvars[item].ansible_architecture != hostvars[groups['repo_all'][0]].ansible_architecture
|
hostvars[item].ansible_architecture != hostvars[groups['repo_all'][0]].ansible_architecture or
|
||||||
|
(hostvars[item].ansible_distribution_version.split('.')[:2] | join('.')) != (hostvars[groups['repo_all'][0]].ansible_distribution_version.split('.')[:2] | join('.'))
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ groups['repo_all'][1:] }}"
|
- "{{ groups['repo_all'][1:] }}"
|
||||||
tags:
|
tags:
|
||||||
@ -123,7 +124,6 @@
|
|||||||
|
|
||||||
roles:
|
roles:
|
||||||
- role: "repo_build"
|
- role: "repo_build"
|
||||||
repo_build_release_tag: "{{ openstack_release }}"
|
|
||||||
vars_files:
|
vars_files:
|
||||||
- defaults/repo_packages/openstack_services.yml
|
- defaults/repo_packages/openstack_services.yml
|
||||||
vars:
|
vars:
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
when: ansible_pkg_mgr == 'yum'
|
when: ansible_pkg_mgr == 'yum'
|
||||||
|
|
||||||
- name: Get list of python clients
|
- name: Get list of python clients
|
||||||
shell: "curl -s {{ openstack_repo_url }}/os-releases/{{ openstack_release }}/requirements_absolute_requirements.txt | grep client | cut -d'=' -f1"
|
shell: "curl -s {{ repo_release_path }}/requirements_absolute_requirements.txt | grep client | cut -d'=' -f1"
|
||||||
register: client_list
|
register: client_list
|
||||||
run_once: true
|
run_once: true
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
Loading…
Reference in New Issue
Block a user