From 2edecb82a1f2f43376850085f4949b7298e01881 Mon Sep 17 00:00:00 2001
From: Michal Nasiadka <mnasiadka@gmail.com>
Date: Wed, 24 Apr 2024 16:38:31 +0200
Subject: [PATCH] Drop Solum

It's inactive and hasn't produced a 2024.1 release [1].

[1]: https://governance.openstack.org/tc/reference/emerging-technology-and-inactive-projects.html#current-inactive-projects

Change-Id: Ic988295bc5b8acb19df008fe0d52a3bcc6de2135
---
 README.rst                                    |   1 -
 ansible/group_vars/all.yml                    |  13 -
 ansible/inventory/all-in-one                  |  22 --
 ansible/inventory/multinode                   |  22 --
 ansible/roles/common/defaults/main.yml        |   2 -
 ansible/roles/common/tasks/config.yml         |   1 -
 .../templates/cron-logrotate-solum.conf.j2    |   3 -
 ansible/roles/horizon/defaults/main.yml       |   1 -
 ansible/roles/horizon/tasks/config.yml        |   1 -
 ansible/roles/loadbalancer/tasks/precheck.yml |  26 --
 ansible/roles/solum/defaults/main.yml         | 250 ------------------
 ansible/roles/solum/handlers/main.yml         |  64 -----
 ansible/roles/solum/tasks/bootstrap.yml       |  38 ---
 .../roles/solum/tasks/bootstrap_service.yml   |  20 --
 .../roles/solum/tasks/check-containers.yml    |  17 --
 ansible/roles/solum/tasks/check.yml           |   1 -
 ansible/roles/solum/tasks/clone.yml           |   8 -
 ansible/roles/solum/tasks/config.yml          |  50 ----
 ansible/roles/solum/tasks/config_validate.yml |   7 -
 ansible/roles/solum/tasks/copy-certs.yml      |   6 -
 .../roles/solum/tasks/deploy-containers.yml   |   2 -
 ansible/roles/solum/tasks/deploy.yml          |  14 -
 ansible/roles/solum/tasks/loadbalancer.yml    |   7 -
 ansible/roles/solum/tasks/main.yml            |   2 -
 ansible/roles/solum/tasks/precheck.yml        |  37 ---
 ansible/roles/solum/tasks/pull.yml            |   3 -
 ansible/roles/solum/tasks/reconfigure.yml     |   2 -
 ansible/roles/solum/tasks/register.yml        |   7 -
 ansible/roles/solum/tasks/stop.yml            |   6 -
 ansible/roles/solum/tasks/upgrade.yml         |   9 -
 .../roles/solum/templates/solum-api.json.j2   |  18 --
 .../solum/templates/solum-conductor.json.j2   |  18 --
 .../solum/templates/solum-deployer.json.j2    |  18 --
 .../solum/templates/solum-worker.json.j2      |  18 --
 ansible/roles/solum/templates/solum.conf.j2   |  81 ------
 ansible/roles/solum/vars/main.yml             |   2 -
 ansible/site.yml                              |  25 --
 etc/kolla/globals.yml                         |   2 -
 etc/kolla/passwords.yml                       |   3 -
 .../notes/drop-solum-5bbdd7f4fc937017.yaml    |   4 +
 tests/templates/inventory.j2                  |  22 --
 41 files changed, 4 insertions(+), 849 deletions(-)
 delete mode 100644 ansible/roles/common/templates/cron-logrotate-solum.conf.j2
 delete mode 100644 ansible/roles/solum/defaults/main.yml
 delete mode 100644 ansible/roles/solum/handlers/main.yml
 delete mode 100644 ansible/roles/solum/tasks/bootstrap.yml
 delete mode 100644 ansible/roles/solum/tasks/bootstrap_service.yml
 delete mode 100644 ansible/roles/solum/tasks/check-containers.yml
 delete mode 100644 ansible/roles/solum/tasks/check.yml
 delete mode 100644 ansible/roles/solum/tasks/clone.yml
 delete mode 100644 ansible/roles/solum/tasks/config.yml
 delete mode 100644 ansible/roles/solum/tasks/config_validate.yml
 delete mode 100644 ansible/roles/solum/tasks/copy-certs.yml
 delete mode 100644 ansible/roles/solum/tasks/deploy-containers.yml
 delete mode 100644 ansible/roles/solum/tasks/deploy.yml
 delete mode 100644 ansible/roles/solum/tasks/loadbalancer.yml
 delete mode 100644 ansible/roles/solum/tasks/main.yml
 delete mode 100644 ansible/roles/solum/tasks/precheck.yml
 delete mode 100644 ansible/roles/solum/tasks/pull.yml
 delete mode 100644 ansible/roles/solum/tasks/reconfigure.yml
 delete mode 100644 ansible/roles/solum/tasks/register.yml
 delete mode 100644 ansible/roles/solum/tasks/stop.yml
 delete mode 100644 ansible/roles/solum/tasks/upgrade.yml
 delete mode 100644 ansible/roles/solum/templates/solum-api.json.j2
 delete mode 100644 ansible/roles/solum/templates/solum-conductor.json.j2
 delete mode 100644 ansible/roles/solum/templates/solum-deployer.json.j2
 delete mode 100644 ansible/roles/solum/templates/solum-worker.json.j2
 delete mode 100644 ansible/roles/solum/templates/solum.conf.j2
 delete mode 100644 ansible/roles/solum/vars/main.yml
 create mode 100644 releasenotes/notes/drop-solum-5bbdd7f4fc937017.yaml

diff --git a/README.rst b/README.rst
index 5011b49245..353293bfa9 100644
--- a/README.rst
+++ b/README.rst
@@ -65,7 +65,6 @@ Kolla Ansible deploys containers for the following OpenStack projects:
 - `Sahara <https://docs.openstack.org/sahara/latest/>`__ (deprecated)
 - `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/>`__)
