Added senlin-conductor and senlin-health-manager
Depends-On: https://review.opendev.org/692948/ Depends-On: https://review.opendev.org/692691/ Change-Id: I07827b896d36c3723697540fcff164224f6729af
This commit is contained in:
parent
baef98a232
commit
619ccf1242
@ -630,9 +630,15 @@ watcher
|
||||
[senlin-api:children]
|
||||
senlin
|
||||
|
||||
[senlin-conductor:children]
|
||||
senlin
|
||||
|
||||
[senlin-engine:children]
|
||||
senlin
|
||||
|
||||
[senlin-health-manager:children]
|
||||
senlin
|
||||
|
||||
# Searchlight
|
||||
[searchlight-api:children]
|
||||
searchlight
|
||||
|
@ -649,9 +649,15 @@ watcher
|
||||
[senlin-api:children]
|
||||
senlin
|
||||
|
||||
[senlin-conductor:children]
|
||||
senlin
|
||||
|
||||
[senlin-engine:children]
|
||||
senlin
|
||||
|
||||
[senlin-health-manager:children]
|
||||
senlin
|
||||
|
||||
# Searchlight
|
||||
[searchlight-api:children]
|
||||
searchlight
|
||||
|
@ -21,7 +21,7 @@
|
||||
rewriterule18 programname ^(trove-api|trove-conductor|trove-manage|trove-taskmanager)$ openstack_python
|
||||
rewriterule19 programname ^(congress-server)$ openstack_python
|
||||
rewriterule20 programname ^(murano-api|murano-engine)$ openstack_python
|
||||
rewriterule21 programname ^(senlin-api|senlin-engine)$ openstack_python
|
||||
rewriterule21 programname ^(senlin-api|senlin-conductor|senlin-engine|senlin-health-manager)$ openstack_python
|
||||
rewriterule22 programname ^(watcher-api|watcher-applier|watcher-db-manage|watcher-decision-engine)$ openstack_python
|
||||
rewriterule23 programname ^(freezer-api|freezer-api_access|freezer-manage)$ openstack_python
|
||||
rewriterule24 programname ^(octavia-api|octavia-health-manager|octavia-housekeeping|octavia-worker)$ openstack_python
|
||||
|
@ -108,7 +108,7 @@
|
||||
</rule>
|
||||
<rule>
|
||||
key programname
|
||||
pattern ^(senlin-api|senlin-engine)$
|
||||
pattern ^(senlin-api|senlin-conductor|senlin-engine|senlin-health-manager)$
|
||||
tag openstack_python
|
||||
</rule>
|
||||
<rule>
|
||||
|
@ -22,6 +22,13 @@ senlin_services:
|
||||
external: true
|
||||
port: "{{ senlin_api_port }}"
|
||||
listen_port: "{{ senlin_api_listen_port }}"
|
||||
senlin-conductor:
|
||||
container_name: senlin_conductor
|
||||
group: senlin-conductor
|
||||
enabled: true
|
||||
image: "{{ senlin_conductor_image_full }}"
|
||||
volumes: "{{ senlin_conductor_default_volumes + senlin_conductor_extra_volumes }}"
|
||||
dimensions: "{{ senlin_conductor_dimensions }}"
|
||||
senlin-engine:
|
||||
container_name: senlin_engine
|
||||
group: senlin-engine
|
||||
@ -29,6 +36,13 @@ senlin_services:
|
||||
image: "{{ senlin_engine_image_full }}"
|
||||
volumes: "{{ senlin_engine_default_volumes + senlin_engine_extra_volumes }}"
|
||||
dimensions: "{{ senlin_engine_dimensions }}"
|
||||
senlin-health-manager:
|
||||
container_name: senlin_health_manager
|
||||
group: senlin-health-manager
|
||||
enabled: true
|
||||
image: "{{ senlin_health_manager_image_full }}"
|
||||
volumes: "{{ senlin_health_manager_default_volumes + senlin_health_manager_extra_volumes }}"
|
||||
dimensions: "{{ senlin_health_manager_dimensions }}"
|
||||
|
||||
####################
|
||||
# Database
|
||||
@ -44,31 +58,53 @@ senlin_database_address: "{{ database_address | put_address_in_context('url') }}
|
||||
senlin_install_type: "{{ kolla_install_type }}"
|
||||
senlin_tag: "{{ openstack_release }}"
|
||||
|
||||
senlin_conductor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ senlin_install_type }}-senlin-conductor"
|
||||
senlin_conductor_tag: "{{ senlin_tag }}"
|
||||
senlin_conductor_image_full: "{{ senlin_conductor_image }}:{{ senlin_conductor_tag }}"
|
||||
|
||||
senlin_engine_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ senlin_install_type }}-senlin-engine"
|
||||
senlin_engine_tag: "{{ senlin_tag }}"
|
||||
senlin_engine_image_full: "{{ senlin_engine_image }}:{{ senlin_engine_tag }}"
|
||||
|
||||
senlin_health_manager_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ senlin_install_type }}-senlin-health-manager"
|
||||
senlin_health_manager_tag: "{{ senlin_tag }}"
|
||||
senlin_health_manager_image_full: "{{ senlin_health_manager_image }}:{{ senlin_health_manager_tag }}"
|
||||
|
||||
senlin_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ senlin_install_type }}-senlin-api"
|
||||
senlin_api_tag: "{{ senlin_tag }}"
|
||||
senlin_api_image_full: "{{ senlin_api_image }}:{{ senlin_api_tag }}"
|
||||
|
||||
senlin_api_dimensions: "{{ default_container_dimensions }}"
|
||||
senlin_conductor_dimensions: "{{ default_container_dimensions }}"
|
||||
senlin_engine_dimensions: "{{ default_container_dimensions }}"
|
||||
senlin_health_manager_dimensions: "{{ default_container_dimensions }}"
|
||||
|
||||
senlin_api_default_volumes:
|
||||
- "{{ node_config_directory }}/senlin-api/:{{ container_config_directory }}/:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "kolla_logs:/var/log/kolla/"
|
||||
- "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python2.7/site-packages/senlin' if senlin_dev_mode | bool else '' }}"
|
||||
senlin_conductor_default_volumes:
|
||||
- "{{ node_config_directory }}/senlin-conductor/:{{ container_config_directory }}/:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "kolla_logs:/var/log/kolla/"
|
||||
- "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python2.7/site-packages/senlin' if senlin_dev_mode | bool else '' }}"
|
||||
senlin_engine_default_volumes:
|
||||
- "{{ node_config_directory }}/senlin-engine/:{{ container_config_directory }}/:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "kolla_logs:/var/log/kolla/"
|
||||
- "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python2.7/site-packages/senlin' if senlin_dev_mode | bool else '' }}"
|
||||
senlin_health_manager_default_volumes:
|
||||
- "{{ node_config_directory }}/senlin-health-manager/:{{ container_config_directory }}/:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "kolla_logs:/var/log/kolla/"
|
||||
- "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python2.7/site-packages/senlin' if senlin_dev_mode | bool else '' }}"
|
||||
|
||||
senlin_extra_volumes: "{{ default_extra_volumes }}"
|
||||
senlin_api_extra_volumes: "{{ senlin_extra_volumes }}"
|
||||
senlin_conductor_extra_volumes: "{{ senlin_extra_volumes }}"
|
||||
senlin_engine_extra_volumes: "{{ senlin_extra_volumes }}"
|
||||
senlin_health_manager_extra_volumes: "{{ senlin_extra_volumes }}"
|
||||
|
||||
####################
|
||||
# OpenStack
|
||||
|
@ -14,6 +14,21 @@
|
||||
when:
|
||||
- kolla_action != "config"
|
||||
|
||||
- name: Restart senlin-conductor container
|
||||
vars:
|
||||
service_name: "senlin-conductor"
|
||||
service: "{{ senlin_services[service_name] }}"
|
||||
become: true
|
||||
kolla_docker:
|
||||
action: "recreate_or_restart_container"
|
||||
common_options: "{{ docker_common_options }}"
|
||||
name: "{{ service.container_name }}"
|
||||
image: "{{ service.image }}"
|
||||
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
|
||||
dimensions: "{{ service.dimensions }}"
|
||||
when:
|
||||
- kolla_action != "config"
|
||||
|
||||
- name: Restart senlin-engine container
|
||||
vars:
|
||||
service_name: "senlin-engine"
|
||||
@ -28,3 +43,18 @@
|
||||
dimensions: "{{ service.dimensions }}"
|
||||
when:
|
||||
- kolla_action != "config"
|
||||
|
||||
- name: Restart senlin-health-manager container
|
||||
vars:
|
||||
service_name: "senlin-health-manager"
|
||||
service: "{{ senlin_services[service_name] }}"
|
||||
become: true
|
||||
kolla_docker:
|
||||
action: "recreate_or_restart_container"
|
||||
common_options: "{{ docker_common_options }}"
|
||||
name: "{{ service.container_name }}"
|
||||
image: "{{ service.image }}"
|
||||
volumes: "{{ service.volumes|reject('equalto', '')|list }}"
|
||||
dimensions: "{{ service.dimensions }}"
|
||||
when:
|
||||
- kolla_action != "config"
|
||||
|
@ -4,7 +4,9 @@
|
||||
|
||||
- include_tasks: config.yml
|
||||
when: inventory_hostname in groups['senlin-api'] or
|
||||
inventory_hostname in groups['senlin-engine']
|
||||
inventory_hostname in groups['senlin-conductor'] or
|
||||
inventory_hostname in groups['senlin-engine'] or
|
||||
inventory_hostname in groups['senlin-health-manager']
|
||||
|
||||
- include_tasks: clone.yml
|
||||
when: senlin_dev_mode | bool
|
||||
|
24
ansible/roles/senlin/templates/senlin-conductor.json.j2
Normal file
24
ansible/roles/senlin/templates/senlin-conductor.json.j2
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"command": "senlin-conductor --config-file /etc/senlin/senlin.conf",
|
||||
"config_files": [
|
||||
{
|
||||
"source": "{{ container_config_directory }}/senlin.conf",
|
||||
"dest": "/etc/senlin/senlin.conf",
|
||||
"owner": "senlin",
|
||||
"perm": "0600"
|
||||
}{% if senlin_policy_file is defined %},
|
||||
{
|
||||
"source": "{{ container_config_directory }}/{{ senlin_policy_file }}",
|
||||
"dest": "/etc/senlin/{{ senlin_policy_file }}",
|
||||
"owner": "senlin",
|
||||
"perm": "0600"
|
||||
}{% endif %}
|
||||
],
|
||||
"permissions": [
|
||||
{
|
||||
"path": "/var/log/kolla/senlin",
|
||||
"owner": "senlin:senlin",
|
||||
"recurse": true
|
||||
}
|
||||
]
|
||||
}
|
24
ansible/roles/senlin/templates/senlin-health-manager.json.j2
Normal file
24
ansible/roles/senlin/templates/senlin-health-manager.json.j2
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
"command": "senlin-health-manager --config-file /etc/senlin/senlin.conf",
|
||||
"config_files": [
|
||||
{
|
||||
"source": "{{ container_config_directory }}/senlin.conf",
|
||||
"dest": "/etc/senlin/senlin.conf",
|
||||
"owner": "senlin",
|
||||
"perm": "0600"
|
||||
}{% if senlin_policy_file is defined %},
|
||||
{
|
||||
"source": "{{ container_config_directory }}/{{ senlin_policy_file }}",
|
||||
"dest": "/etc/senlin/{{ senlin_policy_file }}",
|
||||
"owner": "senlin",
|
||||
"perm": "0600"
|
||||
}{% endif %}
|
||||
],
|
||||
"permissions": [
|
||||
{
|
||||
"path": "/var/log/kolla/senlin",
|
||||
"owner": "senlin:senlin",
|
||||
"recurse": true
|
||||
}
|
||||
]
|
||||
}
|
@ -3,10 +3,6 @@ debug = {{ senlin_logging_debug }}
|
||||
|
||||
log_dir = /var/log/kolla/senlin
|
||||
|
||||
{% if service_name == 'senlin-engine' %}
|
||||
num_engine_workers = {{ openstack_service_workers }}
|
||||
{% endif %}
|
||||
|
||||
transport_url = {{ rpc_transport_url }}
|
||||
|
||||
{% if service_name == 'senlin-api' %}
|
||||
@ -24,10 +20,25 @@ service_project_name = service
|
||||
service_user_domain = default
|
||||
service_project_domain = default
|
||||
|
||||
{% if service_name == 'senlin-conductor' %}
|
||||
[conductor]
|
||||
workers = {{ openstack_service_workers }}
|
||||
{% endif %}
|
||||
|
||||
[database]
|
||||
connection = mysql+pymysql://{{ senlin_database_user }}:{{ senlin_database_password }}@{{ senlin_database_address }}/{{ senlin_database_name }}
|
||||
max_retries = -1
|
||||
|
||||
{% if service_name == 'senlin-engine' %}
|
||||
[engine]
|
||||
workers = {{ openstack_service_workers }}
|
||||
{% endif %}
|
||||
|
||||
{% if service_name == 'senlin-health-manager' %}
|
||||
[health_manager]
|
||||
workers = {{ openstack_service_workers }}
|
||||
{% endif %}
|
||||
|
||||
[keystone_authtoken]
|
||||
www_authenticate_uri = {{ keystone_internal_url }}
|
||||
auth_url = {{ keystone_admin_url }}
|
||||
|
@ -1128,7 +1128,9 @@
|
||||
gather_facts: false
|
||||
hosts:
|
||||
- senlin-api
|
||||
- senlin-conductor
|
||||
- senlin-engine
|
||||
- senlin-health-manager
|
||||
- '&enable_senlin_True'
|
||||
serial: '{{ kolla_serial|default("0") }}'
|
||||
roles:
|
||||
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Add support for two new Senlin services; ``senlin-conductor`` and
|
||||
``senlin-health-manager``. Both of these services are required
|
||||
for Senlin to be fully functional starting with the Ussuri release.
|
@ -598,9 +598,15 @@ watcher
|
||||
[senlin-api:children]
|
||||
senlin
|
||||
|
||||
[senlin-conductor:children]
|
||||
senlin
|
||||
|
||||
[senlin-engine:children]
|
||||
senlin
|
||||
|
||||
[senlin-health-manager:children]
|
||||
senlin
|
||||
|
||||
# Searchlight
|
||||
[searchlight-api:children]
|
||||
searchlight
|
||||
|
Loading…
Reference in New Issue
Block a user