Merge "Drop Senlin"

This commit is contained in:
Zuul 2024-04-25 12:48:32 +00:00 committed by Gerrit Code Review
commit 0f02c1a25f
42 changed files with 4 additions and 864 deletions

View File

@ -62,7 +62,6 @@ Kolla Ansible deploys containers for the following OpenStack projects:
- `Neutron <https://docs.openstack.org/neutron/latest/>`__
- `Nova <https://docs.openstack.org/nova/latest/>`__
- `Octavia <https://docs.openstack.org/octavia/latest/>`__
- `Senlin <https://docs.openstack.org/senlin/latest/>`__
- Skyline (`APIServer <https://docs.openstack.org/skyline-apiserver/latest/>`__ and `Console <https://docs.openstack.org/skyline-console/latest/>`__)
- `Swift <https://docs.openstack.org/swift/latest/>`__
- `Tacker <https://docs.openstack.org/tacker/latest/>`__

View File

@ -613,12 +613,6 @@ rabbitmq_prometheus_port: "15692"
redis_port: "6379"
redis_sentinel_port: "26379"
senlin_internal_fqdn: "{{ kolla_internal_fqdn }}"
senlin_external_fqdn: "{{ kolla_external_fqdn }}"
senlin_api_port: "8778"
senlin_api_listen_port: "{{ senlin_api_port }}"
senlin_api_public_port: "{{ haproxy_single_external_frontend_public_port if haproxy_single_external_frontend | bool else senlin_api_port }}"
skyline_apiserver_internal_fqdn: "{{ kolla_internal_fqdn }}"
skyline_apiserver_external_fqdn: "{{ kolla_external_fqdn }}"
skyline_console_internal_fqdn: "{{ kolla_internal_fqdn }}"
@ -804,7 +798,6 @@ enable_horizon_mistral: "{{ enable_mistral | bool }}"
enable_horizon_murano: "{{ enable_murano | bool }}"
enable_horizon_neutron_vpnaas: "{{ enable_neutron_vpnaas | bool }}"
enable_horizon_octavia: "{{ enable_octavia | bool }}"
enable_horizon_senlin: "{{ enable_senlin | bool }}"
enable_horizon_tacker: "{{ enable_tacker | bool }}"
enable_horizon_trove: "{{ enable_trove | bool }}"
enable_horizon_vitrage: "{{ enable_vitrage | bool }}"
@ -861,7 +854,6 @@ enable_placement: "{{ enable_nova | bool or enable_zun | bool }}"
enable_prometheus: "no"
enable_proxysql: "no"
enable_redis: "no"
enable_senlin: "no"
enable_skyline: "no"
enable_swift: "no"
enable_swift_s3api: "no"

View File

@ -146,9 +146,6 @@ control
[vitrage:children]
control
[senlin:children]
control
[trove:children]
control
@ -462,19 +459,6 @@ watcher
[watcher-applier:children]
watcher
# Senlin
[senlin-api:children]
senlin
[senlin-conductor:children]
senlin
[senlin-engine:children]
senlin
[senlin-health-manager:children]
senlin
# Octavia
[octavia-api:children]
octavia

View File

@ -164,9 +164,6 @@ control
[trove:children]
control
[senlin:children]
control
[vitrage:children]
control
@ -481,19 +478,6 @@ watcher
[watcher-applier:children]
watcher
# Senlin
[senlin-api:children]
senlin
[senlin-conductor:children]
senlin
[senlin-engine:children]
senlin
[senlin-health-manager:children]
senlin
# Octavia
[octavia-api:children]
octavia

View File

@ -184,8 +184,6 @@ fluentd_input_openstack_services:
enabled: "{{ enable_nova | bool }}"
- name: octavia
enabled: "{{ enable_octavia | bool }}"
- name: senlin
enabled: "{{ enable_senlin | bool }}"
- name: tacker
enabled: "{{ enable_tacker | bool }}"
- name: trove

View File

@ -253,7 +253,6 @@
- { name: "prometheus", enabled: "{{ enable_prometheus | bool }}" }
- { name: "proxysql", enabled: "{{ enable_proxysql | bool }}" }
- { name: "rabbitmq", enabled: "{{ enable_rabbitmq | bool }}" }
- { name: "senlin", enabled: "{{ enable_senlin | bool }}" }
- { name: "skyline", enabled: "{{ enable_skyline | bool }}" }
- { name: "swift", enabled: "{{ enable_swift | bool }}" }
- { name: "tacker", enabled: "{{ enable_tacker | bool }}" }

