From f3b85e4ba527d8b4ddba8458b527b18e0e10efa8 Mon Sep 17 00:00:00 2001
From: Emilien Macchi <emilien@redhat.com>
Date: Thu, 28 Feb 2019 16:29:03 -0500
Subject: [PATCH] Remove Congress

Congress doesn't seem to be used anywhere, we never had a bug report or
any sign of somebody out there actually using it.

Let's remove its support in TripleO, to reduce the codebase.

Change-Id: Idca6b12f1c0ca3bc15bedf6469d4063a4dac31fa
---
 README.rst                                    |   2 -
 .../scenario007-multinode-containers.yaml     |   2 -
 .../deployed-server-roles-data.yaml           |   1 -
 .../congress/congress-container-puppet.yaml   | 264 ------------------
 environments/enable_congress.yaml             |   2 -
 environments/services-baremetal/congress.yaml |   2 -
 environments/services/congress.yaml           |   2 -
 .../ssl/no-tls-endpoints-public-ip.yaml       |   3 -
 .../ssl/tls-endpoints-public-dns.yaml         |   3 -
 environments/ssl/tls-endpoints-public-ip.yaml |   3 -
 .../ssl/tls-everywhere-endpoints-dns.yaml     |   3 -
 environments/standalone.yaml                  |   2 -
 .../standalone/standalone-overcloud.yaml      |   1 -
 .../standalone/standalone-tripleo.yaml        |   1 -
 network/endpoints/endpoint_data.yaml          |   9 -
 network/endpoints/endpoint_map.yaml           | 246 ----------------
 network/service_net_map.j2.yaml               |   1 -
 overcloud-resource-registry-puppet.j2.yaml    |   1 -
 puppet/services/congress.yaml                 | 152 ----------
 .../congress_removal-95dd16335fbb8bce.yaml    |   5 +
 roles/Controller.yaml                         |   1 -
 roles/ControllerAllNovaStandalone.yaml        |   1 -
 roles/ControllerNoCeph.yaml                   |   1 -
 roles/ControllerNovaStandalone.yaml           |   1 -
 roles/ControllerOpenstack.yaml                |   1 -
 roles/ControllerStorageNfs.yaml               |   1 -
 roles/Standalone.yaml                         |   1 -
 roles_data.yaml                               |   1 -
 sample-env-generator/ssl.yaml                 |  12 -
 sample-env-generator/standalone.yaml          |   4 -
 zuul.d/layout.yaml                            |   1 -
 31 files changed, 5 insertions(+), 725 deletions(-)
 delete mode 100644 deployment/congress/congress-container-puppet.yaml
 delete mode 100644 environments/enable_congress.yaml
 delete mode 100644 environments/services-baremetal/congress.yaml
 delete mode 100644 environments/services/congress.yaml
 delete mode 100644 puppet/services/congress.yaml
 create mode 100644 releasenotes/notes/congress_removal-95dd16335fbb8bce.yaml

diff --git a/README.rst b/README.rst
index 215778dcd6..57e9c4a7ba 100644
--- a/README.rst
+++ b/README.rst
@@ -134,8 +134,6 @@ and should be executed according to the following table:
 +----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
 | tacker         |        |        |        |        |        |        |    X   |        |        |        |        |
 +----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
-| congress       |        |        |        |        |        |        |    X   |        |        |        |        |
-+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
 | cephmds        |        |        |        |        |    X   |        |        |        |        |        |        |
 +----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
 | manila         |        |        |        |        |    X   |        |        |        |        |        |        |
diff --git a/ci/environments/scenario007-multinode-containers.yaml b/ci/environments/scenario007-multinode-containers.yaml
index e38ff8f667..dc94562505 100644
--- a/ci/environments/scenario007-multinode-containers.yaml
+++ b/ci/environments/scenario007-multinode-containers.yaml
@@ -27,7 +27,6 @@ resource_registry:
   # TODO tacker still wip https://bugs.launchpad.net/tripleo/+bug/1714270
   # OS::TripleO::Services::Tacker: ../../deployment/tacker/tacker-container-puppet.yaml
   OS::TripleO::Services::Tacker: OS::Heat::None
-  OS::TripleO::Services::Congress: ../../deployment/congress/congress-container-puppet.yaml
   # environments/docker-ha.yaml enables the cinder service. So disable cinder services
   OS::TripleO::Services::CinderVolume: OS::Heat::None
   OS::TripleO::Services::CinderApi: OS::Heat::None
@@ -77,7 +76,6 @@ parameter_defaults:
     - OS::TripleO::Services::Sshd
     - OS::TripleO::Services::Iscsid
     - OS::TripleO::Services::Tacker
-    - OS::TripleO::Services::Congress
   ControllerExtraConfig:
     nova::compute::libvirt::services::libvirt_virt_type: qemu
     nova::compute::libvirt::libvirt_virt_type: qemu
diff --git a/deployed-server/deployed-server-roles-data.yaml b/deployed-server/deployed-server-roles-data.yaml
index 37f1c75a13..64833fa228 100644
--- a/deployed-server/deployed-server-roles-data.yaml
+++ b/deployed-server/deployed-server-roles-data.yaml
@@ -69,7 +69,6 @@
     - OS::TripleO::Services::Clustercheck
     - OS::TripleO::Services::ContainerImagePrepare
     - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::Congress
     - OS::TripleO::Services::Docker
     - OS::TripleO::Services::Ec2Api
     - OS::TripleO::Services::Etcd