-- `Solum <https://docs.openstack.org/solum/latest/>`__
 - `Swift <https://docs.openstack.org/swift/latest/>`__
 - `Tacker <https://docs.openstack.org/tacker/latest/>`__
 - `Trove <https://docs.openstack.org/trove/latest/>`__
diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml
index 1037df783e..1174785a6e 100644
--- a/ansible/group_vars/all.yml
+++ b/ansible/group_vars/all.yml
@@ -638,17 +638,6 @@ skyline_console_public_port: "{{ haproxy_single_external_frontend_public_port if
 skyline_console_public_endpoint: "{{ skyline_console_external_fqdn | kolla_url(public_protocol, skyline_console_public_port) }}"
 skyline_enable_sso: "{{ enable_keystone_federation | bool and keystone_identity_providers | selectattr('protocol', 'equalto', 'openid') | list | count > 0 }}"
 
-solum_application_deployment_internal_fqdn: "{{ kolla_internal_fqdn }}"
-solum_application_deployment_external_fqdn: "{{ kolla_external_fqdn }}"
-solum_application_deployment_port: "9777"
-solum_application_deployment_public_port: "{{ haproxy_single_external_frontend_public_port if haproxy_single_external_frontend | bool else solum_application_deployment_port }}"
-solum_application_deployment_listen_port: "{{ solum_application_deployment_port }}"
-solum_image_builder_internal_fqdn: "{{ kolla_internal_fqdn }}"
-solum_image_builder_external_fqdn: "{{ kolla_external_fqdn }}"
-solum_image_builder_port: "9778"
-solum_image_builder_public_port: "{{ haproxy_single_external_frontend_public_port if haproxy_single_external_frontend | bool else solum_image_builder_port }}"
-solum_image_builder_listen_port: "{{ solum_image_builder_port }}"
-
 swift_internal_fqdn: "{{ kolla_internal_fqdn }}"
 swift_external_fqdn: "{{ kolla_external_fqdn }}"
 swift_proxy_server_port: "8080"
@@ -823,7 +812,6 @@ enable_horizon_neutron_vpnaas: "{{ enable_neutron_vpnaas | bool }}"
 enable_horizon_octavia: "{{ enable_octavia | bool }}"
 enable_horizon_sahara: "{{ enable_sahara | bool }}"
 enable_horizon_senlin: "{{ enable_senlin | bool }}"
-enable_horizon_solum: "{{ enable_solum | bool }}"
 enable_horizon_tacker: "{{ enable_tacker | bool }}"
 enable_horizon_trove: "{{ enable_trove | bool }}"
 enable_horizon_vitrage: "{{ enable_vitrage | bool }}"
@@ -883,7 +871,6 @@ enable_redis: "no"
 enable_sahara: "no"
 enable_senlin: "no"
 enable_skyline: "no"
-enable_solum: "no"
 enable_swift: "no"
 enable_swift_s3api: "no"
 enable_swift_recon: "no"
diff --git a/ansible/inventory/all-in-one b/ansible/inventory/all-in-one
index 0eaba95649..fcf447eb03 100644
--- a/ansible/inventory/all-in-one
+++ b/ansible/inventory/all-in-one
@@ -124,9 +124,6 @@ control
 [sahara:children]
 control
 
-[solum:children]
-control
-
 [mistral:children]
 control
 
@@ -394,25 +391,6 @@ magnum
 [magnum-conductor:children]
 magnum
 
-# Solum
-[solum-api:children]
-solum
-
-[solum-worker:children]
-solum
-
-[solum-deployer:children]
-solum
-
-[solum-conductor:children]
-solum
-
-[solum-application-deployment:children]
-solum
-
-[solum-image-builder:children]
-solum
-
 # Mistral
 [mistral-api:children]
 mistral
diff --git a/ansible/inventory/multinode b/ansible/inventory/multinode
index 152aff8275..81e2912521 100644
--- a/ansible/inventory/multinode
+++ b/ansible/inventory/multinode
@@ -133,9 +133,6 @@ control
 [murano:children]
 control
 
-[solum:children]
-control
-
 [ironic:children]
 control
 
@@ -410,25 +407,6 @@ sahara
 [sahara-engine:children]
 sahara
 
-# Solum
-[solum-api:children]
-solum
-
-[solum-worker:children]
-solum
-
-[solum-deployer:children]
-solum
-
-[solum-conductor:children]
-solum
-
-[solum-application-deployment:children]
-solum
-
-[solum-image-builder:children]
-solum
-
 # Mistral
 [mistral-api:children]
 mistral
diff --git a/ansible/roles/common/defaults/main.yml b/ansible/roles/common/defaults/main.yml
index 1edcc159ec..136618b4b8 100644
--- a/ansible/roles/common/defaults/main.yml
+++ b/ansible/roles/common/defaults/main.yml
@@ -188,8 +188,6 @@ fluentd_input_openstack_services:
     enabled: "{{ enable_sahara | bool }}"
   - name: senlin
     enabled: "{{ enable_senlin | bool }}"
-  - name: solum
-    enabled: "{{ enable_solum | bool }}"
   - name: tacker
     enabled: "{{ enable_tacker | bool }}"
   - name: trove
diff --git a/ansible/roles/common/tasks/config.yml b/ansible/roles/common/tasks/config.yml
index 342185cbde..9a10e9cdbb 100644
--- a/ansible/roles/common/tasks/config.yml
+++ b/ansible/roles/common/tasks/config.yml
@@ -256,7 +256,6 @@
       - { name: "sahara", enabled: "{{ enable_sahara | bool }}" }
       - { name: "senlin", enabled: "{{ enable_senlin | bool }}" }
       - { name: "skyline", enabled: "{{ enable_skyline | bool }}" }
-      - { name: "solum", enabled: "{{ enable_solum | bool }}" }
       - { name: "swift", enabled: "{{ enable_swift | bool }}" }
       - { name: "tacker", enabled: "{{ enable_tacker | bool }}" }
       - { name: "trove", enabled: "{{ enable_trove | bool }}" }