View File

@ -96,11 +96,6 @@
pattern ^(murano-api|murano-engine)$
tag openstack_python
</rule>
<rule>
key programname
pattern ^(senlin-api|senlin-conductor|senlin-engine|senlin-health-manager)$
tag openstack_python
</rule>
<rule>
key programname
pattern ^(watcher-api|watcher-applier|watcher-db-manage|watcher-decision-engine)$

View File

@ -1,3 +0,0 @@
"/var/log/kolla/senlin/*.log"
{
}

View File

@ -18,7 +18,6 @@ horizon_services:
ENABLE_MURANO: "{{ 'yes' if enable_horizon_murano | bool else 'no' }}"
ENABLE_NEUTRON_VPNAAS: "{{ 'yes' if enable_horizon_neutron_vpnaas | bool else 'no' }}"
ENABLE_OCTAVIA: "{{ 'yes' if enable_horizon_octavia | bool else 'no' }}"
ENABLE_SENLIN: "{{ 'yes' if enable_horizon_senlin | bool else 'no' }}"
ENABLE_TACKER: "{{ 'yes' if enable_horizon_tacker | bool else 'no' }}"
ENABLE_TROVE: "{{ 'yes' if enable_horizon_trove | bool else 'no' }}"
ENABLE_VITRAGE: "{{ 'yes' if enable_horizon_vitrage | bool else 'no' }}"

View File

@ -37,7 +37,6 @@
- { name: "neutron", enabled: "{{ enable_neutron_horizon_policy_file }}" }
- { name: "nova", enabled: "{{ enable_nova_horizon_policy_file }}" }
- { name: "octavia", enabled: "{{ enable_horizon_octavia }}" }
- { name: "senlin", enabled: "{{ enable_horizon_senlin }}" }
- { name: "tacker", enabled: "{{ enable_horizon_tacker }}" }
- { name: "trove", enabled: "{{ enable_horizon_trove }}" }
- { name: "watcher", enabled: "{{ enable_horizon_watcher }}" }

View File

@ -689,19 +689,6 @@
- haproxy_stat.find('outward_rabbitmq_management') == -1
- haproxy_vip_prechecks
- name: Checking free port for Senlin API HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ senlin_api_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- enable_senlin | bool
- inventory_hostname in groups['loadbalancer']
- haproxy_stat.find('senlin_api') == -1
- haproxy_vip_prechecks
- name: Checking free port for Swift Proxy Server HAProxy
wait_for:
host: "{{ kolla_internal_vip_address }}"

View File

