Merge "Added senlin-conductor and senlin-health-manager"
This commit is contained in:
commit
d7c297ed59
@ -634,9 +634,15 @@ watcher
|
|||||||
[senlin-api:children]
|
[senlin-api:children]
|
||||||
senlin
|
senlin
|
||||||
|
|
||||||
|
[senlin-conductor:children]
|
||||||
|
senlin
|
||||||
|
|
||||||
[senlin-engine:children]
|
[senlin-engine:children]
|
||||||
senlin
|
senlin
|
||||||
|
|
||||||
|
[senlin-health-manager:children]
|
||||||
|
senlin
|
||||||
|
|
||||||
# Searchlight
|
# Searchlight
|
||||||
[searchlight-api:children]
|
[searchlight-api:children]
|
||||||
searchlight
|
searchlight
|
||||||
|
@ -653,9 +653,15 @@ watcher
|
|||||||
[senlin-api:children]
|
[senlin-api:children]
|
||||||
senlin
|
senlin
|
||||||
|
|
||||||
|
[senlin-conductor:children]
|
||||||
|
senlin
|
||||||
|
|
||||||
[senlin-engine:children]
|
[senlin-engine:children]
|
||||||
senlin
|
senlin
|
||||||
|
|
||||||
|
[senlin-health-manager:children]
|
||||||
|
senlin
|
||||||
|
|
||||||
# Searchlight
|
# Searchlight
|
||||||
[searchlight-api:children]
|
[searchlight-api:children]
|
||||||
searchlight
|
searchlight
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
rewriterule18 programname ^(trove-api|trove-conductor|trove-manage|trove-taskmanager)$ openstack_python
|
rewriterule18 programname ^(trove-api|trove-conductor|trove-manage|trove-taskmanager)$ openstack_python
|
||||||
rewriterule19 programname ^(congress-server)$ openstack_python
|
rewriterule19 programname ^(congress-server)$ openstack_python
|
||||||
rewriterule20 programname ^(murano-api|murano-engine)$ 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
|
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
|
rewriterule23 programname ^(freezer-api|freezer-api_access|freezer-manage)$ openstack_python
|
||||||
rewriterule24 programname ^(octavia-api|octavia-health-manager|octavia-housekeeping|octavia-worker)$ openstack_python
|
rewriterule24 programname ^(octavia-api|octavia-health-manager|octavia-housekeeping|octavia-worker)$ openstack_python
|
||||||
|
@ -108,7 +108,7 @@
|
|||||||
</rule>
|
</rule>
|
||||||
<rule>
|
<rule>
|
||||||
key programname
|
key programname
|
||||||
pattern ^(senlin-api|senlin-engine)$
|
pattern ^(senlin-api|senlin-conductor|senlin-engine|senlin-health-manager)$
|
||||||
tag openstack_python
|
tag openstack_python
|
||||||
</rule>
|
</rule>
|
||||||
<rule>
|
<rule>
|
||||||
|
@ -22,6 +22,13 @@ senlin_services:
|
|||||||
external: true
|
external: true
|
||||||
port: "{{ senlin_api_port }}"
|
port: "{{ senlin_api_port }}"
|
||||||
listen_port: "{{ senlin_api_listen_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:
|
senlin-engine:
|
||||||
container_name: senlin_engine
|
container_name: senlin_engine
|
||||||
group: senlin-engine
|
group: senlin-engine
|
||||||
@ -29,6 +36,13 @@ senlin_services:
|
|||||||
image: "{{ senlin_engine_image_full }}"
|
image: "{{ senlin_engine_image_full }}"
|
||||||
volumes: "{{ senlin_engine_default_volumes + senlin_engine_extra_volumes }}"
|
volumes: "{{ senlin_engine_default_volumes + senlin_engine_extra_volumes }}"
|
||||||
dimensions: "{{ senlin_engine_dimensions }}"
|
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
|
# Database
|
||||||
@ -44,31 +58,53 @@ senlin_database_address: "{{ database_address | put_address_in_context('url') }}
|
|||||||
senlin_install_type: "{{ kolla_install_type }}"
|
senlin_install_type: "{{ kolla_install_type }}"
|
||||||
senlin_tag: "{{ openstack_release }}"
|
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_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ senlin_install_type }}-senlin-engine"
|
||||||
senlin_engine_tag: "{{ senlin_tag }}"
|
senlin_engine_tag: "{{ senlin_tag }}"
|
||||||
senlin_engine_image_full: "{{ senlin_engine_image }}:{{ senlin_engine_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_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ senlin_install_type }}-senlin-api"
|
||||||
senlin_api_tag: "{{ senlin_tag }}"
|
senlin_api_tag: "{{ senlin_tag }}"
|
||||||
senlin_api_image_full: "{{ senlin_api_image }}:{{ senlin_api_tag }}"
|
senlin_api_image_full: "{{ senlin_api_image }}:{{ senlin_api_tag }}"
|
||||||
|
|
||||||
senlin_api_dimensions: "{{ default_container_dimensions }}"
|
senlin_api_dimensions: "{{ default_container_dimensions }}"
|
||||||
|
senlin_conductor_dimensions: "{{ default_container_dimensions }}"
|
||||||
senlin_engine_dimensions: "{{ default_container_dimensions }}"
|
senlin_engine_dimensions: "{{ default_container_dimensions }}"
|
||||||
|
senlin_health_manager_dimensions: "{{ default_container_dimensions }}"
|
||||||
|
|
||||||
senlin_api_default_volumes:
|
senlin_api_default_volumes:
|
||||||
- "{{ node_config_directory }}/senlin-api/:{{ container_config_directory }}/:ro"
|
- "{{ node_config_directory }}/senlin-api/:{{ container_config_directory }}/:ro"
|
||||||
- "/etc/localtime:/etc/localtime:ro"
|
- "/etc/localtime:/etc/localtime:ro"
|
||||||
- "kolla_logs:/var/log/kolla/"
|
- "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 '' }}"
|
- "{{ 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:
|
senlin_engine_default_volumes:
|
||||||
- "{{ node_config_directory }}/senlin-engine/:{{ container_config_directory }}/:ro"
|
- "{{ node_config_directory }}/senlin-engine/:{{ container_config_directory }}/:ro"
|
||||||
- "/etc/localtime:/etc/localtime:ro"
|
- "/etc/localtime:/etc/localtime:ro"
|
||||||
- "kolla_logs:/var/log/kolla/"
|
- "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 '' }}"
|
- "{{ 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_extra_volumes: "{{ default_extra_volumes }}"
|
||||||
senlin_api_extra_volumes: "{{ senlin_extra_volumes }}"
|
senlin_api_extra_volumes: "{{ senlin_extra_volumes }}"
|
||||||
|
senlin_conductor_extra_volumes: "{{ senlin_extra_volumes }}"
|
||||||
senlin_engine_extra_volumes: "{{ senlin_extra_volumes }}"
|
senlin_engine_extra_volumes: "{{ senlin_extra_volumes }}"
|
||||||
|
senlin_health_manager_extra_volumes: "{{ senlin_extra_volumes }}"
|
||||||
|
|
||||||
####################
|
####################
|
||||||
# OpenStack
|
# OpenStack
|
||||||
|
@ -14,6 +14,21 @@
|
|||||||
when:
|
when:
|
||||||
- kolla_action != "config"
|
- 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
|
- name: Restart senlin-engine container
|
||||||
vars:
|
vars:
|
||||||
service_name: "senlin-engine"
|
service_name: "senlin-engine"
|
||||||
@ -28,3 +43,18 @@
|
|||||||
dimensions: "{{ service.dimensions }}"
|
dimensions: "{{ service.dimensions }}"
|
||||||
when:
|
when:
|
||||||
- kolla_action != "config"
|
- 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
|
- include_tasks: config.yml
|
||||||
when: inventory_hostname in groups['senlin-api'] or
|
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
|
- include_tasks: clone.yml
|
||||||
when: senlin_dev_mode | bool
|
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
|
log_dir = /var/log/kolla/senlin
|
||||||
|
|
||||||
{% if service_name == 'senlin-engine' %}
|
|
||||||
num_engine_workers = {{ openstack_service_workers }}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
transport_url = {{ rpc_transport_url }}
|
transport_url = {{ rpc_transport_url }}
|
||||||
|
|
||||||
{% if service_name == 'senlin-api' %}
|
{% if service_name == 'senlin-api' %}
|
||||||
@ -24,10 +20,25 @@ service_project_name = service
|
|||||||
service_user_domain = default
|
service_user_domain = default
|
||||||
service_project_domain = default
|
service_project_domain = default
|
||||||
|
|
||||||
|
{% if service_name == 'senlin-conductor' %}
|
||||||
|
[conductor]
|
||||||
|
workers = {{ openstack_service_workers }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
[database]
|
[database]
|
||||||
connection = mysql+pymysql://{{ senlin_database_user }}:{{ senlin_database_password }}@{{ senlin_database_address }}/{{ senlin_database_name }}
|
connection = mysql+pymysql://{{ senlin_database_user }}:{{ senlin_database_password }}@{{ senlin_database_address }}/{{ senlin_database_name }}
|
||||||
max_retries = -1
|
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]
|
[keystone_authtoken]
|
||||||
www_authenticate_uri = {{ keystone_internal_url }}
|
www_authenticate_uri = {{ keystone_internal_url }}
|
||||||
auth_url = {{ keystone_admin_url }}
|
auth_url = {{ keystone_admin_url }}
|
||||||
|
@ -1128,7 +1128,9 @@
|
|||||||
gather_facts: false
|
gather_facts: false
|
||||||
hosts:
|
hosts:
|
||||||
- senlin-api
|
- senlin-api
|
||||||
|
- senlin-conductor
|
||||||
- senlin-engine
|
- senlin-engine
|
||||||
|
- senlin-health-manager
|
||||||
- '&enable_senlin_True'
|
- '&enable_senlin_True'
|
||||||
serial: '{{ kolla_serial|default("0") }}'
|
serial: '{{ kolla_serial|default("0") }}'
|
||||||
roles:
|
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-api:children]
|
||||||
senlin
|
senlin
|
||||||
|
|
||||||
|
[senlin-conductor:children]
|
||||||
|
senlin
|
||||||
|
|
||||||
[senlin-engine:children]
|
[senlin-engine:children]
|
||||||
senlin
|
senlin
|
||||||
|
|
||||||
|
[senlin-health-manager:children]
|
||||||
|
senlin
|
||||||
|
|
||||||
# Searchlight
|
# Searchlight
|
||||||
[searchlight-api:children]
|
[searchlight-api:children]
|
||||||
searchlight
|
searchlight
|
||||||
|
Loading…
Reference in New Issue
Block a user