Merge "Added Openstack Adjutant role deployment"

This commit is contained in:
Zuul 2020-12-01 00:58:11 +00:00 committed by Gerrit Code Review
commit a48a52aaef
16 changed files with 175 additions and 10 deletions

View File

@ -63,6 +63,11 @@
src: https://opendev.org/openstack/openstack-ansible-openstack_openrc
version: master
trackbranch: master
- name: os_adjutant
scm: git
src: https://opendev.org/openstack/openstack-ansible-os_adjutant
version: master
trackbranch: master
- name: os_aodh
scm: git
src: https://opendev.org/openstack/openstack-ansible-os_aodh

View File

@ -126,6 +126,8 @@ Infrastructure service roles
OpenStack service roles
-----------------------
- :role_docs:`os_adjutant`
- :role_docs:`os_aodh`
- :role_docs:`os_barbican`

View File

@ -108,6 +108,15 @@
<td></td>
<td></td>
</tr>
<tr class="warning">
<td>os_adjutant</td>
<td>Ussuri</td>
<td>Incubated</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr >
<td>os_aodh</td>
<td>Mitaka</td>

View File

@ -0,0 +1,3 @@
registration_hosts:
aio1:
ip: 172.29.236.100

View File

@ -0,0 +1,8 @@
# The infra nodes that will be running the adjutant services
registration_hosts:
infra1:
ip: 172.20.236.111
infra2:
ip: 172.20.236.112
infra3:
ip: 172.20.236.113

View File

@ -40,16 +40,10 @@ keystone_oslomsg_rpc_password:
# your user variables.
#keystone_oslomsg_notify_password:
## Ceilometer Options:
ceilometer_container_db_password:
ceilometer_service_password:
ceilometer_telemetry_secret:
ceilometer_oslomsg_rpc_password:
#NOTE: Please uncomment those
# if you want to split rpc and notify users
# Please also wire the appropriate userid in
# your user variables.
#ceilometer_oslomsg_notify_password:
## Adjutant Options:
adjutant_galera_password:
adjutant_service_password:
adjutant_secret_key:
## Aodh Options:
aodh_container_db_password:
@ -61,6 +55,17 @@ aodh_oslomsg_rpc_password:
# your user variables.
#aodh_oslomsg_notify_password:
## Ceilometer Options:
ceilometer_container_db_password:
ceilometer_service_password:
ceilometer_telemetry_secret:
ceilometer_oslomsg_rpc_password:
#NOTE: Please uncomment those
# if you want to split rpc and notify users
# Please also wire the appropriate userid in
# your user variables.
#ceilometer_oslomsg_notify_password:
## Cinder Options
cinder_container_mysql_password:
cinder_service_password:

View File

@ -0,0 +1,34 @@
---
# Copyright 2020, City Network International AB.
#
# 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.
component_skel:
adjutant_api:
belongs_to:
- adjutant_all
container_skel:
adjutant_container:
belongs_to:
- registration_containers
contains:
- adjutant_api
physical_skel:
registration_containers:
belongs_to:
- all_containers
registration_hosts:
belongs_to:
- hosts

View File

@ -246,6 +246,17 @@ haproxy_default_services:
haproxy_backend_options:
- "httpchk GET /healthcheck HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
haproxy_service_enabled: "{{ groups['swift_proxy'] is defined and groups['swift_proxy'] | length > 0 }}"
- service:
haproxy_service_name: adjutant_api
haproxy_backend_nodes: "{{ groups['adjutant_api'] | default([]) }}"
haproxy_ssl: "{{ haproxy_ssl }}"
haproxy_ssl_all_vips: "{{ haproxy_ssl_all_vips }}"
haproxy_port: 5050
haproxy_balance_type: http
haproxy_balance_alg: source
haproxy_backend_options:
- "httpchk GET / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
haproxy_service_enabled: "{{ groups['adjutant_api'] is defined and groups['adjutant_api'] | length > 0 }}"
- service:
haproxy_service_name: aodh_api
haproxy_backend_nodes: "{{ groups['aodh_api'] | default([]) }}"

View File

@ -16,6 +16,7 @@
horizon_external_ssl: "{{ openstack_external_ssl }}"
horizon_service_region: "{{ service_region }}"
horizon_enable_cinder_backup: "{{ hostvars['localhost']['cinder_service_backup_program_enabled'] }}"
horizon_enable_adjutant_ui: "{{ (groups['adjutant_all'] is defined) and (groups['adjutant_all'] | length > 0) }}"
horizon_enable_blazar_ui: "{{ (groups['blazar_all'] is defined) and (groups['blazar_all'] | length > 0) }}"
horizon_enable_heat_ui: "{{ (groups['heat_all'] is defined) and (groups['heat_all'] | length > 0) }}"
horizon_enable_ironic_ui: "{{ (groups['ironic_all'] is defined) and (groups['ironic_all'] | length > 0) }}"