@ -1,237 +0,0 @@
---
senlin_services:
senlin-api:
container_name: senlin_api
group: senlin-api
enabled: true
image: "{{ senlin_api_image_full }}"
volumes: "{{ senlin_api_default_volumes + senlin_api_extra_volumes }}"
dimensions: "{{ senlin_api_dimensions }}"
healthcheck: "{{ senlin_api_healthcheck }}"
haproxy:
senlin_api:
enabled: "{{ enable_senlin }}"
mode: "http"
external: false
port: "{{ senlin_api_port }}"
listen_port: "{{ senlin_api_listen_port }}"
senlin_api_external:
enabled: "{{ enable_senlin }}"
mode: "http"
external: true
external_fqdn: "{{ senlin_external_fqdn }}"
port: "{{ senlin_api_public_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 }}"
healthcheck: "{{ senlin_conductor_healthcheck }}"
senlin-engine:
container_name: senlin_engine
group: senlin-engine
enabled: true
image: "{{ senlin_engine_image_full }}"
volumes: "{{ senlin_engine_default_volumes + senlin_engine_extra_volumes }}"
dimensions: "{{ senlin_engine_dimensions }}"
healthcheck: "{{ senlin_engine_healthcheck }}"
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 }}"
healthcheck: "{{ senlin_health_manager_healthcheck }}"
####################
# Config Validate
####################
senlin_config_validation:
- generator: "/senlin/tools/config-generator.conf"
config: "/etc/senlin/senlin.conf"
####################
# Database
####################
senlin_database_name: "senlin"
senlin_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}senlin{% endif %}"
senlin_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}"
####################
# Database sharding
####################
senlin_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ senlin_database_shard_id }}{% else %}{{ database_user }}{% endif %}"
senlin_database_shard_id: "{{ mariadb_default_database_shard_id | int }}"
senlin_database_shard:
users:
- user: "{{ senlin_database_user }}"
password: "{{ senlin_database_password }}"
rules:
- schema: "{{ senlin_database_name }}"
shard_id: "{{ senlin_database_shard_id }}"
####################
# Docker
####################
senlin_tag: "{{ openstack_tag }}"
senlin_conductor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/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 }}/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 }}/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 }}/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_enable_healthchecks: "{{ enable_container_healthchecks }}"
senlin_api_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
senlin_api_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
senlin_api_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
senlin_api_healthcheck_test: ["CMD-SHELL", "healthcheck_curl http://{{ api_interface_address | put_address_in_context('url') }}:{{ senlin_api_listen_port }}"]
senlin_api_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
senlin_api_healthcheck:
interval: "{{ senlin_api_healthcheck_interval }}"
retries: "{{ senlin_api_healthcheck_retries }}"
start_period: "{{ senlin_api_healthcheck_start_period }}"
test: "{% if senlin_api_enable_healthchecks | bool %}{{ senlin_api_healthcheck_test }}{% else %}NONE{% endif %}"
timeout: "{{ senlin_api_healthcheck_timeout }}"
senlin_conductor_enable_healthchecks: "{{ enable_container_healthchecks }}"
senlin_conductor_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
senlin_conductor_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
senlin_conductor_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
senlin_conductor_healthcheck_test: ["CMD-SHELL", "healthcheck_port senlin-conductor {{ om_rpc_port }}"]
senlin_conductor_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
senlin_conductor_healthcheck:
interval: "{{ senlin_conductor_healthcheck_interval }}"
retries: "{{ senlin_conductor_healthcheck_retries }}"
start_period: "{{ senlin_conductor_healthcheck_start_period }}"
test: "{% if senlin_conductor_enable_healthchecks | bool %}{{ senlin_conductor_healthcheck_test }}{% else %}NONE{% endif %}"
timeout: "{{ senlin_conductor_healthcheck_timeout }}"
senlin_engine_enable_healthchecks: "{{ enable_container_healthchecks }}"
senlin_engine_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
senlin_engine_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
senlin_engine_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
senlin_engine_healthcheck_test: ["CMD-SHELL", "healthcheck_port senlin-engine {{ om_rpc_port }}"]
senlin_engine_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
senlin_engine_healthcheck:
interval: "{{ senlin_engine_healthcheck_interval }}"
retries: "{{ senlin_engine_healthcheck_retries }}"
start_period: "{{ senlin_engine_healthcheck_start_period }}"
test: "{% if senlin_engine_enable_healthchecks | bool %}{{ senlin_engine_healthcheck_test }}{% else %}NONE{% endif %}"
timeout: "{{ senlin_engine_healthcheck_timeout }}"
senlin_health_manager_enable_healthchecks: "{{ enable_container_healthchecks }}"
senlin_health_manager_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
senlin_health_manager_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
senlin_health_manager_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
senlin_health_manager_healthcheck_test: ["CMD-SHELL", "healthcheck_port senlin-health-manager {{ om_rpc_port }}"]
senlin_health_manager_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
senlin_health_manager_healthcheck:
interval: "{{ senlin_health_manager_healthcheck_interval }}"
retries: "{{ senlin_health_manager_healthcheck_retries }}"
start_period: "{{ senlin_health_manager_healthcheck_start_period }}"
test: "{% if senlin_health_manager_enable_healthchecks | bool %}{{ senlin_health_manager_healthcheck_test }}{% else %}NONE{% endif %}"
timeout: "{{ senlin_health_manager_healthcheck_timeout }}"
senlin_api_default_volumes:
- "{{ node_config_directory }}/senlin-api/:{{ container_config_directory }}/:ro"
- "/etc/localtime:/etc/localtime:ro"
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/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"
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/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"
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/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"
- "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
- "kolla_logs:/var/log/kolla/"
- "{{ kolla_dev_repos_directory ~ '/senlin/senlin:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/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
####################
senlin_internal_endpoint: "{{ senlin_internal_fqdn | kolla_url(internal_protocol, senlin_api_port) }}"
senlin_public_endpoint: "{{ senlin_external_fqdn | kolla_url(public_protocol, senlin_api_public_port) }}"
senlin_logging_debug: "{{ openstack_logging_debug }}"
senlin_keystone_user: "senlin"
openstack_senlin_auth: "{{ openstack_auth }}"
senlin_api_workers: "{{ openstack_service_workers }}"
senlin_conductor_workers: "{{ openstack_service_workers }}"
senlin_engine_workers: "{{ openstack_service_workers }}"
senlin_health_manager_workers: "{{ openstack_service_workers }}"
####################
# Kolla
####################
senlin_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}"
senlin_dev_repos_pull: "{{ kolla_dev_repos_pull }}"
senlin_dev_mode: "{{ kolla_dev_mode }}"
senlin_source_version: "{{ kolla_source_version }}"
####################
# Notifications
####################
senlin_notification_topics:
- name: notifications
enabled: "{{ enable_ceilometer | bool }}"
senlin_enabled_notification_topics: "{{ senlin_notification_topics | selectattr('enabled', 'equalto', true) | list }}"
####################
# Keystone
####################
senlin_ks_services:
- name: "senlin"
type: "clustering"
description: "Senlin Clustering Service"
endpoints:
- {'interface': 'internal', 'url': '{{ senlin_internal_endpoint }}'}
- {'interface': 'public', 'url': '{{ senlin_public_endpoint }}'}
senlin_ks_users:
- project: "service"
user: "{{ senlin_keystone_user }}"
password: "{{ senlin_keystone_password }}"
role: "admin"