diff --git a/deployment/congress/congress-container-puppet.yaml b/deployment/congress/congress-container-puppet.yaml
deleted file mode 100644
index 308b85b005..0000000000
--- a/deployment/congress/congress-container-puppet.yaml
+++ /dev/null
@@ -1,264 +0,0 @@
-heat_template_version: rocky
-
-description: >
-  OpenStack containerized Congress API service
-
-parameters:
-  DockerCongressApiImage:
-    description: image
-    type: string
-  DockerCongressConfigImage:
-    description: The container image to use for the congress config_volume
-    type: string
-  EndpointMap:
-    default: {}
-    description: Mapping of service endpoint -> protocol. Typically set
-                 via parameter_defaults in the resource registry.
-    type: json
-  ServiceData:
-    default: {}
-    description: Dictionary packing service data
-    type: json
-  ServiceNetMap:
-    default: {}
-    description: Mapping of service_name -> network name. Typically set
-                 via parameter_defaults in the resource registry.  This
-                 mapping overrides those in ServiceNetMapDefaults.
-    type: json
-  DefaultPasswords:
-    default: {}
-    type: json
-  RoleName:
-    default: ''
-    description: Role name on which the service is applied
-    type: string
-  RoleParameters:
-    default: {}
-    description: Parameters specific to the role
-    type: json
-  UpgradeRemoveUnusedPackages:
-    default: false
-    description: Remove package if the service is being disabled during upgrade
-    type: boolean
-  CongressPassword:
-    description: The password for the congress service account.
-    type: string
-    hidden: true
-  Debug:
-    type: boolean
-    default: false
-    description: Set to True to enable debugging on all services.
-  CongressDebug:
-    default: ''
-    description: Set to True to enable debugging Congress service.
-    type: string
-    constraints:
-      - allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
-  KeystoneRegion:
-    type: string
-    default: 'regionOne'
-    description: Keystone region for endpoint
-  CongressPolicies:
-    description: |
-      A hash of policies to configure for Congress.
-      e.g. { congress-context_is_admin: { key: context_is_admin, value: 'role:admin' } }
-    default: {}
-    type: json
-  NotificationDriver:
-    type: string
-    default: 'messagingv2'
-    description: Driver or drivers to handle sending notifications.
-  RpcPort:
-    default: 5672
-    description: The network port for messaging backend
-    type: number
-  RpcUserName:
-    default: guest
-    description: The username for messaging backend
-    type: string
-  RpcPassword:
-    description: The password for messaging backend
-    type: string
-    hidden: true
-  RpcUseSSL:
-    default: false
-    description: >
-        Messaging client subscriber parameter to specify
-        an SSL connection to the messaging host.
-    type: string
-
-conditions:
-  service_debug_unset: {equals : [{get_param: CongressDebug}, '']}
-
-resources:
-
-  ContainersCommon:
-    type: ../../docker/services/containers-common.yaml
-
-  MySQLClient:
-    type: ../../deployment/database/mysql-client.yaml
-
-outputs:
-  role_data:
-    description: Role data for the Congress API role.
-    value:
-      service_name: congress
-      config_settings:
-        congress_password: {get_param: CongressPassword}
-        congress::db::database_connection:
-          make_url:
-            scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
-            username: congress
-            password: {get_param: CongressPassword}
-            host: {get_param: [EndpointMap, MysqlInternal, host]}
-            path: /congress
-            query:
-              read_default_file: /etc/my.cnf.d/tripleo.cnf
-              read_default_group: tripleo
-        congress::logging::debug:
-          if:
-          - service_debug_unset
-          - {get_param: Debug }
-          - {get_param: CongressDebug }
-        congress::rpc_backend: rabbit
-        congress::notification_driver: {get_param: NotificationDriver}
-        # TODO(ansmith): remove once p-t-o switches to oslo params
-        congress::rabbit_userid: {get_param: RpcUserName}
-        congress::rabbit_password: {get_param: RpcPassword}
-        congress::rabbit_use_ssl: {get_param: RpcUseSSL}
-        congress::rabbit_port: {get_param: RpcPort}
-        congress::server::bind_host:
-          str_replace:
-             template:
-               "%{hiera('$NETWORK')}"
-             params:
-               $NETWORK: {get_param: [ServiceNetMap, CongressApiNetwork]}
-
-        congress::keystone::authtoken::password: {get_param: CongressPassword}
-        congress::keystone::authtoken::project_name: 'service'
-        congress::keystone::authtoken::user_domain_name: 'Default'
-        congress::keystone::authtoken::project_domain_name: 'Default'
-        congress::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
-        congress::keystone::authtoken::www_authenticate_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
-        congress::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
-
-        congress::db::mysql::password: {get_param: CongressPassword}
-        congress::db::mysql::user: congress
-        congress::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
-        congress::db::mysql::dbname: congress
-        congress::db::mysql::allowed_hosts:
-          - '%'
-          - {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
-        congress::policy::policies: {get_param: CongressPolicies}
-        tripleo::congress::firewall_rules:
-          '113 congress':
-            dport:
-              - 1789
-              - 13789
-      service_config_settings:
-        keystone:
-          congress::keystone::auth::tenant: 'service'
-          congress::keystone::auth::region: {get_param: KeystoneRegion}
-          congress::keystone::auth::password: {get_param: CongressPassword}
-          congress::keystone::auth::public_url: {get_param: [EndpointMap, CongressPublic, uri]}
-          congress::keystone::auth::internal_url: {get_param: [EndpointMap, CongressInternal, uri]}
-          congress::keystone::auth::admin_url: {get_param: [EndpointMap, CongressAdmin, uri]}
-      # BEGIN DOCKER SETTINGS
-      puppet_config:
-        config_volume: congress
-        puppet_tags: congress_config
-        step_config:
-          list_join:
-            - "\n"
-            - - "include ::tripleo::profile::base::congress"
-              - {get_attr: [MySQLClient, role_data, step_config]}
-        config_image: {get_param: DockerCongressConfigImage}
-      kolla_config:
-        /var/lib/kolla/config_files/congress_api.json:
-          command: /usr/bin/congress-server --config-file=/etc/congress/congress.conf --log-file=/var/log/congress/api.log
-          config_files:
-            - source: "/var/lib/kolla/config_files/src/*"
-              dest: "/"
-              merge: true
-              preserve_properties: true
-          permissions:
-            - path: /var/log/congress
-              owner: congress:congress
-              recurse: true
-      docker_config:
-        # db sync runs before permissions set by kolla_config
-        step_2:
-          congress_init_logs:
-            image: &congress_api_image {get_param: DockerCongressApiImage}
-            net: none
-            privileged: false
-            user: root
-            volumes:
-              - /var/log/containers/congress:/var/log/congress:z
-            command: ['/bin/bash', '-c', 'chown -R congress:congress /var/log/congress']
-        step_3:
-          congress_db_sync:
-            image: *congress_api_image
-            net: host
-            privileged: false
-            detach: false
-            user: root
-            volumes:
-              list_concat:
-                - {get_attr: [ContainersCommon, volumes]}
-                -
-                  # FIXME(mandre) mounting /etc rw to workaround LP1696283
-                  # This should go away anyway and mount the exact files it
-                  # needs or use kolla set_configs.py
-                  - /var/lib/config-data/congress/etc/:/etc/
-                  - /var/log/containers/congress:/var/log/congress:z
-            command: "/usr/bin/bootstrap_host_exec congress su congress -s /bin/bash -c 'congress-db-manage --config-file /etc/congress/congress.conf upgrade head'"
-        step_4:
-          congress_api:
-            start_order: 15
-            image: *congress_api_image
-            net: host
-            privileged: false
-            restart: always
-            volumes:
-              list_concat:
-                - {get_attr: [ContainersCommon, volumes]}
-                -
-                  - /var/lib/kolla/config_files/congress_api.json:/var/lib/kolla/config_files/config.json:ro
-                  - /var/lib/config-data/puppet-generated/congress/:/var/lib/kolla/config_files/src:ro
-                  - /var/log/containers/congress:/var/log/congress:z
-            environment:
-              - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
-      host_prep_tasks:
-        - name: create persistent directories
-          file:
-            path: "{{ item.path }}"
-            state: directory
-            setype: "{{ item.setype }}"
-          with_items:
-            - { 'path': /var/log/congress, 'setype': svirt_sandbox_file_t }
-            - { 'path': /var/log/containers/congress, 'setype': svirt_sandbox_file_t }
-        - name: congress logs readme
-          copy:
-            dest: /var/log/congress/readme.txt
-            content: |
-              Log files from congress containers can be found under
-              /var/log/containers/congress.
-          ignore_errors: true
-      post_upgrade_tasks:
-        - when: step|int == 1
-          import_role:
-            name: tripleo-docker-rm
-          vars:
-            containers_to_rm:
-              - congress_api
-      upgrade_tasks:
-        - when: step|int == 3
-          block:
-            - name: Set fact for removal of openstack-congress package
-              set_fact:
-                remove_congress_package: {get_param: UpgradeRemoveUnusedPackages}
-            - name: Remove openstack-congress package if operator requests it
-              package: name=openstack-congress state=removed
-              ignore_errors: True
-              when: remove_congress_package|bool
diff --git a/environments/enable_congress.yaml b/environments/enable_congress.yaml
deleted file mode 100644
index 0688c76872..0000000000
--- a/environments/enable_congress.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-resource_registry:
-  OS::TripleO::Services::Congress: ../deployment/congress/congress-container-puppet.yaml
diff --git a/environments/services-baremetal/congress.yaml b/environments/services-baremetal/congress.yaml
deleted file mode 100644
index b5199a90c6..0000000000
--- a/environments/services-baremetal/congress.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-resource_registry:
-  OS::TripleO::Services::Congress: ../../deployment/congress/congress-container-puppet.yaml
diff --git a/environments/services/congress.yaml b/environments/services/congress.yaml
deleted file mode 100644
index b5199a90c6..0000000000
--- a/environments/services/congress.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-resource_registry:
-  OS::TripleO::Services::Congress: ../../deployment/congress/congress-container-puppet.yaml
diff --git a/environments/ssl/no-tls-endpoints-public-ip.yaml b/environments/ssl/no-tls-endpoints-public-ip.yaml
index 9d77805567..d7bb00eb29 100644
--- a/environments/ssl/no-tls-endpoints-public-ip.yaml
+++ b/environments/ssl/no-tls-endpoints-public-ip.yaml
@@ -28,9 +28,6 @@ parameter_defaults:
     CinderAdmin: {protocol: http, port: '8776', host: IP_ADDRESS}
     CinderInternal: {protocol: http, port: '8776', host: IP_ADDRESS}
     CinderPublic: {protocol: http, port: '8776', host: IP_ADDRESS}
-    CongressAdmin: {protocol: http, port: '1789', host: IP_ADDRESS}
-    CongressInternal: {protocol: http, port: '1789', host: IP_ADDRESS}
-    CongressPublic: {protocol: http, port: '1789', host: IP_ADDRESS}
     DesignateAdmin: {protocol: 'http', port: '9001', host: IP_ADDRESS}
     DesignateInternal: {protocol: 'http', port: '9001', host: IP_ADDRESS}
     DesignatePublic: {protocol: 'http', port: '9001', host: IP_ADDRESS}
diff --git a/environments/ssl/tls-endpoints-public-dns.yaml b/environments/ssl/tls-endpoints-public-dns.yaml
index 6cd4e06cb7..8412c24747 100644
--- a/environments/ssl/tls-endpoints-public-dns.yaml
+++ b/environments/ssl/tls-endpoints-public-dns.yaml
@@ -24,9 +24,6 @@ parameter_defaults:
     CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
     CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
     CinderPublic: {protocol: 'https', port: '13776', host: 'CLOUDNAME'}
-    CongressAdmin: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
-    CongressInternal: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
-    CongressPublic: {protocol: 'https', port: '13789', host: 'CLOUDNAME'}
     DesignateAdmin: {protocol: 'http', port: '9001', host: 'IP_ADDRESS'}
     DesignateInternal: {protocol: 'http', port: '9001', host: 'IP_ADDRESS'}
     DesignatePublic: {protocol: 'https', port: '13001', host: 'CLOUDNAME'}
diff --git a/environments/ssl/tls-endpoints-public-ip.yaml b/environments/ssl/tls-endpoints-public-ip.yaml
index 5bc589b57b..dd586e18f8 100644
--- a/environments/ssl/tls-endpoints-public-ip.yaml
+++ b/environments/ssl/tls-endpoints-public-ip.yaml
@@ -24,9 +24,6 @@ parameter_defaults:
     CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
     CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
     CinderPublic: {protocol: 'https', port: '13776', host: 'IP_ADDRESS'}
-    CongressAdmin: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
-    CongressInternal: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
-    CongressPublic: {protocol: 'https', port: '13789', host: 'IP_ADDRESS'}
     DesignateAdmin: {protocol: 'http', port: '9001', host: 'IP_ADDRESS'}
     DesignateInternal: {protocol: 'http', port: '9001', host: 'IP_ADDRESS'}
     DesignatePublic: {protocol: 'https', port: '13001', host: 'IP_ADDRESS'}
diff --git a/environments/ssl/tls-everywhere-endpoints-dns.yaml b/environments/ssl/tls-everywhere-endpoints-dns.yaml
index 6e0d9f01fb..9181d2fe45 100644
--- a/environments/ssl/tls-everywhere-endpoints-dns.yaml
+++ b/environments/ssl/tls-everywhere-endpoints-dns.yaml
@@ -24,9 +24,6 @@ parameter_defaults:
     CinderAdmin: {protocol: 'https', port: '8776', host: 'CLOUDNAME'}
     CinderInternal: {protocol: 'https', port: '8776', host: 'CLOUDNAME'}
     CinderPublic: {protocol: 'https', port: '13776', host: 'CLOUDNAME'}
-    CongressAdmin: {protocol: 'https', port: '1789', host: 'CLOUDNAME'}
-    CongressInternal: {protocol: 'https', port: '1789', host: 'CLOUDNAME'}
-    CongressPublic: {protocol: 'https', port: '13789', host: 'CLOUDNAME'}
     DesignateAdmin: {protocol: 'https', port: '9001', host: 'CLOUDNAME'}
     DesignateInternal: {protocol: 'https', port: '9001', host: 'CLOUDNAME'}
     DesignatePublic: {protocol: 'https', port: '13001', host: 'CLOUDNAME'}
diff --git a/environments/standalone.yaml b/environments/standalone.yaml
index 3a8bbd22c8..80dc60e2b5 100644
--- a/environments/standalone.yaml
+++ b/environments/standalone.yaml
@@ -42,8 +42,6 @@ resource_registry:
   OS::TripleO::Services::CeilometerAgentCentral: OS::Heat::None
   OS::TripleO::Services::CeilometerAgentNotification: OS::Heat::None
   OS::TripleO::Services::ComputeCeilometerAgent: OS::Heat::None
-  # Congress
-  OS::TripleO::Services::Congress: OS::Heat::None
   # Designate
   OS::TripleO::Services::DesignateApi: OS::Heat::None
   OS::TripleO::Services::DesignateCentral: OS::Heat::None
diff --git a/environments/standalone/standalone-overcloud.yaml b/environments/standalone/standalone-overcloud.yaml
index 501e8e5d96..858b320308 100644
--- a/environments/standalone/standalone-overcloud.yaml
+++ b/environments/standalone/standalone-overcloud.yaml
@@ -59,7 +59,6 @@ resource_registry:
   OS::TripleO::Services::CeilometerAgentCentral: OS::Heat::None
   OS::TripleO::Services::CeilometerAgentNotification: OS::Heat::None
   OS::TripleO::Services::ComputeCeilometerAgent: OS::Heat::None
-  OS::TripleO::Services::Congress: OS::Heat::None
   OS::TripleO::Services::DesignateApi: OS::Heat::None
   OS::TripleO::Services::DesignateCentral: OS::Heat::None
   OS::TripleO::Services::DesignateMDNS: OS::Heat::None
diff --git a/environments/standalone/standalone-tripleo.yaml b/environments/standalone/standalone-tripleo.yaml
index 5461723f30..355380dc28 100644
--- a/environments/standalone/standalone-tripleo.yaml
+++ b/environments/standalone/standalone-tripleo.yaml
@@ -73,7 +73,6 @@ resource_registry:
   OS::TripleO::Services::CeilometerAgentCentral: OS::Heat::None
   OS::TripleO::Services::CeilometerAgentNotification: OS::Heat::None
   OS::TripleO::Services::ComputeCeilometerAgent: OS::Heat::None
-  OS::TripleO::Services::Congress: OS::Heat::None
   OS::TripleO::Services::ContainerImagePrepare: ../../deployment/container-image-prepare/container-image-prepare-baremetal-ansible.yaml
   OS::TripleO::Services::DesignateApi: OS::Heat::None
   OS::TripleO::Services::DesignateCentral: OS::Heat::None
diff --git a/network/endpoints/endpoint_data.yaml b/network/endpoints/endpoint_data.yaml
index e66fbc7d3c..202ec4c12d 100644
--- a/network/endpoints/endpoint_data.yaml
+++ b/network/endpoints/endpoint_data.yaml
@@ -82,15 +82,6 @@ Cinder:
             V3: /v3/%(tenant_id)s
     port: 8776
 
-Congress:
-    Internal:
-        net_param: CongressApi
-    Public:
-        net_param: Public
-    Admin:
-        net_param: CongressApi
-    port: 1789
-
 Glance:
     Internal:
         net_param: GlanceApi
diff --git a/network/endpoints/endpoint_map.yaml b/network/endpoints/endpoint_map.yaml
index 10299abca0..ff313ea95e 100644
--- a/network/endpoints/endpoint_map.yaml
+++ b/network/endpoints/endpoint_map.yaml
@@ -31,9 +31,6 @@ parameters:
       CinderAdmin: {protocol: http, port: '8776', host: IP_ADDRESS}
       CinderInternal: {protocol: http, port: '8776', host: IP_ADDRESS}
       CinderPublic: {protocol: http, port: '8776', host: IP_ADDRESS}
-      CongressAdmin: {protocol: http, port: '1789', host: IP_ADDRESS}
-      CongressInternal: {protocol: http, port: '1789', host: IP_ADDRESS}
-      CongressPublic: {protocol: http, port: '1789', host: IP_ADDRESS}
       DesignateAdmin: {protocol: http, port: '9001', host: IP_ADDRESS}
       DesignateInternal: {protocol: http, port: '9001', host: IP_ADDRESS}
       DesignatePublic: {protocol: http, port: '9001', host: IP_ADDRESS}
@@ -1628,249 +1625,6 @@ outputs:
                         template: NETWORK_uri
             port:
               get_param: [EndpointMap, CinderPublic, port]
-      CongressAdmin:
-        host:
-          str_replace:
-            template:
-              get_param: [EndpointMap, CongressAdmin, host]
-            params:
-              CLOUDNAME:
-                get_param:
-                - CloudEndpoints
-                - get_param: [ServiceNetMap, CongressApiNetwork]
-              IP_ADDRESS:
-                get_param:
-                - NetIpMap
-                - str_replace:
-                    params:
-                      NETWORK:
-                        get_param: [ServiceNetMap, CongressApiNetwork]
-                    template: NETWORK_uri
-        host_nobrackets:
-          str_replace:
-            template:
-              get_param: [EndpointMap, CongressAdmin, host]
-            params:
-              CLOUDNAME:
-                get_param:
-                - CloudEndpoints
-                - get_param: [ServiceNetMap, CongressApiNetwork]
-              IP_ADDRESS:
-                get_param:
-                - NetIpMap
-                - get_param: [ServiceNetMap, CongressApiNetwork]
-        port:
-          get_param: [EndpointMap, CongressAdmin, port]
-        protocol:
-          get_param: [EndpointMap, CongressAdmin, protocol]
-        uri:
-          make_url:
-            scheme:
-              get_param: [EndpointMap, CongressAdmin, protocol]
-            host:
-              str_replace:
-                template:
-                  get_param: [EndpointMap, CongressAdmin, host]
-                params:
-                  CLOUDNAME:
-                    get_param:
-                    - CloudEndpoints
-                    - get_param: [ServiceNetMap, CongressApiNetwork]
-                  IP_ADDRESS:
-                    get_param:
-                    - NetIpMap
-                    - str_replace:
-                        params:
-                          NETWORK:
-                            get_param: [ServiceNetMap, CongressApiNetwork]
-                        template: NETWORK_uri
-            port:
-              get_param: [EndpointMap, CongressAdmin, port]
-        uri_no_suffix:
-          make_url:
-            scheme:
-              get_param: [EndpointMap, CongressAdmin, protocol]
-            host:
-              str_replace:
-                template:
-                  get_param: [EndpointMap, CongressAdmin, host]
-                params:
-                  CLOUDNAME:
-                    get_param:
-                    - CloudEndpoints
-                    - get_param: [ServiceNetMap, CongressApiNetwork]
-                  IP_ADDRESS:
-                    get_param:
-                    - NetIpMap
-                    - str_replace:
-                        params:
-                          NETWORK:
-                            get_param: [ServiceNetMap, CongressApiNetwork]
-                        template: NETWORK_uri
-            port:
-              get_param: [EndpointMap, CongressAdmin, port]
-      CongressInternal:
-        host:
-          str_replace:
-            template:
-              get_param: [EndpointMap, CongressInternal, host]
-            params:
-              CLOUDNAME:
-                get_param:
-                - CloudEndpoints
-                - get_param: [ServiceNetMap, CongressApiNetwork]
-              IP_ADDRESS:
-                get_param:
-                - NetIpMap
-                - str_replace:
-                    params:
-                      NETWORK:
-                        get_param: [ServiceNetMap, CongressApiNetwork]
-                    template: NETWORK_uri
-        host_nobrackets:
-          str_replace:
-            template:
-              get_param: [EndpointMap, CongressInternal, host]
-            params:
-              CLOUDNAME:
-                get_param:
-                - CloudEndpoints
-                - get_param: [ServiceNetMap, CongressApiNetwork]
-              IP_ADDRESS:
-                get_param:
-                - NetIpMap
-                - get_param: [ServiceNetMap, CongressApiNetwork]
-        port:
-          get_param: [EndpointMap, CongressInternal, port]
-        protocol:
-          get_param: [EndpointMap, CongressInternal, protocol]
-        uri:
-          make_url:
-            scheme:
-              get_param: [EndpointMap, CongressInternal, protocol]
-            host:
-              str_replace:
-                template:
-                  get_param: [EndpointMap, CongressInternal, host]
-                params:
-                  CLOUDNAME:
-                    get_param:
-                    - CloudEndpoints
-                    - get_param: [ServiceNetMap, CongressApiNetwork]
-                  IP_ADDRESS:
-                    get_param:
-                    - NetIpMap
-                    - str_replace:
-                        params:
-                          NETWORK:
-                            get_param: [ServiceNetMap, CongressApiNetwork]
-                        template: NETWORK_uri
-            port:
-              get_param: [EndpointMap, CongressInternal, port]
-        uri_no_suffix:
-          make_url:
-            scheme:
-              get_param: [EndpointMap, CongressInternal, protocol]
-            host:
-              str_replace:
-                template:
-                  get_param: [EndpointMap, CongressInternal, host]
-                params:
-                  CLOUDNAME:
-                    get_param:
-                    - CloudEndpoints
-                    - get_param: [ServiceNetMap, CongressApiNetwork]
-                  IP_ADDRESS:
-                    get_param:
-                    - NetIpMap
-                    - str_replace:
-                        params:
-                          NETWORK:
-                            get_param: [ServiceNetMap, CongressApiNetwork]
-                        template: NETWORK_uri
-            port:
-              get_param: [EndpointMap, CongressInternal, port]
-      CongressPublic:
-        host:
-          str_replace:
-            template:
-              get_param: [EndpointMap, CongressPublic, host]
-            params:
-              CLOUDNAME:
-                get_param:
-                - CloudEndpoints
-                - get_param: [ServiceNetMap, PublicNetwork]
-              IP_ADDRESS:
-                get_param:
-                - NetIpMap
-                - str_replace:
-                    params:
-                      NETWORK:
-                        get_param: [ServiceNetMap, PublicNetwork]
-                    template: NETWORK_uri
-        host_nobrackets:
-          str_replace:
-            template:
-              get_param: [EndpointMap, CongressPublic, host]
-            params:
-              CLOUDNAME:
-                get_param:
-                - CloudEndpoints
-                - get_param: [ServiceNetMap, PublicNetwork]
-              IP_ADDRESS:
-                get_param:
-                - NetIpMap
-                - get_param: [ServiceNetMap, PublicNetwork]
-        port:
-          get_param: [EndpointMap, CongressPublic, port]
-        protocol:
-          get_param: [EndpointMap, CongressPublic, protocol]
-        uri:
-          make_url:
-            scheme:
-              get_param: [EndpointMap, CongressPublic, protocol]
-            host:
-              str_replace:
-                template:
-                  get_param: [EndpointMap, CongressPublic, host]
-                params:
-                  CLOUDNAME:
-                    get_param:
-                    - CloudEndpoints
-                    - get_param: [ServiceNetMap, PublicNetwork]
-                  IP_ADDRESS:
-                    get_param:
-                    - NetIpMap
-                    - str_replace:
-                        params:
-                          NETWORK:
-                            get_param: [ServiceNetMap, PublicNetwork]
-                        template: NETWORK_uri
-            port:
-              get_param: [EndpointMap, CongressPublic, port]
-        uri_no_suffix:
-          make_url:
-            scheme:
-              get_param: [EndpointMap, CongressPublic, protocol]
-            host:
-              str_replace:
-                template:
-                  get_param: [EndpointMap, CongressPublic, host]
-                params:
-                  CLOUDNAME:
-                    get_param:
-                    - CloudEndpoints
-                    - get_param: [ServiceNetMap, PublicNetwork]
-                  IP_ADDRESS:
-                    get_param:
-                    - NetIpMap
-                    - str_replace:
-                        params:
-                          NETWORK:
-                            get_param: [ServiceNetMap, PublicNetwork]
-                        template: NETWORK_uri
-            port:
-              get_param: [EndpointMap, CongressPublic, port]
       DesignateAdmin:
         host:
           str_replace:
diff --git a/network/service_net_map.j2.yaml b/network/service_net_map.j2.yaml
index 562e748d28..f03b0baafd 100644
--- a/network/service_net_map.j2.yaml
+++ b/network/service_net_map.j2.yaml
@@ -54,7 +54,6 @@ parameters:
       MongodbNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
       CinderApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
       CinderIscsiNetwork: {{ _service_nets.get('storage', 'ctlplane') }}
-      CongressApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
       GlanceApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
       IronicApiNetwork: ctlplane
       IronicNetwork: ctlplane
diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml
index a06755e94f..83025ecc48 100644
--- a/overcloud-resource-registry-puppet.j2.yaml
+++ b/overcloud-resource-registry-puppet.j2.yaml
@@ -120,7 +120,6 @@ resource_registry:
   OS::TripleO::Services::CinderScheduler: deployment/cinder/cinder-scheduler-container-puppet.yaml
   OS::TripleO::Services::CinderVolume: deployment/cinder/cinder-volume-container-puppet.yaml
   OS::TripleO::Services::BlockStorageCinderVolume: deployment/cinder/cinder-volume-container-puppet.yaml
-  OS::TripleO::Services::Congress: OS::Heat::None
   OS::TripleO::Services::Keystone: deployment/keystone/keystone-container-puppet.yaml
   OS::TripleO::Services::GlanceApi: deployment/glance/glance-api-container-puppet.yaml
   OS::TripleO::Services::HeatApi: deployment/heat/heat-api-container-puppet.yaml
diff --git a/puppet/services/congress.yaml b/puppet/services/congress.yaml
deleted file mode 100644
index c334c5cbbc..0000000000
--- a/puppet/services/congress.yaml
+++ /dev/null
@@ -1,152 +0,0 @@
-heat_template_version: rocky
-
-description: >
-  OpenStack Congress service configured with Puppet
-
-parameters:
-  ServiceData:
-    default: {}
-    description: Dictionary packing service data
-    type: json
-  ServiceNetMap:
-    default: {}
-    description: Mapping of service_name -> network name. Typically set
-                 via parameter_defaults in the resource registry.  This
-                 mapping overrides those in ServiceNetMapDefaults.
-    type: json
-  DefaultPasswords:
-    default: {}
-    type: json
-  RoleName:
-    default: ''
-    description: Role name on which the service is applied
-    type: string
-  RoleParameters:
-    default: {}
-    description: Parameters specific to the role
-    type: json
-  EndpointMap:
-    default: {}
-    description: Mapping of service endpoint -> protocol. Typically set
-                 via parameter_defaults in the resource registry.
-    type: json
-  CongressPassword:
-    description: The password for the congress service account.
-    type: string
-    hidden: true
-  Debug:
-    type: boolean
-    default: false
-    description: Set to True to enable debugging on all services.
-  CongressDebug:
-    default: ''
-    description: Set to True to enable debugging Congress service.
-    type: string
-    constraints:
-      - allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
-  KeystoneRegion:
-    type: string
-    default: 'regionOne'
-    description: Keystone region for endpoint
-  CongressPolicies:
-    description: |
-      A hash of policies to configure for Congress.
-      e.g. { congress-context_is_admin: { key: context_is_admin, value: 'role:admin' } }
-    default: {}
-    type: json
-  NotificationDriver:
-    type: string
-    default: 'messagingv2'
-    description: Driver or drivers to handle sending notifications.
-  RpcPort:
-    default: 5672
-    description: The network port for messaging backend
-    type: number
-  RpcUserName:
-    default: guest
-    description: The username for messaging backend
-    type: string
-  RpcPassword:
-    description: The password for messaging backend
-    type: string
-    hidden: true
-  RpcUseSSL:
-    default: false
-    description: >
-        Messaging client subscriber parameter to specify
-        an SSL connection to the messaging host.
-    type: string
-
-conditions:
-  service_debug_unset: {equals : [{get_param: CongressDebug}, '']}
-
-outputs:
-  role_data:
-    description: Role data for the Congress role.
-    value:
-      service_name: congress
-      config_settings:
-        congress_password: {get_param: CongressPassword}
-        congress::db::database_connection:
-          make_url:
-            scheme: {get_param: [EndpointMap, MysqlInternal, protocol]}
-            username: congress
-            password: {get_param: CongressPassword}
-            host: {get_param: [EndpointMap, MysqlInternal, host]}
-            path: /congress
-            query:
-              read_default_file: /etc/my.cnf.d/tripleo.cnf
-              read_default_group: tripleo
-        congress::logging::debug:
-          if:
-          - service_debug_unset
-          - {get_param: Debug }
-          - {get_param: CongressDebug }
-        congress::rpc_backend: rabbit
-        congress::notification_driver: {get_param: NotificationDriver}
-        # TODO(ansmith): remove once p-t-o switches to oslo params
-        congress::rabbit_userid: {get_param: RpcUserName}
-        congress::rabbit_password: {get_param: RpcPassword}
-        congress::rabbit_use_ssl: {get_param: RpcUseSSL}
-        congress::rabbit_port: {get_param: RpcPort}
-        congress::server::bind_host:
-          str_replace:
-             template:
-               "%{hiera('$NETWORK')}"
-             params:
-               $NETWORK: {get_param: [ServiceNetMap, CongressApiNetwork]}
-
-        congress::keystone::authtoken::password: {get_param: CongressPassword}
-        congress::keystone::authtoken::project_name: 'service'
-        congress::keystone::authtoken::user_domain_name: 'Default'
-        congress::keystone::authtoken::project_domain_name: 'Default'
-        congress::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
-        congress::keystone::authtoken::www_authenticate_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
-        congress::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
-
-        congress::db::mysql::password: {get_param: CongressPassword}
-        congress::db::mysql::user: congress
-        congress::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
-        congress::db::mysql::dbname: congress
-        congress::db::mysql::allowed_hosts:
-          - '%'
-          - {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
-        congress::policy::policies: {get_param: CongressPolicies}
-        tripleo::congress::firewall_rules:
-          '113 congress':
-            dport:
-              - 1789
-              - 13789
-      service_config_settings:
-        keystone:
-          congress::keystone::auth::tenant: 'service'
-          congress::keystone::auth::region: {get_param: KeystoneRegion}
-          congress::keystone::auth::password: {get_param: CongressPassword}
-          congress::keystone::auth::public_url: {get_param: [EndpointMap, CongressPublic, uri]}
-          congress::keystone::auth::internal_url: {get_param: [EndpointMap, CongressInternal, uri]}
-          congress::keystone::auth::admin_url: {get_param: [EndpointMap, CongressAdmin, uri]}
-
-      step_config: |
-        include ::tripleo::profile::base::congress
-
-      upgrade_tasks: []
diff --git a/releasenotes/notes/congress_removal-95dd16335fbb8bce.yaml b/releasenotes/notes/congress_removal-95dd16335fbb8bce.yaml
new file mode 100644
index 0000000000..6cf4a0c00f
--- /dev/null
+++ b/releasenotes/notes/congress_removal-95dd16335fbb8bce.yaml
@@ -0,0 +1,5 @@
+---
+other:
+  - |
+    Congress was removed, as it seems nobody used it. Therefore, we don't
+    need to keep supporting it.
diff --git a/roles/Controller.yaml b/roles/Controller.yaml
index b93ec6a2d0..31a53ede54 100644
--- a/roles/Controller.yaml
+++ b/roles/Controller.yaml
@@ -72,7 +72,6 @@
     - OS::TripleO::Services::CinderVolume
     - OS::TripleO::Services::Clustercheck
     - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::Congress
     - OS::TripleO::Services::ContainerImagePrepare
     - OS::TripleO::Services::DesignateApi
     - OS::TripleO::Services::DesignateCentral
diff --git a/roles/ControllerAllNovaStandalone.yaml b/roles/ControllerAllNovaStandalone.yaml
index 0ede2d48fb..fc2fb7ba3f 100644
--- a/roles/ControllerAllNovaStandalone.yaml
+++ b/roles/ControllerAllNovaStandalone.yaml
@@ -48,7 +48,6 @@
     - OS::TripleO::Services::CinderVolume
     - OS::TripleO::Services::Collectd
     - OS::TripleO::Services::MetricsQdr
-    - OS::TripleO::Services::Congress
     - OS::TripleO::Services::DesignateApi
     - OS::TripleO::Services::DesignateCentral
     - OS::TripleO::Services::DesignateProducer
diff --git a/roles/ControllerNoCeph.yaml b/roles/ControllerNoCeph.yaml
index 97034a66c1..18d47d987c 100644
--- a/roles/ControllerNoCeph.yaml
+++ b/roles/ControllerNoCeph.yaml
@@ -66,7 +66,6 @@
     - OS::TripleO::Services::Clustercheck
     - OS::TripleO::Services::ContainerImagePrepare
     - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::Congress
     - OS::TripleO::Services::DesignateApi
     - OS::TripleO::Services::DesignateCentral
     - OS::TripleO::Services::DesignateProducer
diff --git a/roles/ControllerNovaStandalone.yaml b/roles/ControllerNovaStandalone.yaml
index d8f48616d3..3431ea5c03 100644
--- a/roles/ControllerNovaStandalone.yaml
+++ b/roles/ControllerNovaStandalone.yaml
@@ -57,7 +57,6 @@
     - OS::TripleO::Services::CinderVolume
     - OS::TripleO::Services::Clustercheck
     - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::Congress
     - OS::TripleO::Services::Docker
     - OS::TripleO::Services::Etcd
     - OS::TripleO::Services::ExternalSwiftProxy
diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml
index 27f7e5bb2b..3ba0b6b808 100644
--- a/roles/ControllerOpenstack.yaml
+++ b/roles/ControllerOpenstack.yaml
@@ -51,7 +51,6 @@
     - OS::TripleO::Services::CinderScheduler
     - OS::TripleO::Services::CinderVolume
     - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::Congress
     - OS::TripleO::Services::ContainerImagePrepare
     - OS::TripleO::Services::DesignateApi
     - OS::TripleO::Services::DesignateCentral
diff --git a/roles/ControllerStorageNfs.yaml b/roles/ControllerStorageNfs.yaml
index c4f95aa2c7..7fbe877704 100644
--- a/roles/ControllerStorageNfs.yaml
+++ b/roles/ControllerStorageNfs.yaml
@@ -72,7 +72,6 @@
     - OS::TripleO::Services::CinderVolume
     - OS::TripleO::Services::Clustercheck
     - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::Congress
     - OS::TripleO::Services::ContainerImagePrepare
     - OS::TripleO::Services::Docker
     - OS::TripleO::Services::Ec2Api
diff --git a/roles/Standalone.yaml b/roles/Standalone.yaml
index 293975f136..d2361ad049 100644
--- a/roles/Standalone.yaml
+++ b/roles/Standalone.yaml
@@ -56,7 +56,6 @@
     - OS::TripleO::Services::Clustercheck
     - OS::TripleO::Services::Collectd
     - OS::TripleO::Services::ComputeCeilometerAgent
-    - OS::TripleO::Services::Congress
     - OS::TripleO::Services::ContainerImagePrepare
     - OS::TripleO::Services::ContainersLogrotateCrond
     - OS::TripleO::Services::DesignateApi
diff --git a/roles_data.yaml b/roles_data.yaml
index c821aa9922..49246c4628 100644
--- a/roles_data.yaml
+++ b/roles_data.yaml
@@ -75,7 +75,6 @@
     - OS::TripleO::Services::CinderVolume
     - OS::TripleO::Services::Clustercheck
     - OS::TripleO::Services::Collectd
-    - OS::TripleO::Services::Congress
     - OS::TripleO::Services::ContainerImagePrepare
     - OS::TripleO::Services::DesignateApi
     - OS::TripleO::Services::DesignateCentral
diff --git a/sample-env-generator/ssl.yaml b/sample-env-generator/ssl.yaml
index f5bf766f0f..01a42669d8 100644
--- a/sample-env-generator/ssl.yaml
+++ b/sample-env-generator/ssl.yaml
@@ -129,9 +129,6 @@ environments:
             CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
             CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
             CinderPublic: {protocol: 'https', port: '13776', host: 'IP_ADDRESS'}
-            CongressAdmin: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
-            CongressInternal: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
-            CongressPublic: {protocol: 'https', port: '13789', host: 'IP_ADDRESS'}
             DesignateAdmin: {protocol: 'http', port: '9001', host: 'IP_ADDRESS'}
             DesignateInternal: {protocol: 'http', port: '9001', host: 'IP_ADDRESS'}
             DesignatePublic: {protocol: 'https', port: '13001', host: 'IP_ADDRESS'}
@@ -249,9 +246,6 @@ environments:
             CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
             CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
             CinderPublic: {protocol: 'https', port: '13776', host: 'CLOUDNAME'}
-            CongressAdmin: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
-            CongressInternal: {protocol: 'http', port: '1789', host: 'IP_ADDRESS'}
-            CongressPublic: {protocol: 'https', port: '13789', host: 'CLOUDNAME'}
             DesignateAdmin: {protocol: 'http', port: '9001', host: 'IP_ADDRESS'}
             DesignateInternal: {protocol: 'http', port: '9001', host: 'IP_ADDRESS'}
             DesignatePublic: {protocol: 'https', port: '13001', host: 'CLOUDNAME'}
@@ -369,9 +363,6 @@ environments:
             CinderAdmin: {protocol: 'https', port: '8776', host: 'CLOUDNAME'}
             CinderInternal: {protocol: 'https', port: '8776', host: 'CLOUDNAME'}
             CinderPublic: {protocol: 'https', port: '13776', host: 'CLOUDNAME'}
-            CongressAdmin: {protocol: 'https', port: '1789', host: 'CLOUDNAME'}
-            CongressInternal: {protocol: 'https', port: '1789', host: 'CLOUDNAME'}
-            CongressPublic: {protocol: 'https', port: '13789', host: 'CLOUDNAME'}
             DesignateAdmin: {protocol: 'https', port: '9001', host: 'CLOUDNAME'}
             DesignateInternal: {protocol: 'https', port: '9001', host: 'CLOUDNAME'}
             DesignatePublic: {protocol: 'https', port: '13001', host: 'CLOUDNAME'}
@@ -499,9 +490,6 @@ environments:
             CinderAdmin: {protocol: http, port: '8776', host: IP_ADDRESS}
             CinderInternal: {protocol: http, port: '8776', host: IP_ADDRESS}
             CinderPublic: {protocol: http, port: '8776', host: IP_ADDRESS}
-            CongressAdmin: {protocol: http, port: '1789', host: IP_ADDRESS}
-            CongressInternal: {protocol: http, port: '1789', host: IP_ADDRESS}
-            CongressPublic: {protocol: http, port: '1789', host: IP_ADDRESS}
             DesignateAdmin: {protocol: 'http', port: '9001', host: IP_ADDRESS}
             DesignateInternal: {protocol: 'http', port: '9001', host: IP_ADDRESS}
             DesignatePublic: {protocol: 'http', port: '9001', host: IP_ADDRESS}
diff --git a/sample-env-generator/standalone.yaml b/sample-env-generator/standalone.yaml
index dceeadbb9c..39df1c87a0 100644
--- a/sample-env-generator/standalone.yaml
+++ b/sample-env-generator/standalone.yaml
@@ -97,8 +97,6 @@ environments:
       OS::TripleO::Services::CeilometerAgentCentral: OS::Heat::None
       OS::TripleO::Services::CeilometerAgentNotification: OS::Heat::None
       OS::TripleO::Services::ComputeCeilometerAgent: OS::Heat::None
-      # Congress
-      OS::TripleO::Services::Congress: OS::Heat::None
       # Designate
       OS::TripleO::Services::DesignateApi: OS::Heat::None
       OS::TripleO::Services::DesignateCentral: OS::Heat::None
@@ -216,8 +214,6 @@ environments:
       OS::TripleO::Services::CeilometerAgentCentral: OS::Heat::None
       OS::TripleO::Services::CeilometerAgentNotification: OS::Heat::None
       OS::TripleO::Services::ComputeCeilometerAgent: OS::Heat::None
-      # Congress
-      OS::TripleO::Services::Congress: OS::Heat::None
       # Designate
       OS::TripleO::Services::DesignateApi: OS::Heat::None
       OS::TripleO::Services::DesignateCentral: OS::Heat::None
diff --git a/zuul.d/layout.yaml b/zuul.d/layout.yaml
index 2dd782f100..89840bb850 100644
--- a/zuul.d/layout.yaml
+++ b/zuul.d/layout.yaml
@@ -48,7 +48,6 @@
               - ci/environments/scenario007-multinode-containers.yaml
               - ^(docker|puppet)/services/neutron-plugin-ml2.yaml #LP1765975
               - ^(docker|puppet)/services/.*.*ovn.*$
-              - ^(docker|puppet)/services/.*congress.*$
               - ^(docker|puppet)/services/.*tacker.*$
               - ^environments\/.*.yaml
               - ^deployed-server/.*$