diff --git a/ansible/roles/common/templates/cron-logrotate-solum.conf.j2 b/ansible/roles/common/templates/cron-logrotate-solum.conf.j2
deleted file mode 100644
index c90bb37530..0000000000
--- a/ansible/roles/common/templates/cron-logrotate-solum.conf.j2
+++ /dev/null
@@ -1,3 +0,0 @@
-"/var/log/kolla/solum/*.log"
-{
-}
diff --git a/ansible/roles/horizon/defaults/main.yml b/ansible/roles/horizon/defaults/main.yml
index 56c7a8f08a..fa1ea7b3ac 100644
--- a/ansible/roles/horizon/defaults/main.yml
+++ b/ansible/roles/horizon/defaults/main.yml
@@ -20,7 +20,6 @@ horizon_services:
       ENABLE_OCTAVIA: "{{ 'yes' if enable_horizon_octavia | bool else 'no' }}"
       ENABLE_SAHARA: "{{ 'yes' if enable_horizon_sahara | bool else 'no' }}"
       ENABLE_SENLIN: "{{ 'yes' if enable_horizon_senlin | bool else 'no' }}"
-      ENABLE_SOLUM: "{{ 'yes' if enable_horizon_solum | 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' }}"
diff --git a/ansible/roles/horizon/tasks/config.yml b/ansible/roles/horizon/tasks/config.yml
index 29438ceb20..b6c387ea30 100644
--- a/ansible/roles/horizon/tasks/config.yml
+++ b/ansible/roles/horizon/tasks/config.yml
@@ -39,7 +39,6 @@
     - { name: "octavia", enabled: "{{ enable_horizon_octavia }}" }
     - { name: "sahara", enabled: "{{ enable_horizon_sahara }}" }
     - { name: "senlin", enabled: "{{ enable_horizon_senlin }}" }
-    - { name: "solum", enabled: "{{ enable_horizon_solum }}" }
     - { name: "tacker", enabled: "{{ enable_horizon_tacker }}" }
     - { name: "trove", enabled: "{{ enable_horizon_trove }}" }
     - { name: "watcher", enabled: "{{ enable_horizon_watcher }}" }
diff --git a/ansible/roles/loadbalancer/tasks/precheck.yml b/ansible/roles/loadbalancer/tasks/precheck.yml
index 86b946f9b0..472d7c23f7 100644
--- a/ansible/roles/loadbalancer/tasks/precheck.yml
+++ b/ansible/roles/loadbalancer/tasks/precheck.yml
@@ -715,32 +715,6 @@
     - haproxy_stat.find('senlin_api') == -1
     - haproxy_vip_prechecks
 
-- name: Checking free port for Solum Application Deployment HAProxy
-  wait_for:
-    host: "{{ kolla_internal_vip_address }}"
-    port: "{{ solum_application_deployment_port }}"
-    connect_timeout: 1
-    timeout: 1
-    state: stopped
-  when:
-    - enable_solum | bool
-    - inventory_hostname in groups['loadbalancer']
-    - haproxy_stat.find('solum_application_deployment') == -1
-    - haproxy_vip_prechecks
-
-- name: Checking free port for Solum Image Builder HAProxy
-  wait_for:
-    host: "{{ kolla_internal_vip_address }}"
-    port: "{{ solum_image_builder_port }}"
-    connect_timeout: 1
-    timeout: 1
-    state: stopped
-  when:
-    - enable_solum | bool
-    - inventory_hostname in groups['loadbalancer']
-    - haproxy_stat.find('solum_image_builder') == -1
-    - haproxy_vip_prechecks
-
 - name: Checking free port for Swift Proxy Server HAProxy
   wait_for:
     host: "{{ kolla_internal_vip_address }}"