View File

@ -1,64 +0,0 @@
---
- name: Restart senlin-api container
vars:
service_name: "senlin-api"
service: "{{ senlin_services[service_name] }}"
become: true
kolla_container:
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 }}"
healthcheck: "{{ service.healthcheck | default(omit) }}"
when:
- kolla_action != "config"
- name: Restart senlin-conductor container
vars:
service_name: "senlin-conductor"
service: "{{ senlin_services[service_name] }}"
become: true
kolla_container:
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 }}"
healthcheck: "{{ service.healthcheck | default(omit) }}"
when:
- kolla_action != "config"
- name: Restart senlin-engine container
vars:
service_name: "senlin-engine"
service: "{{ senlin_services[service_name] }}"
become: true
kolla_container:
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 }}"
healthcheck: "{{ service.healthcheck | default(omit) }}"
when:
- kolla_action != "config"
- name: Restart senlin-health-manager container
vars:
service_name: "senlin-health-manager"
service: "{{ senlin_services[service_name] }}"
become: true
kolla_container:
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 }}"
healthcheck: "{{ service.healthcheck | default(omit) }}"
when:
- kolla_action != "config"

View File

@ -1,38 +0,0 @@
---
- name: Creating Senlin database
become: true
kolla_toolbox:
container_engine: "{{ kolla_container_engine }}"
module_name: mysql_db
module_args:
login_host: "{{ database_address }}"
login_port: "{{ database_port }}"
login_user: "{{ senlin_database_shard_root_user }}"
login_password: "{{ database_password }}"
name: "{{ senlin_database_name }}"
run_once: True
delegate_to: "{{ groups['senlin-api'][0] }}"
when:
- not use_preconfigured_databases | bool
- name: Creating Senlin database user and setting permissions
become: true
kolla_toolbox:
container_engine: "{{ kolla_container_engine }}"
module_name: mysql_user
module_args:
login_host: "{{ database_address }}"
login_port: "{{ database_port }}"
login_user: "{{ senlin_database_shard_root_user }}"
login_password: "{{ database_password }}"
name: "{{ senlin_database_user }}"
password: "{{ senlin_database_password }}"
host: "%"
priv: "{{ senlin_database_name }}.*:ALL"
append_privs: "yes"
run_once: True
delegate_to: "{{ groups['senlin-api'][0] }}"
when:
- not use_preconfigured_databases | bool
- import_tasks: bootstrap_service.yml

View File

