Merge "Added Openstack Adjutant role deployment"
This commit is contained in:
commit
a48a52aaef
@ -63,6 +63,11 @@
|
|||||||
src: https://opendev.org/openstack/openstack-ansible-openstack_openrc
|
src: https://opendev.org/openstack/openstack-ansible-openstack_openrc
|
||||||
version: master
|
version: master
|
||||||
trackbranch: master
|
trackbranch: master
|
||||||
|
- name: os_adjutant
|
||||||
|
scm: git
|
||||||
|
src: https://opendev.org/openstack/openstack-ansible-os_adjutant
|
||||||
|
version: master
|
||||||
|
trackbranch: master
|
||||||
- name: os_aodh
|
- name: os_aodh
|
||||||
scm: git
|
scm: git
|
||||||
src: https://opendev.org/openstack/openstack-ansible-os_aodh
|
src: https://opendev.org/openstack/openstack-ansible-os_aodh
|
||||||
|
@ -126,6 +126,8 @@ Infrastructure service roles
|
|||||||
OpenStack service roles
|
OpenStack service roles
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
- :role_docs:`os_adjutant`
|
||||||
|
|
||||||
- :role_docs:`os_aodh`
|
- :role_docs:`os_aodh`
|
||||||
|
|
||||||
- :role_docs:`os_barbican`
|
- :role_docs:`os_barbican`
|
||||||
|
@ -108,6 +108,15 @@
|
|||||||
<td>✔</td>
|
<td>✔</td>
|
||||||
<td>✔</td>
|
<td>✔</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr class="warning">
|
||||||
|
<td>os_adjutant</td>
|
||||||
|
<td>Ussuri</td>
|
||||||
|
<td>Incubated</td>
|
||||||
|
<td>✔</td>
|
||||||
|
<td>✔</td>
|
||||||
|
<td>✔</td>
|
||||||
|
<td>✔</td>
|
||||||
|
</tr>
|
||||||
<tr >
|
<tr >
|
||||||
<td>os_aodh</td>
|
<td>os_aodh</td>
|
||||||
<td>Mitaka</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
|
@ -40,16 +40,10 @@ keystone_oslomsg_rpc_password:
|
|||||||
# your user variables.
|
# your user variables.
|
||||||
#keystone_oslomsg_notify_password:
|
#keystone_oslomsg_notify_password:
|
||||||
|
|
||||||
## Ceilometer Options:
|
## Adjutant Options:
|
||||||
ceilometer_container_db_password:
|
adjutant_galera_password:
|
||||||
ceilometer_service_password:
|
adjutant_service_password:
|
||||||
ceilometer_telemetry_secret:
|
adjutant_secret_key:
|
||||||
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:
|
|
||||||
|
|
||||||
## Aodh Options:
|
## Aodh Options:
|
||||||
aodh_container_db_password:
|
aodh_container_db_password:
|
||||||
@ -61,6 +55,17 @@ aodh_oslomsg_rpc_password:
|
|||||||
# your user variables.
|
# your user variables.
|
||||||
#aodh_oslomsg_notify_password:
|
#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 Options
|
||||||
cinder_container_mysql_password:
|
cinder_container_mysql_password:
|
||||||
cinder_service_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:
|
haproxy_backend_options:
|
||||||
- "httpchk GET /healthcheck HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
|
- "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 }}"
|
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:
|
- service:
|
||||||
haproxy_service_name: aodh_api
|
haproxy_service_name: aodh_api
|
||||||
haproxy_backend_nodes: "{{ groups['aodh_api'] | default([]) }}"
|
haproxy_backend_nodes: "{{ groups['aodh_api'] | default([]) }}"
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
horizon_external_ssl: "{{ openstack_external_ssl }}"
|
horizon_external_ssl: "{{ openstack_external_ssl }}"
|
||||||
horizon_service_region: "{{ service_region }}"
|
horizon_service_region: "{{ service_region }}"
|
||||||
horizon_enable_cinder_backup: "{{ hostvars['localhost']['cinder_service_backup_program_enabled'] }}"
|
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_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_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) }}"
|
horizon_enable_ironic_ui: "{{ (groups['ironic_all'] is defined) and (groups['ironic_all'] | length > 0) }}"
|
||||||
|
@ -31,6 +31,10 @@ hosts
|
|||||||
[utility_all]
|
[utility_all]
|
||||||
|
|
||||||
## Mandatory groups for the setup-openstack playbooks
|
## Mandatory groups for the setup-openstack playbooks
|
||||||
|
[adjutant_all:children]
|
||||||
|
adjutant_api
|
||||||
|
[adjutant_api]
|
||||||
|
|
||||||
[aodh_all:children]
|
[aodh_all:children]
|
||||||
aodh_alarm_evaluator
|
aodh_alarm_evaluator
|
||||||
aodh_alarm_notifier
|
aodh_alarm_notifier
|
||||||
|
@ -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_install_branch: 0c6ba9b1ee76e5670d201bed97fa44611b93ba8b # HEAD as of 29.11.2020
|
||||||
requirements_git_track_branch: stable/victoria
|
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 service
|
||||||
aodh_git_repo: https://opendev.org/openstack/aodh
|
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-designate-install.yml
|
||||||
- import_playbook: os-gnocchi-install.yml
|
- import_playbook: os-gnocchi-install.yml
|
||||||
- import_playbook: os-swift-install.yml
|
- import_playbook: os-swift-install.yml
|
||||||
|
- import_playbook: os-adjutant-install.yml
|
||||||
- import_playbook: os-ceilometer-install.yml
|
- import_playbook: os-ceilometer-install.yml
|
||||||
- import_playbook: os-aodh-install.yml
|
- import_playbook: os-aodh-install.yml
|
||||||
- import_playbook: os-panko-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',
|
'aio1-host_containers',
|
||||||
'all',
|
'all',
|
||||||
'all_containers',
|
'all_containers',
|
||||||
|
'adjutant_all',
|
||||||
|
'adjutant_api',
|
||||||
|
'adjutant_container',
|
||||||
'aodh_alarm_evaluator',
|
'aodh_alarm_evaluator',
|
||||||
'aodh_alarm_notifier',
|
'aodh_alarm_notifier',
|
||||||
'aodh_all',
|
'aodh_all',
|
||||||
@ -426,6 +429,9 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
|
|||||||
'rabbit_mq_container',
|
'rabbit_mq_container',
|
||||||
'rabbitmq',
|
'rabbitmq',
|
||||||
'rabbitmq_all',
|
'rabbitmq_all',
|
||||||
|
'registration_all',
|
||||||
|
'registration_containers',
|
||||||
|
'registration_hosts',
|
||||||
'remote',
|
'remote',
|
||||||
'remote_containers',
|
'remote_containers',
|
||||||
'repo-infra_all',
|
'repo-infra_all',
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
- name: openstack/openstack-ansible-openstack_hosts
|
- name: openstack/openstack-ansible-openstack_hosts
|
||||||
- name: openstack/openstack-ansible-os_keystone
|
- name: openstack/openstack-ansible-os_keystone
|
||||||
- name: openstack/openstack-ansible-openstack_openrc
|
- name: openstack/openstack-ansible-openstack_openrc
|
||||||
|
- name: openstack/openstack-ansible-os_adjutant
|
||||||
- name: openstack/openstack-ansible-os_aodh
|
- name: openstack/openstack-ansible-os_aodh
|
||||||
- name: openstack/openstack-ansible-os_barbican
|
- name: openstack/openstack-ansible-os_barbican
|
||||||
- name: openstack/openstack-ansible-os_blazar
|
- name: openstack/openstack-ansible-os_blazar
|
||||||
@ -79,6 +80,7 @@
|
|||||||
- name: openstack/ansible-role-uwsgi
|
- name: openstack/ansible-role-uwsgi
|
||||||
# OpenStack service repos - listed here to make cached repos available in CI
|
# OpenStack service repos - listed here to make cached repos available in CI
|
||||||
- name: openstack/requirements
|
- name: openstack/requirements
|
||||||
|
- name: openstack/adjutant
|
||||||
- name: openstack/aodh
|
- name: openstack/aodh
|
||||||
- name: openstack/barbican
|
- name: openstack/barbican
|
||||||
- name: openstack/ceilometer
|
- name: openstack/ceilometer
|
||||||
|
Loading…
Reference in New Issue
Block a user