diff --git a/ansible/roles/solum/defaults/main.yml b/ansible/roles/solum/defaults/main.yml
deleted file mode 100644
index b8c705f9f3..0000000000
--- a/ansible/roles/solum/defaults/main.yml
+++ /dev/null
@@ -1,250 +0,0 @@
----
-solum_services:
-  solum-api:
-    container_name: solum_api
-    group: solum-api
-    enabled: true
-    image: "{{ solum_api_image_full }}"
-    volumes: "{{ solum_api_default_volumes + solum_api_extra_volumes }}"
-    dimensions: "{{ solum_api_dimensions }}"
-    healthcheck: "{{ solum_api_healthcheck }}"
-  solum-worker:
-    container_name: solum_worker
-    group: solum-worker
-    enabled: true
-    image: "{{ solum_worker_image_full }}"
-    volumes: "{{ solum_worker_default_volumes + solum_worker_extra_volumes }}"
-    dimensions: "{{ solum_worker_dimensions }}"
-    healthcheck: "{{ solum_worker_healthcheck }}"
-  solum-deployer:
-    container_name: solum_deployer
-    group: solum-deployer
-    enabled: true
-    image: "{{ solum_deployer_image_full }}"
-    volumes: "{{ solum_deployer_default_volumes + solum_deployer_extra_volumes }}"
-    dimensions: "{{ solum_deployer_dimensions }}"
-    healthcheck: "{{ solum_deployer_healthcheck }}"
-    haproxy:
-      solum_application_deployment:
-        enabled: "{{ enable_solum }}"
-        mode: "http"
-        external: false
-        port: "{{ solum_application_deployment_port }}"
-        listen_port: "{{ solum_application_deployment_listen_port }}"
-        host_group: "solum-application-deployment"
-      solum_application_deployment_external:
-        enabled: "{{ enable_solum }}"
-        mode: "http"
-        external: true
-        external_fqdn: "{{ solum_application_deployment_external_fqdn }}"
-        port: "{{ solum_application_deployment_public_port }}"
-        listen_port: "{{ solum_application_deployment_listen_port }}"
-        host_group: "solum-application-deployment"
-      solum_image_builder:
-        enabled: "{{ enable_solum }}"
-        mode: "http"
-        external: false
-        port: "{{ solum_image_builder_port }}"
-        listen_port: "{{ solum_image_builder_listen_port }}"
-        host_group: "solum-image-builder"
-      solum_image_builder_external:
-        enabled: "{{ enable_solum }}"
-        mode: "http"
-        external: true
-        external_fqdn: "{{ solum_image_builder_external_fqdn }}"
-        port: "{{ solum_image_builder_public_port }}"
-        listen_port: "{{ solum_image_builder_listen_port }}"
-        host_group: "solum-image-builder"
-  solum-conductor:
-    container_name: solum_conductor
-    group: solum-conductor
-    enabled: true
-    image: "{{ solum_conductor_image_full }}"
-    volumes: "{{ solum_conductor_default_volumes + solum_conductor_extra_volumes }}"
-    dimensions: "{{ solum_conductor_dimensions }}"
-    healthcheck: "{{ solum_conductor_healthcheck }}"
-
-####################
-# Config Validate
-####################
-solum_config_validation:
-  - generator: "/solum/etc/solum/config-generator.conf"
-    config: "/etc/solum/solum.conf"
-
-####################
-# Database
-####################
-solum_database_name: "solum"
-solum_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}solum{% endif %}"
-solum_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}"
-
-####################
-# Database sharding
-####################
-solum_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ solum_database_shard_id }}{% else %}{{ database_user }}{% endif %}"
-solum_database_shard_id: "{{ mariadb_default_database_shard_id | int }}"
-solum_database_shard:
-  users:
-    - user: "{{ solum_database_user }}"
-      password: "{{ solum_database_password }}"
-  rules:
-    - schema: "{{ solum_database_name }}"
-      shard_id: "{{ solum_database_shard_id }}"
-
-
-####################
-# Docker
-####################
-solum_tag: "{{ openstack_tag }}"
-
-solum_worker_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/solum-worker"
-solum_worker_tag: "{{ solum_tag }}"
-solum_worker_image_full: "{{ solum_worker_image }}:{{ solum_worker_tag }}"
-
-solum_deployer_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/solum-deployer"
-solum_deployer_tag: "{{ solum_tag }}"
-solum_deployer_image_full: "{{ solum_deployer_image }}:{{ solum_deployer_tag }}"
-
-solum_conductor_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/solum-conductor"
-solum_conductor_tag: "{{ solum_tag }}"
-solum_conductor_image_full: "{{ solum_conductor_image }}:{{ solum_conductor_tag }}"
-
-solum_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/solum-api"
-solum_api_tag: "{{ solum_tag }}"
-solum_api_image_full: "{{ solum_api_image }}:{{ solum_api_tag }}"
-
-solum_api_dimensions: "{{ default_container_dimensions }}"
-solum_worker_dimensions: "{{ default_container_dimensions }}"
-solum_deployer_dimensions: "{{ default_container_dimensions }}"
-solum_conductor_dimensions: "{{ default_container_dimensions }}"
-
-solum_api_enable_healthchecks: "{{ enable_container_healthchecks }}"
-solum_api_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
-solum_api_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
-solum_api_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
-solum_api_healthcheck_test: ["CMD-SHELL", "healthcheck_curl http://{{ api_interface_address | put_address_in_context('url') }}:{{ solum_application_deployment_port }}"]
-solum_api_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
-solum_api_healthcheck:
-  interval: "{{ solum_api_healthcheck_interval }}"
-  retries: "{{ solum_api_healthcheck_retries }}"
-  start_period: "{{ solum_api_healthcheck_start_period }}"
-  test: "{% if solum_api_enable_healthchecks | bool %}{{ solum_api_healthcheck_test }}{% else %}NONE{% endif %}"
-  timeout: "{{ solum_api_healthcheck_timeout }}"
-
-solum_worker_enable_healthchecks: "{{ enable_container_healthchecks }}"
-solum_worker_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
-solum_worker_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
-solum_worker_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
-solum_worker_healthcheck_test: ["CMD-SHELL", "healthcheck_port solum-worker {{ om_rpc_port }}"]
-solum_worker_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
-solum_worker_healthcheck:
-  interval: "{{ solum_worker_healthcheck_interval }}"
-  retries: "{{ solum_worker_healthcheck_retries }}"
-  start_period: "{{ solum_worker_healthcheck_start_period }}"
-  test: "{% if solum_worker_enable_healthchecks | bool %}{{ solum_worker_healthcheck_test }}{% else %}NONE{% endif %}"
-  timeout: "{{ solum_worker_healthcheck_timeout }}"
-
-solum_deployer_enable_healthchecks: "{{ enable_container_healthchecks }}"
-solum_deployer_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
-solum_deployer_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
-solum_deployer_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
-solum_deployer_healthcheck_test: ["CMD-SHELL", "healthcheck_port solum-deployer {{ om_rpc_port }}"]
-solum_deployer_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
-solum_deployer_healthcheck:
-  interval: "{{ solum_deployer_healthcheck_interval }}"
-  retries: "{{ solum_deployer_healthcheck_retries }}"
-  start_period: "{{ solum_deployer_healthcheck_start_period }}"
-  test: "{% if solum_deployer_enable_healthchecks | bool %}{{ solum_deployer_healthcheck_test }}{% else %}NONE{% endif %}"
-  timeout: "{{ solum_deployer_healthcheck_timeout }}"
-
-solum_conductor_enable_healthchecks: "{{ enable_container_healthchecks }}"
-solum_conductor_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
-solum_conductor_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
-solum_conductor_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
-solum_conductor_healthcheck_test: ["CMD-SHELL", "healthcheck_port solum-conductor {{ om_rpc_port }}"]
-solum_conductor_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
-solum_conductor_healthcheck:
-  interval: "{{ solum_conductor_healthcheck_interval }}"
-  retries: "{{ solum_conductor_healthcheck_retries }}"
-  start_period: "{{ solum_conductor_healthcheck_start_period }}"
-  test: "{% if solum_conductor_enable_healthchecks | bool %}{{ solum_conductor_healthcheck_test }}{% else %}NONE{% endif %}"
-  timeout: "{{ solum_conductor_healthcheck_timeout }}"
-
-solum_api_default_volumes:
-  - "{{ node_config_directory }}/solum-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 ~ '/solum/solum:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/solum' if solum_dev_mode | bool else '' }}"
-solum_worker_default_volumes:
-  - "{{ node_config_directory }}/solum-worker/:{{ 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 ~ '/solum/solum:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/solum' if solum_dev_mode | bool else '' }}"
-solum_deployer_default_volumes:
-  - "{{ node_config_directory }}/solum-deployer/:{{ 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 ~ '/solum/solum:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/solum' if solum_dev_mode | bool else '' }}"
-solum_conductor_default_volumes:
-  - "{{ node_config_directory }}/solum-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 ~ '/solum/solum:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/solum' if solum_dev_mode | bool else '' }}"
-
-solum_extra_volumes: "{{ default_extra_volumes }}"
-solum_api_extra_volumes: "{{ solum_extra_volumes }}"
-solum_worker_extra_volumes: "{{ solum_extra_volumes }}"
-solum_deployer_extra_volumes: "{{ solum_extra_volumes }}"
-solum_conductor_extra_volumes: "{{ solum_extra_volumes }}"
-
-####################
-# OpenStack
-####################
-solum_image_builder_internal_endpoint: "{{ solum_image_builder_internal_fqdn | kolla_url(internal_protocol, solum_image_builder_port) }}"
-solum_image_builder_public_endpoint: "{{ solum_image_builder_external_fqdn | kolla_url(public_protocol, solum_image_builder_public_port) }}"
-
-solum_application_deployment_internal_endpoint: "{{ solum_application_deployment_internal_fqdn | kolla_url(internal_protocol, solum_application_deployment_port) }}"
-solum_application_deployment_public_endpoint: "{{ solum_application_deployment_external_fqdn | kolla_url(public_protocol, solum_application_deployment_public_port) }}"
-
-solum_logging_debug: "{{ openstack_logging_debug }}"
-
-solum_keystone_user: "solum"
-
-openstack_solum_auth: "{{ openstack_auth }}"
-
-solum_api_workers: "{{ openstack_service_workers }}"
-
-####################
-# Kolla
-####################
-solum_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}"
-solum_dev_repos_pull: "{{ kolla_dev_repos_pull }}"
-solum_dev_mode: "{{ kolla_dev_mode }}"
-solum_source_version: "{{ kolla_source_version }}"
-
-####################
-# Keystone
-####################
-solum_ks_services:
-  - name: "solum_image_builder"
-    type: "image_builder"
-    description: "Openstack Solum Image Builder"
-    endpoints:
-      - {'interface': 'internal', 'url': '{{ solum_image_builder_internal_endpoint }}'}
-      - {'interface': 'public', 'url': '{{ solum_image_builder_public_endpoint }}'}
-  - name: "solum_application_deployment"
-    type: "application_deployment"
-    description: "Openstack Solum Application Deployment"
-    endpoints:
-      - {'interface': 'internal', 'url': '{{ solum_application_deployment_internal_endpoint }}'}
-      - {'interface': 'public', 'url': '{{ solum_application_deployment_public_endpoint }}'}
-
-solum_ks_users:
-  - project: "service"
-    user: "{{ solum_keystone_user }}"
-    password: "{{ solum_keystone_password }}"
-    role: "admin"
diff --git a/ansible/roles/solum/handlers/main.yml b/ansible/roles/solum/handlers/main.yml
deleted file mode 100644
index 35e8024726..0000000000
--- a/ansible/roles/solum/handlers/main.yml
+++ /dev/null
@@ -1,64 +0,0 @@
----
-- name: Restart solum-api container
-  vars:
-    service_name: "solum-api"
-    service: "{{ solum_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 solum-worker container
-  vars:
-    service_name: "solum-worker"
-    service: "{{ solum_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 solum-deployer container
-  vars:
-    service_name: "solum-deployer"
-    service: "{{ solum_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 solum-conductor container
-  vars:
-    service_name: "solum-conductor"
-    service: "{{ solum_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"
diff --git a/ansible/roles/solum/tasks/bootstrap.yml b/ansible/roles/solum/tasks/bootstrap.yml
deleted file mode 100644
index 7d58b4d204..0000000000
--- a/ansible/roles/solum/tasks/bootstrap.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-- name: Creating Solum 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: "{{ solum_database_shard_root_user }}"
-      login_password: "{{ database_password }}"
-      name: "{{ solum_database_name }}"
-  run_once: True
-  delegate_to: "{{ groups['solum-api'][0] }}"
-  when:
-    - not use_preconfigured_databases | bool
-
-- name: Creating Solum 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: "{{ solum_database_shard_root_user }}"
-      login_password: "{{ database_password }}"
-      name: "{{ solum_database_user }}"
-      password: "{{ solum_database_password }}"
-      host: "%"
-      priv: "{{ solum_database_name }}.*:ALL"
-      append_privs: "yes"
-  run_once: True
-  delegate_to: "{{ groups['solum-api'][0] }}"
-  when:
-    - not use_preconfigured_databases | bool
-
-- import_tasks: bootstrap_service.yml
diff --git a/ansible/roles/solum/tasks/bootstrap_service.yml b/ansible/roles/solum/tasks/bootstrap_service.yml
deleted file mode 100644
index 5f8a1676e9..0000000000
--- a/ansible/roles/solum/tasks/bootstrap_service.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- name: Running Solum bootstrap container
-  vars:
-    solum_api: "{{ solum_services['solum-api'] }}"
-  become: true
-  kolla_container:
-    action: "start_container"
-    common_options: "{{ docker_common_options }}"
-    detach: False
-    environment:
-      KOLLA_BOOTSTRAP:
-      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
-    image: "{{ solum_api.image }}"
-    labels:
-      BOOTSTRAP:
-    name: "bootstrap_solum"
-    restart_policy: oneshot
-    volumes: "{{ solum_api.volumes | reject('equalto', '') | list }}"
-  run_once: True
-  delegate_to: "{{ groups[solum_api.group][0] }}"
diff --git a/ansible/roles/solum/tasks/check-containers.yml b/ansible/roles/solum/tasks/check-containers.yml
deleted file mode 100644
index f8c11f0bc8..0000000000
--- a/ansible/roles/solum/tasks/check-containers.yml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-- name: Check solum 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: "{{ solum_services }}"
-  notify:
-    - "Restart {{ item.key }} container"
diff --git a/ansible/roles/solum/tasks/check.yml b/ansible/roles/solum/tasks/check.yml
deleted file mode 100644
index ed97d539c0..0000000000
--- a/ansible/roles/solum/tasks/check.yml
+++ /dev/null
@@ -1 +0,0 @@
----
diff --git a/ansible/roles/solum/tasks/clone.yml b/ansible/roles/solum/tasks/clone.yml
deleted file mode 100644
index 58c9835d55..0000000000
--- a/ansible/roles/solum/tasks/clone.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-- name: Cloning solum source repository for development
-  become: true
-  git:
-    repo: "{{ solum_git_repository }}"
-    dest: "{{ kolla_dev_repos_directory }}/{{ project_name }}"
-    update: "{{ solum_dev_repos_pull }}"
-    version: "{{ solum_source_version }}"
diff --git a/ansible/roles/solum/tasks/config.yml b/ansible/roles/solum/tasks/config.yml
deleted file mode 100644
index 9b3ff8072b..0000000000
--- a/ansible/roles/solum/tasks/config.yml
+++ /dev/null
@@ -1,50 +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: "{{ solum_services }}"
-
-- 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:
-    - inventory_hostname in groups[item.value.group]
-    - item.value.enabled | bool
-  with_dict: "{{ solum_services }}"
-  notify:
-    - Restart {{ item.key }} container
-
-- name: Copying over solum.conf
-  vars:
-    service_name: "{{ item.key }}"
-  merge_configs:
-    sources:
-      - "{{ role_path }}/templates/solum.conf.j2"
-      - "{{ node_custom_config }}/global.conf"
-      - "{{ node_custom_config }}/solum.conf"
-      - "{{ node_custom_config }}/solum/{{ item.key }}.conf"
-      - "{{ node_custom_config }}/solum/{{ inventory_hostname }}/solum.conf"
-    dest: "{{ node_config_directory }}/{{ item.key }}/solum.conf"
-    mode: "0660"
-  become: true
-  when:
-    - inventory_hostname in groups[item.value.group]
-    - item.value.enabled | bool
-  with_dict: "{{ solum_services }}"
-  notify:
-    - Restart {{ item.key }} container
diff --git a/ansible/roles/solum/tasks/config_validate.yml b/ansible/roles/solum/tasks/config_validate.yml
deleted file mode 100644
index 05ecc13b6a..0000000000
--- a/ansible/roles/solum/tasks/config_validate.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-- import_role:
-    name: service-config-validate
-  vars:
-    service_config_validate_services: "{{ solum_services }}"
-    service_name: "{{ project_name }}"
-    service_config_validation: "{{ solum_config_validation }}"
diff --git a/ansible/roles/solum/tasks/copy-certs.yml b/ansible/roles/solum/tasks/copy-certs.yml
deleted file mode 100644
index ff86842c5c..0000000000
--- a/ansible/roles/solum/tasks/copy-certs.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- name: "Copy certificates and keys for {{ project_name }}"
-  import_role:
-    role: service-cert-copy
-  vars:
-    project_services: "{{ solum_services }}"
diff --git a/ansible/roles/solum/tasks/deploy-containers.yml b/ansible/roles/solum/tasks/deploy-containers.yml
deleted file mode 100644
index eb24ab5c7a..0000000000
--- a/ansible/roles/solum/tasks/deploy-containers.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-- import_tasks: check-containers.yml
diff --git a/ansible/roles/solum/tasks/deploy.yml b/ansible/roles/solum/tasks/deploy.yml
deleted file mode 100644
index 3d2bb2f61d..0000000000
--- a/ansible/roles/solum/tasks/deploy.yml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-- import_tasks: register.yml
-
-- import_tasks: config.yml
-
-- import_tasks: check-containers.yml
-
-- include_tasks: clone.yml
-  when: solum_dev_mode | bool
-
-- import_tasks: bootstrap.yml
-
-- name: Flush handlers
-  meta: flush_handlers
diff --git a/ansible/roles/solum/tasks/loadbalancer.yml b/ansible/roles/solum/tasks/loadbalancer.yml
deleted file mode 100644
index 8881542192..0000000000
--- a/ansible/roles/solum/tasks/loadbalancer.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-- name: "Configure loadbalancer for {{ project_name }}"
-  import_role:
-    name: loadbalancer-config
-  vars:
-    project_services: "{{ solum_services }}"
-  tags: always
diff --git a/ansible/roles/solum/tasks/main.yml b/ansible/roles/solum/tasks/main.yml
deleted file mode 100644
index bc5d1e6257..0000000000
--- a/ansible/roles/solum/tasks/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-- include_tasks: "{{ kolla_action }}.yml"
diff --git a/ansible/roles/solum/tasks/precheck.yml b/ansible/roles/solum/tasks/precheck.yml
deleted file mode 100644
index 82b4f6fd46..0000000000
--- a/ansible/roles/solum/tasks/precheck.yml
+++ /dev/null
@@ -1,37 +0,0 @@
----
-- import_role:
-    name: service-precheck
-  vars:
-    service_precheck_services: "{{ solum_services }}"
-    service_name: "{{ project_name }}"
-
-- name: Get container facts
-  become: true
-  kolla_container_facts:
-    container_engine: "{{ kolla_container_engine }}"
-    name:
-      - solum_api
-  check_mode: false
-  register: container_facts
-
-- name: Checking free port for Solum Application Deployment
-  wait_for:
-    host: "{{ api_interface_address }}"
-    port: "{{ solum_application_deployment_port }}"
-    connect_timeout: 1
-    timeout: 1
-    state: stopped
-  when:
-    - container_facts['solum_api'] is not defined
-    - inventory_hostname in groups['solum-api']
-
-- name: Checking free port for Solum Image Builder
-  wait_for:
-    host: "{{ api_interface_address }}"
-    port: "{{ solum_image_builder_port }}"
-    connect_timeout: 1
-    timeout: 1
-    state: stopped
-  when:
-    - container_facts['solum_api'] is not defined
-    - inventory_hostname in groups['solum-api']
diff --git a/ansible/roles/solum/tasks/pull.yml b/ansible/roles/solum/tasks/pull.yml
deleted file mode 100644
index 53f9c5fda1..0000000000
--- a/ansible/roles/solum/tasks/pull.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-- import_role:
-    role: service-images-pull
diff --git a/ansible/roles/solum/tasks/reconfigure.yml b/ansible/roles/solum/tasks/reconfigure.yml
deleted file mode 100644
index 5b10a7e111..0000000000
--- a/ansible/roles/solum/tasks/reconfigure.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-- import_tasks: deploy.yml
diff --git a/ansible/roles/solum/tasks/register.yml b/ansible/roles/solum/tasks/register.yml
deleted file mode 100644
index fb320049a4..0000000000
--- a/ansible/roles/solum/tasks/register.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-- import_role:
-    name: service-ks-register
-  vars:
-    service_ks_register_auth: "{{ openstack_solum_auth }}"
-    service_ks_register_services: "{{ solum_ks_services }}"
-    service_ks_register_users: "{{ solum_ks_users }}"
diff --git a/ansible/roles/solum/tasks/stop.yml b/ansible/roles/solum/tasks/stop.yml
deleted file mode 100644
index 5018e56e6c..0000000000
--- a/ansible/roles/solum/tasks/stop.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- import_role:
-    name: service-stop
-  vars:
-    project_services: "{{ solum_services }}"
-    service_name: "{{ project_name }}"
diff --git a/ansible/roles/solum/tasks/upgrade.yml b/ansible/roles/solum/tasks/upgrade.yml
deleted file mode 100644
index 6ba9f99799..0000000000
--- a/ansible/roles/solum/tasks/upgrade.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-- import_tasks: config.yml
-
-- import_tasks: check-containers.yml
-
-- import_tasks: bootstrap_service.yml
-
-- name: Flush handlers
-  meta: flush_handlers
diff --git a/ansible/roles/solum/templates/solum-api.json.j2 b/ansible/roles/solum/templates/solum-api.json.j2
deleted file mode 100644
index 866dcd8132..0000000000
--- a/ansible/roles/solum/templates/solum-api.json.j2
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "command": "solum-api --config-file /etc/solum/solum.conf",
-    "config_files": [
-        {
-            "source": "{{ container_config_directory }}/solum.conf",
-            "dest": "/etc/solum/solum.conf",
-            "owner": "solum",
-            "perm": "0600"
-        }
-    ],
-    "permissions": [
-        {
-            "path": "/var/log/kolla/solum",
-            "owner": "solum:solum",
-            "recurse": true
-        }
-    ]
-}
diff --git a/ansible/roles/solum/templates/solum-conductor.json.j2 b/ansible/roles/solum/templates/solum-conductor.json.j2
deleted file mode 100644
index 0106030a28..0000000000
--- a/ansible/roles/solum/templates/solum-conductor.json.j2
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "command": "solum-conductor --config-file /etc/solum/solum.conf",
-    "config_files": [
-        {
-            "source": "{{ container_config_directory }}/solum.conf",
-            "dest": "/etc/solum/solum.conf",
-            "owner": "solum",
-            "perm": "0600"
-        }
-    ],
-    "permissions": [
-        {
-            "path": "/var/log/kolla/solum",
-            "owner": "solum:solum",
-            "recurse": true
-        }
-    ]
-}
diff --git a/ansible/roles/solum/templates/solum-deployer.json.j2 b/ansible/roles/solum/templates/solum-deployer.json.j2
deleted file mode 100644
index 228f42bdad..0000000000
--- a/ansible/roles/solum/templates/solum-deployer.json.j2
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "command": "solum-deployer --config-file /etc/solum/solum.conf",
-    "config_files": [
-        {
-            "source": "{{ container_config_directory }}/solum.conf",
-            "dest": "/etc/solum/solum.conf",
-            "owner": "solum",
-            "perm": "0600"
-        }
-    ],
-    "permissions": [
-        {
-            "path": "/var/log/kolla/solum",
-            "owner": "solum:solum",
-            "recurse": true
-        }
-    ]
-}
diff --git a/ansible/roles/solum/templates/solum-worker.json.j2 b/ansible/roles/solum/templates/solum-worker.json.j2
deleted file mode 100644
index 2a883df8dd..0000000000
--- a/ansible/roles/solum/templates/solum-worker.json.j2
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "command": "solum-worker --config-file /etc/solum/solum.conf",
-    "config_files": [
-        {
-            "source": "{{ container_config_directory }}/solum.conf",
-            "dest": "/etc/solum/solum.conf",
-            "owner": "solum",
-            "perm": "0600"
-        }
-    ],
-    "permissions": [
-        {
-            "path": "/var/log/kolla/solum",
-            "owner": "solum:solum",
-            "recurse": true
-        }
-    ]
-}
diff --git a/ansible/roles/solum/templates/solum.conf.j2 b/ansible/roles/solum/templates/solum.conf.j2
deleted file mode 100644
index d63a74933a..0000000000
--- a/ansible/roles/solum/templates/solum.conf.j2
+++ /dev/null
@@ -1,81 +0,0 @@
-[DEFAULT]
-debug = {{ solum_logging_debug }}
-log_dir = /var/log/kolla/solum
-transport_url = {{ rpc_transport_url }}
-
-{% if service_name == 'solum-api' %}
-bind_host = {{ api_interface_address }}
-bind_port = {{ solum_application_deployment_port }}
-{% endif %}
-
-[api]
-image_format = vm
-port = {{ solum_application_deployment_port }}
-workers = {{ solum_api_workers }}
-{% if service_name == 'solum-api' %}
-host = {{ api_interface_address }}
-{% endif %}
-
-[conductor]
-topic = solum-conductor
-
-[deployer]
-growth_factor = 1.1
-wait_interval = 1
-max_attempts = 2000
-handler = heat
-topic = solum-deployer
-
-[worker]
-proj_dir = /solum
-handler = shell
-topic = solum-worker
-task_log_dir = /var/log/kolla/solum/worker
-image_storage = glance
-docker_build_timeout = 1800
-lp_operator_tenant_name = service
-lp_operator_password = {{ solum_keystone_password }}
-lp_operator_user = {{ solum_keystone_user }}
-
-[builder]
-port = {{ solum_image_builder_public_endpoint }}
-host = {{ ansible_facts.hostname }}_{{ item }}
-
-[database]
-connection = mysql+pymysql://{{ solum_database_user }}:{{ solum_database_password }}@{{ solum_database_address }}/{{ solum_database_name }}
-connection_recycle_time = {{ database_connection_recycle_time }}
-max_pool_size = {{ database_max_pool_size }}
-max_retries = -1
-
-[keystone_authtoken]
-service_type = application_deployment
-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 = {{ solum_keystone_user }}
-password = {{ solum_keystone_password }}
-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 }}
-
-[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 %}
diff --git a/ansible/roles/solum/vars/main.yml b/ansible/roles/solum/vars/main.yml
deleted file mode 100644
index 40bf810d2e..0000000000
--- a/ansible/roles/solum/vars/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-project_name: "solum"
diff --git a/ansible/site.yml b/ansible/site.yml
index be03c79b79..d2d51a29e9 100644
--- a/ansible/site.yml
+++ b/ansible/site.yml
@@ -69,7 +69,6 @@
         - enable_sahara_{{ enable_sahara | bool }}
         - enable_senlin_{{ enable_senlin | bool }}
         - enable_skyline_{{ enable_skyline | bool }}