@ -1,20 +0,0 @@
---
- name: Running Senlin bootstrap container
vars:
senlin_api: "{{ senlin_services['senlin-api'] }}"
become: true
kolla_container:
action: "start_container"
common_options: "{{ docker_common_options }}"
detach: False
environment:
KOLLA_BOOTSTRAP:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
image: "{{ senlin_api.image }}"
labels:
BOOTSTRAP:
name: "bootstrap_senlin"
restart_policy: oneshot
volumes: "{{ senlin_api.volumes | reject('equalto', '') | list }}"
run_once: True
delegate_to: "{{ groups[senlin_api.group][0] }}"

View File

@ -1,17 +0,0 @@
---
- name: Check senlin containers
become: true
kolla_container:
action: "compare_container"
common_options: "{{ docker_common_options }}"
name: "{{ item.value.container_name }}"
image: "{{ item.value.image }}"
volumes: "{{ item.value.volumes | reject('equalto', '') | list }}"
dimensions: "{{ item.value.dimensions }}"
healthcheck: "{{ item.value.healthcheck | default(omit) }}"
when:
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ senlin_services }}"
notify:
- "Restart {{ item.key }} container"

View File

@ -1 +0,0 @@
---

View File

@ -1,8 +0,0 @@
---
- name: Cloning senlin source repository for development
become: true
git:
repo: "{{ senlin_git_repository }}"
dest: "{{ kolla_dev_repos_directory }}/{{ project_name }}"
update: "{{ senlin_dev_repos_pull }}"
version: "{{ senlin_source_version }}"

View File

@ -1,83 +0,0 @@
---
- name: Ensuring config directories exist
file:
path: "{{ node_config_directory }}/{{ item.key }}"
state: "directory"
owner: "{{ config_owner_user }}"
group: "{{ config_owner_group }}"
mode: "0770"
become: true
when:
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ senlin_services }}"
- name: Check if policies shall be overwritten
stat:
path: "{{ item }}"
delegate_to: localhost
run_once: True
register: senlin_policy
with_first_found:
- files: "{{ supported_policy_format_list }}"
paths:
- "{{ node_custom_config }}/senlin/"
skip: true
- name: Set senlin policy file
set_fact:
senlin_policy_file: "{{ senlin_policy.results.0.stat.path | basename }}"
senlin_policy_file_path: "{{ senlin_policy.results.0.stat.path }}"
when:
- senlin_policy.results
- include_tasks: copy-certs.yml
when:
- kolla_copy_ca_into_containers | bool
- name: Copying over config.json files for services
template:
src: "{{ item.key }}.json.j2"
dest: "{{ node_config_directory }}/{{ item.key }}/config.json"
mode: "0660"
become: true
when:
- item.value.enabled | bool
- inventory_hostname in groups[item.value.group]
with_dict: "{{ senlin_services }}"
notify:
- Restart {{ item.key }} container
- name: Copying over senlin.conf
vars:
service_name: "{{ item.key }}"
merge_configs:
sources:
- "{{ role_path }}/templates/senlin.conf.j2"
- "{{ node_custom_config }}/global.conf"
- "{{ node_custom_config }}/senlin.conf"
- "{{ node_custom_config }}/senlin/{{ item.key }}.conf"
- "{{ node_custom_config }}/senlin/{{ inventory_hostname }}/senlin.conf"
dest: "{{ node_config_directory }}/{{ item.key }}/senlin.conf"
mode: "0660"
become: true
when:
- item.value.enabled | bool
- inventory_hostname in groups[item.value.group]
with_dict: "{{ senlin_services }}"
notify:
- Restart {{ item.key }} container
- name: Copying over existing policy file
template:
src: "{{ senlin_policy_file_path }}"
dest: "{{ node_config_directory }}/{{ item.key }}/{{ senlin_policy_file }}"
mode: "0660"
become: true
when:
- senlin_policy_file is defined
- inventory_hostname in groups[item.value.group]
- item.value.enabled | bool
with_dict: "{{ senlin_services }}"
notify:
- Restart {{ item.key }} container

View File

@ -1,7 +0,0 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ senlin_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ senlin_config_validation }}"

View File

@ -1,6 +0,0 @@
---
- name: "Copy certificates and keys for {{ project_name }}"
import_role:
role: service-cert-copy
vars:
project_services: "{{ senlin_services }}"

View File

@ -1,2 +0,0 @@
---
- import_tasks: check-containers.yml

View File