View File

@ -31,6 +31,10 @@ hosts
[utility_all]
## Mandatory groups for the setup-openstack playbooks
[adjutant_all:children]
adjutant_api
[adjutant_api]
[aodh_all:children]
aodh_alarm_evaluator
aodh_alarm_notifier

View File

@ -34,6 +34,11 @@ requirements_git_repo: https://opendev.org/openstack/requirements
requirements_git_install_branch: 0c6ba9b1ee76e5670d201bed97fa44611b93ba8b # HEAD as of 29.11.2020
requirements_git_track_branch: stable/victoria
## Adjutant service
adjutant_git_repo: https://opendev.org/openstack/adjutant
adjutant_git_install_branch: 43e0c625e39f826b578e3e5c25519606d9b72808 # HEAD as of 06.10.2020
adjutant_git_project_group: adjutant_all
adjutant_git_track_branch: stable/victoria
## Aodh service
aodh_git_repo: https://opendev.org/openstack/aodh

View File

@ -0,0 +1,63 @@
---
# Copyright 2020, City Network International AB
#
# 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.
- name: Gather adjutant facts
hosts: adjutant_all
gather_facts: "{{ osa_gather_facts | default(True) }}"
tags:
- always
- name: Install adjutant services
hosts: adjutant_all
gather_facts: false
serial: "{{ adjutant_api_serial | default(['1','100%']) }}"
user: root
environment: "{{ deployment_environment_variables | default({}) }}"
vars_files:
- "defaults/repo_packages/openstack_services.yml"
- "defaults/{{ install_method }}_install.yml"
tags:
- adjutant
pre_tasks:
# In order to ensure that any container, software or
# config file changes which causes a container/service
# restart do not cause an unexpected outage, we drain
# the load balancer back end for this container.
- include_tasks: common-tasks/haproxy-endpoint-manage.yml
vars:
haproxy_backend: adjutant_api-back
haproxy_state: disabled
when:
- "'adjutant_api' in group_names"
- "groups['adjutant_api'] | length > 1"
- include_tasks: common-tasks/unbound-clients.yml
when:
- hostvars['localhost']['resolvconf_enabled'] | bool
roles:
- role: "os_adjutant"
post_tasks:
# Now that container changes are done, we can set
# the load balancer back end for this container
# to available again.
- include_tasks: common-tasks/haproxy-endpoint-manage.yml
vars:
haproxy_backend: adjutant_api-back
haproxy_state: enabled
when:
- "'adjutant_api' in group_names"
- "groups['adjutant_api'] | length > 1"

View File

@ -25,6 +25,7 @@
- import_playbook: os-designate-install.yml
- import_playbook: os-gnocchi-install.yml
- import_playbook: os-swift-install.yml
- import_playbook: os-adjutant-install.yml
- import_playbook: os-ceilometer-install.yml
- import_playbook: os-aodh-install.yml
- import_playbook: os-panko-install.yml

View File

@ -0,0 +1,6 @@
---
features:
- |
Experimental support has been added to allow the deployment of the
OpenStack Adjutant service when hosts are present in the host group
``registration_hosts``.

View File

@ -136,6 +136,9 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
'aio1-host_containers',
'all',
'all_containers',
'adjutant_all',
'adjutant_api',
'adjutant_container',
'aodh_alarm_evaluator',
'aodh_alarm_notifier',
'aodh_all',
@ -426,6 +429,9 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
'rabbit_mq_container',
'rabbitmq',
'rabbitmq_all',
'registration_all',
'registration_containers',
'registration_hosts',
'remote',
'remote_containers',
'repo-infra_all',

View File

@ -36,6 +36,7 @@
- name: openstack/openstack-ansible-openstack_hosts
- name: openstack/openstack-ansible-os_keystone
- name: openstack/openstack-ansible-openstack_openrc
- name: openstack/openstack-ansible-os_adjutant
- name: openstack/openstack-ansible-os_aodh
- name: openstack/openstack-ansible-os_barbican
- name: openstack/openstack-ansible-os_blazar
@ -79,6 +80,7 @@
- name: openstack/ansible-role-uwsgi
# OpenStack service repos - listed here to make cached repos available in CI
- name: openstack/requirements
- name: openstack/adjutant
- name: openstack/aodh
- name: openstack/barbican
- name: openstack/ceilometer