-        - enable_solum_{{ enable_solum | bool }}
         - enable_swift_{{ enable_swift | bool }}
         - enable_tacker_{{ enable_tacker | bool }}
         - enable_telegraf_{{ enable_telegraf | bool }}
@@ -312,11 +311,6 @@
             tasks_from: loadbalancer
           tags: skyline
           when: enable_skyline | bool
-        - include_role:
-            name: solum
-            tasks_from: loadbalancer
-          tags: solum
-          when: enable_solum | bool
         - include_role:
             name: swift
             tasks_from: loadbalancer
@@ -793,25 +787,6 @@
     - { role: murano,
         tags: murano }
 
-- name: Apply role solum
-  gather_facts: false
-  hosts:
-    - solum-api
-    - solum-worker
-    - solum-deployer
-    - solum-conductor
-    - solum-application-deployment
-    - solum-image-builder
-    - '&enable_solum_True'
-  serial: '{{ kolla_serial|default("0") }}'
-  max_fail_percentage: >-
-    {{ solum_max_fail_percentage |
-       default(kolla_max_fail_percentage) |
-       default(100) }}
-  roles:
-    - { role: solum,
-        tags: solum }
-
 - name: Apply role magnum
   gather_facts: false
   hosts:
diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml
index 6a65e01220..e7f2e403e7 100644
--- a/etc/kolla/globals.yml
+++ b/etc/kolla/globals.yml
@@ -372,7 +372,6 @@ workaround_ansible_issue_8743: yes
 #enable_horizon_octavia: "{{ enable_octavia | bool }}"
 #enable_horizon_sahara: "{{ enable_sahara | bool }}"
 #enable_horizon_senlin: "{{ enable_senlin | bool }}"