@ -1,14 +0,0 @@
---
- import_tasks: register.yml
- import_tasks: config.yml
- import_tasks: check-containers.yml
- include_tasks: clone.yml
when: senlin_dev_mode | bool
- import_tasks: bootstrap.yml
- name: Flush handlers
meta: flush_handlers

View File

@ -1,7 +0,0 @@
---
- name: "Configure loadbalancer for {{ project_name }}"
import_role:
name: loadbalancer-config
vars:
project_services: "{{ senlin_services }}"
tags: always

View File

@ -1,2 +0,0 @@
---
- include_tasks: "{{ kolla_action }}.yml"

View File

@ -1,26 +0,0 @@
---
- import_role:
name: service-precheck
vars:
service_precheck_services: "{{ senlin_services }}"
service_name: "{{ project_name }}"
- name: Get container facts
become: true
kolla_container_facts:
container_engine: "{{ kolla_container_engine }}"
name:
- senlin_api
check_mode: false
register: container_facts
- name: Checking free port for Senlin API
wait_for:
host: "{{ api_interface_address }}"
port: "{{ senlin_api_listen_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['senlin_api'] is not defined
- inventory_hostname in groups['senlin-api']

View File

@ -1,3 +0,0 @@
---
- import_role:
role: service-images-pull

View File

@ -1,2 +0,0 @@
---
- import_tasks: deploy.yml

View File

@ -1,7 +0,0 @@
---
- import_role:
name: service-ks-register
vars:
service_ks_register_auth: "{{ openstack_senlin_auth }}"
service_ks_register_services: "{{ senlin_ks_services }}"
service_ks_register_users: "{{ senlin_ks_users }}"

View File

@ -1,6 +0,0 @@
---
- import_role:
name: service-stop
vars:
project_services: "{{ senlin_services }}"
service_name: "{{ project_name }}"

View File

@ -1,9 +0,0 @@
---
- import_tasks: config.yml
- import_tasks: check-containers.yml
- import_tasks: bootstrap_service.yml
- name: Flush handlers
meta: flush_handlers

View File

@ -1,24 +0,0 @@
{
"command": "senlin-api --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
}
]
}

View File

@ -1,24 +0,0 @@
{
"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
}
]
}

View File

@ -1,24 +0,0 @@
{
"command": "senlin-engine --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
}
]
}

View File

@ -1,24 +0,0 @@
{
"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
}
]
}

View File

