Added Openstack Adjutant role deployment
This commit adds experimental deployment of Adjutant role. Depends-On: https://review.opendev.org/756313 Change-Id: I7203536111eb2120fa74d639ad9fc7b783d3cca7
This commit is contained in:
parent
65ace792e7
commit
9949f3fb4a
@ -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
|
||||
|
@ -126,6 +126,8 @@ Infrastructure service roles
|
||||
OpenStack service roles
|
||||
-----------------------
|
||||
|
||||
- :role_docs:`os_adjutant`
|
||||
|
||||
- :role_docs:`os_aodh`
|
||||
|
||||
- :role_docs:`os_barbican`
|
||||
|
@ -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>
|
||||
|
3
etc/openstack_deploy/conf.d/adjutant.yml.aio
Normal file
3
etc/openstack_deploy/conf.d/adjutant.yml.aio
Normal file
@ -0,0 +1,3 @@
|
||||
registration_hosts:
|
||||
aio1:
|
||||
ip: 172.29.236.100
|
8
etc/openstack_deploy/conf.d/adjutant.yml.example
Normal file
8
etc/openstack_deploy/conf.d/adjutant.yml.example
Normal 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
|
@ -39,16 +39,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:
|
||||
@ -60,6 +54,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:
|
||||
|
34
inventory/env.d/adjutant.yml
Normal file
34
inventory/env.d/adjutant.yml
Normal 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
|
@ -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([]) }}"
|
||||
|
@ -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) }}"
|
||||
|
@ -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
|
||||
|
@ -34,6 +34,11 @@ requirements_git_repo: https://opendev.org/openstack/requirements
|
||||
requirements_git_install_branch: 679941a9f4f9d2053d830ea44c58baadd03b3a11 # HEAD as of 19.10.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
|
||||
|
63
playbooks/os-adjutant-install.yml
Normal file
63
playbooks/os-adjutant-install.yml
Normal 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"
|
@ -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
|
||||
|
6
releasenotes/notes/os_adjutant-ec59fc6a996e1fbe.yaml
Normal file
6
releasenotes/notes/os_adjutant-ec59fc6a996e1fbe.yaml
Normal 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``.
|
@ -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',
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user