-#enable_horizon_solum: "{{ enable_solum | bool }}"
 #enable_horizon_tacker: "{{ enable_tacker | bool }}"
 #enable_horizon_trove: "{{ enable_trove | bool }}"
 #enable_horizon_vitrage: "{{ enable_vitrage | bool }}"
@@ -428,7 +427,6 @@ workaround_ansible_issue_8743: yes
 #enable_sahara: "no"
 #enable_senlin: "no"
 #enable_skyline: "no"
-#enable_solum: "no"
 #enable_swift: "no"
 #enable_swift_s3api: "no"
 #enable_tacker: "no"
diff --git a/etc/kolla/passwords.yml b/etc/kolla/passwords.yml
index 3aae58fcae..07fac8aa97 100644
--- a/etc/kolla/passwords.yml
+++ b/etc/kolla/passwords.yml
@@ -138,9 +138,6 @@ watcher_keystone_password:
 senlin_database_password:
 senlin_keystone_password:
 
-solum_database_password:
-solum_keystone_password:
-
 horizon_secret_key:
 horizon_database_password:
 
diff --git a/releasenotes/notes/drop-solum-5bbdd7f4fc937017.yaml b/releasenotes/notes/drop-solum-5bbdd7f4fc937017.yaml
new file mode 100644
index 0000000000..fccb7f8249
--- /dev/null
+++ b/releasenotes/notes/drop-solum-5bbdd7f4fc937017.yaml
@@ -0,0 +1,4 @@
+---
+upgrade:
+  - |
+    Support for deploying ``Solum`` has been dropped.
diff --git a/tests/templates/inventory.j2 b/tests/templates/inventory.j2
index 4f3d034013..f173cb884d 100644
--- a/tests/templates/inventory.j2
+++ b/tests/templates/inventory.j2
@@ -185,9 +185,6 @@ control
 [murano:children]
 control
 
-[solum:children]
-control
-
 [ironic:children]
 control
 
@@ -462,25 +459,6 @@ sahara
 [sahara-engine:children]
 sahara
 
-# Solum
-[solum-api:children]
-solum
-
-[solum-worker:children]
-solum
-
-[solum-deployer:children]
-solum
-
-[solum-conductor:children]
-solum
-
-[solum-application-deployment:children]
-solum
-
-[solum-image-builder:children]
-solum
-
 # Mistral
 [mistral-api:children]
 mistral