@ -1,96 +0,0 @@
[DEFAULT]
debug = {{ senlin_logging_debug }}
log_dir = /var/log/kolla/senlin
transport_url = {{ rpc_transport_url }}
{% if service_name == 'senlin-api' %}
[senlin_api]
bind_host = {{ api_interface_address }}
bind_port = {{ senlin_api_listen_port }}
workers = {{ senlin_api_workers }}
{% endif %}
[authentication]
auth_url = {{ keystone_internal_url }}
cafile = {{ openstack_cacert }}
service_username = {{ senlin_keystone_user }}
service_password = {{ senlin_keystone_password }}
service_project_name = service
service_user_domain = default
service_project_domain = default
{% if service_name == 'senlin-conductor' %}
[conductor]
workers = {{ senlin_conductor_workers }}
{% endif %}
[database]
connection = mysql+pymysql://{{ senlin_database_user }}:{{ senlin_database_password }}@{{ senlin_database_address }}/{{ senlin_database_name }}
connection_recycle_time = {{ database_connection_recycle_time }}
max_pool_size = {{ database_max_pool_size }}
max_retries = -1
{% if service_name == 'senlin-engine' %}
[engine]
workers = {{ senlin_engine_workers }}
{% endif %}
{% if service_name == 'senlin-health-manager' %}
[health_manager]
workers = {{ senlin_health_manager_workers }}
{% endif %}
[keystone_authtoken]
service_type = clustering
www_authenticate_uri = {{ keystone_internal_url }}
auth_url = {{ keystone_internal_url }}
auth_type = password
project_domain_id = {{ default_project_domain_id }}
user_domain_id = {{ default_user_domain_id }}
project_name = service
username = {{ senlin_keystone_user }}
password = {{ senlin_keystone_password }}
service_token_roles_required = False
cafile = {{ openstack_cacert }}
region_name = {{ openstack_region_name }}
memcache_security_strategy = ENCRYPT
memcache_secret_key = {{ memcache_secret_key }}
memcached_servers = {% for host in groups['memcached'] %}{{ 'api' | kolla_address(host) | put_address_in_context('memcache') }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
[oslo_messaging_notifications]
transport_url = {{ notify_transport_url }}
{% if senlin_enabled_notification_topics %}
driver = messagingv2
topics = {{ senlin_enabled_notification_topics | map(attribute='name') | join(',') }}
{% else %}
driver = noop
{% endif %}
[oslo_messaging_rabbit]
heartbeat_in_pthread = false
{% if om_enable_rabbitmq_tls | bool %}
ssl = true
ssl_ca_file = {{ om_rabbitmq_cacert }}
{% endif %}
{% if om_enable_rabbitmq_high_availability | bool %}
amqp_durable_queues = true
{% endif %}
{% if om_enable_rabbitmq_quorum_queues | bool %}
rabbit_quorum_queue = true
{% endif %}
{% if senlin_policy_file is defined %}
[oslo_policy]
policy_file = {{ senlin_policy_file }}
{% endif %}
{% if enable_osprofiler | bool %}
[profiler]
enabled = true
trace_sqlalchemy = true
hmac_keys = {{ osprofiler_secret }}
connection_string = {{ osprofiler_backend_connection_string }}
{% endif %}

View File

@ -1,2 +0,0 @@
---
project_name: "senlin"

View File

@ -66,7 +66,6 @@
- enable_prometheus_{{ enable_prometheus | bool }}
- enable_rabbitmq_{{ enable_rabbitmq | bool }}
- enable_redis_{{ enable_redis | bool }}
- enable_senlin_{{ enable_senlin | bool }}
- enable_skyline_{{ enable_skyline | bool }}
- enable_swift_{{ enable_swift | bool }}
- enable_tacker_{{ enable_tacker | bool }}
@ -295,11 +294,6 @@
role_rabbitmq_cluster_cookie:
role_rabbitmq_groups:
when: enable_rabbitmq | bool or enable_outward_rabbitmq | bool
- include_role:
name: senlin
tasks_from: loadbalancer
tags: senlin
when: enable_senlin | bool
- include_role:
name: skyline
tasks_from: loadbalancer
@ -993,23 +987,6 @@
- { role: cloudkitty,
tags: cloudkitty }
- name: Apply role senlin
gather_facts: false
hosts:
- senlin-api
- senlin-conductor
- senlin-engine
- senlin-health-manager
- '&enable_senlin_True'
serial: '{{ kolla_serial|default("0") }}'
max_fail_percentage: >-
{{ senlin_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
roles:
- { role: senlin,
tags: senlin }
- name: Apply role tacker
gather_facts: false
hosts:

View File

@ -370,7 +370,6 @@ workaround_ansible_issue_8743: yes
#enable_horizon_murano: "{{ enable_murano | bool }}"
#enable_horizon_neutron_vpnaas: "{{ enable_neutron_vpnaas | bool }}"
#enable_horizon_octavia: "{{ enable_octavia | bool }}"
#enable_horizon_senlin: "{{ enable_senlin | bool }}"
#enable_horizon_tacker: "{{ enable_tacker | bool }}"
#enable_horizon_trove: "{{ enable_trove | bool }}"
#enable_horizon_vitrage: "{{ enable_vitrage | bool }}"
@ -423,7 +422,6 @@ workaround_ansible_issue_8743: yes
#enable_prometheus: "no"
#enable_proxysql: "no"
#enable_redis: "no"
#enable_senlin: "no"
#enable_skyline: "no"
#enable_swift: "no"
#enable_swift_s3api: "no"

View File

@ -132,9 +132,6 @@ ceilometer_keystone_password:
watcher_database_password:
watcher_keystone_password:
senlin_database_password:
senlin_keystone_password:
horizon_secret_key:
horizon_database_password:

View File

@ -0,0 +1,4 @@
---
upgrade:
- |
Support for deploying ``Senlin`` has been dropped.

View File

@ -216,9 +216,6 @@ control
[trove:children]
control
[senlin:children]
control
[vitrage:children]
control
@ -533,19 +530,6 @@ watcher
[watcher-applier:children]
watcher
# Senlin
[senlin-api:children]
senlin
[senlin-conductor:children]
senlin
[senlin-engine:children]
senlin
[senlin-health-manager:children]
senlin
# Octavia
[octavia-api:children]
octavia