diff --git a/README.rst b/README.rst index 65a6bdea8b..34a0de34fb 100644 --- a/README.rst +++ b/README.rst @@ -120,6 +120,8 @@ and should be executed according to the following table: +----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ | gnocchi | | rbd | swift | | | | | | | | | +----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ +| panko | | X | X | | | | | | | | | ++----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ | barbican | | | X | | | | | | | | | +----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+ | zaqar | | | X | | | | | | | | | diff --git a/ci/environments/scenario001-multinode-containers.yaml b/ci/environments/scenario001-multinode-containers.yaml index e1ab7d0068..1534d1f203 100644 --- a/ci/environments/scenario001-multinode-containers.yaml +++ b/ci/environments/scenario001-multinode-containers.yaml @@ -5,6 +5,7 @@ resource_registry: OS::TripleO::Services::CephMon: ../../deployment/ceph-ansible/ceph-mon.yaml OS::TripleO::Services::CephOSD: ../../deployment/ceph-ansible/ceph-osd.yaml OS::TripleO::Services::CephClient: ../../deployment/ceph-ansible/ceph-client.yaml + OS::TripleO::Services::PankoApi: ../deployment/deprecated/panko/panko-api-container-puppet.yaml OS::TripleO::Services::Collectd: ../../deployment/metrics/collectd-container-puppet.yaml OS::TripleO::Services::MetricsQdr: ../../deployment/metrics/qdr-container-puppet.yaml OS::TripleO::Services::OsloMessagingRpc: ../../deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml @@ -75,6 +76,7 @@ parameter_defaults: - OS::TripleO::Services::GnocchiApi - OS::TripleO::Services::GnocchiMetricd - OS::TripleO::Services::GnocchiStatsd + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::CephMgr - OS::TripleO::Services::CephMon - OS::TripleO::Services::CephOSD @@ -108,6 +110,7 @@ parameter_defaults: - gnocchi://?archive_policy=ceilometer-high-rate EventPipelinePublishers: - gnocchi://?archive_policy=ceilometer-high-rate + - panko:// Debug: true DockerPuppetDebug: True diff --git a/ci/environments/scenario001-standalone.yaml b/ci/environments/scenario001-standalone.yaml index d708aa550c..242628de6e 100644 --- a/ci/environments/scenario001-standalone.yaml +++ b/ci/environments/scenario001-standalone.yaml @@ -11,6 +11,7 @@ resource_registry: OS::TripleO::Services::CephOSD: ../../deployment/ceph-ansible/ceph-osd.yaml OS::TripleO::Services::CephGrafana: ../../deployment/ceph-ansible/ceph-grafana.yaml OS::TripleO::Services::CephClient: ../../deployment/ceph-ansible/ceph-client.yaml + OS::TripleO::Services::PankoApi: ../../deployment/deprecated/panko/panko-api-container-puppet.yaml OS::TripleO::Services::Collectd: ../../deployment/metrics/collectd-container-puppet.yaml OS::TripleO::Services::GnocchiApi: ../../deployment/gnocchi/gnocchi-api-container-puppet.yaml OS::TripleO::Services::GnocchiMetricd: ../../deployment/gnocchi/gnocchi-metricd-container-puppet.yaml @@ -52,6 +53,7 @@ parameter_defaults: - gnocchi://?archive_policy=ceilometer-high-rate EventPipelinePublishers: - gnocchi://?archive_policy=ceilometer-high-rate + - panko:// Debug: true diff --git a/ci/environments/scenario002-multinode-containers.yaml b/ci/environments/scenario002-multinode-containers.yaml index 70579c1337..7f732c515a 100644 --- a/ci/environments/scenario002-multinode-containers.yaml +++ b/ci/environments/scenario002-multinode-containers.yaml @@ -4,6 +4,7 @@ resource_registry: OS::TripleO::Services::BarbicanApi: ../../deployment/barbican/barbican-api-container-puppet.yaml OS::TripleO::Services::Zaqar: ../../deployment/zaqar/zaqar-container-puppet.yaml OS::TripleO::Services::Ec2Api: ../../deployment/deprecated/ec2/ec2-api-container-puppet.yaml + OS::TripleO::Services::PankoApi: ../../deployment/deprecated/panko/panko-api-container-puppet.yaml OS::TripleO::Services::OsloMessagingRpc: ../../deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml OS::TripleO::Services::OsloMessagingNotify: ../../deployment/rabbitmq/rabbitmq-messaging-notify-shared-puppet.yaml OS::TripleO::Services::Redis: ../../deployment/database/redis-pacemaker-puppet.yaml @@ -84,6 +85,7 @@ parameter_defaults: - OS::TripleO::Services::GnocchiApi - OS::TripleO::Services::GnocchiMetricd - OS::TripleO::Services::GnocchiStatsd + - OS::TripleO::Services::PankoApi ControllerExtraConfig: nova::compute::libvirt::services::libvirt_virt_type: qemu nova::compute::libvirt::libvirt_virt_type: qemu @@ -101,6 +103,7 @@ parameter_defaults: - gnocchi://?archive_policy=ceilometer-high-rate EventPipelinePublishers: - gnocchi://?archive_policy=ceilometer-high-rate + - panko:// GnocchiArchivePolicy: 'ceilometer-high-rate' Debug: true DockerPuppetDebug: True diff --git a/ci/environments/scenario002-standalone.yaml b/ci/environments/scenario002-standalone.yaml index 634328574d..a386724dad 100644 --- a/ci/environments/scenario002-standalone.yaml +++ b/ci/environments/scenario002-standalone.yaml @@ -16,6 +16,7 @@ resource_registry: OS::TripleO::Services::BarbicanApi: ../../deployment/barbican/barbican-api-container-puppet.yaml OS::TripleO::Services::Zaqar: ../../deployment/zaqar/zaqar-container-puppet.yaml OS::TripleO::Services::Ec2Api: ../../deployment/deprecated/ec2/ec2-api-container-puppet.yaml + OS::TripleO::Services::PankoApi: ../../deployment/deprecated/panko/panko-api-container-puppet.yaml OS::TripleO::Services::OsloMessagingRpc: ../../deployment/rabbitmq/rabbitmq-messaging-rpc-container-puppet.yaml OS::TripleO::Services::OsloMessagingNotify: ../../deployment/rabbitmq/rabbitmq-messaging-notify-shared-puppet.yaml OS::TripleO::Services::Redis: ../../deployment/database/redis-container-puppet.yaml @@ -42,6 +43,7 @@ parameter_defaults: - gnocchi://?archive_policy=ceilometer-high-rate EventPipelinePublishers: - gnocchi://?archive_policy=ceilometer-high-rate + - panko:// GnocchiArchivePolicy: 'ceilometer-high-rate' Debug: true DockerPuppetDebug: true diff --git a/deployed-server/deployed-server-roles-data.yaml b/deployed-server/deployed-server-roles-data.yaml index ed6ef8e171..40fb94ad8e 100644 --- a/deployed-server/deployed-server-roles-data.yaml +++ b/deployed-server/deployed-server-roles-data.yaml @@ -158,6 +158,7 @@ - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::PlacementApi - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify diff --git a/deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml b/deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml index 693ea0f00c..0e34833834 100644 --- a/deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml +++ b/deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml @@ -41,6 +41,10 @@ parameters: default: {} description: Parameters specific to the role type: json + CeilometerEnablePanko: + default: true + description: Check if panko need to be enabled or not. + type: boolean MonitoringSubscriptionCeilometerNotification: default: 'overcloud-ceilometer-agent-notification' type: string @@ -60,6 +64,9 @@ resources: RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} +conditions: + ceilometer_enable_panko: {equals: [{get_param: CeilometerEnablePanko}, True]} + outputs: role_data: description: Role data for the Ceilometer Agent Notification role. @@ -90,7 +97,18 @@ outputs: dest: "/" merge: true preserve_properties: true + - if: + - ceilometer_enable_panko + - - source: "/var/lib/kolla/config_files/src-panko/*" + dest: "/" + merge: true + preserve_properties: true + - null + permissions: + - path: /etc/panko + owner: root:ceilometer + recurse: true docker_config: step_3: ceilometer_init_log: @@ -114,6 +132,7 @@ outputs: - - /var/lib/kolla/config_files/ceilometer_agent_notification.json:/var/lib/kolla/config_files/config.json:ro - /var/lib/config-data/puppet-generated/ceilometer/:/var/lib/kolla/config_files/src:ro + - /var/lib/config-data/puppet-generated/panko/:/var/lib/kolla/config_files/src-panko:ro - /var/log/containers/ceilometer:/var/log/ceilometer:z environment: KOLLA_CONFIG_STRATEGY: COPY_ALWAYS diff --git a/deployment/ceilometer/ceilometer-base-container-puppet.yaml b/deployment/ceilometer/ceilometer-base-container-puppet.yaml index e065408516..84cf12462b 100644 --- a/deployment/ceilometer/ceilometer-base-container-puppet.yaml +++ b/deployment/ceilometer/ceilometer-base-container-puppet.yaml @@ -57,7 +57,7 @@ parameters: description: Whether to manage event_pipeline.yaml. type: boolean EventPipelinePublishers: - default: [] + default: ['gnocchi://?filter_project=service&archive_policy=low', 'panko://'] description: > A list of publishers to put in event_pipeline.yaml. When the collector is used, override this with notifier:// publisher. diff --git a/deployment/clients/openstack-clients-baremetal-puppet.yaml b/deployment/clients/openstack-clients-baremetal-puppet.yaml index fada9aa42f..4345fb6162 100644 --- a/deployment/clients/openstack-clients-baremetal-puppet.yaml +++ b/deployment/clients/openstack-clients-baremetal-puppet.yaml @@ -50,6 +50,7 @@ outputs: include ::neutron::client include ::nova::client include ::openstacklib::openstackclient + include ::panko::client include ::sahara::client include ::swift::client include ::zaqar::client diff --git a/deployment/deprecated/panko/panko-api-container-puppet.yaml b/deployment/deprecated/panko/panko-api-container-puppet.yaml new file mode 100644 index 0000000000..3b4e40b918 --- /dev/null +++ b/deployment/deprecated/panko/panko-api-container-puppet.yaml @@ -0,0 +1,358 @@ +heat_template_version: rocky + +description: > + OpenStack Panko service configured with docker. + Note, this service is deprecated in Pike release and + will be disabled in future releases. + +parameters: + ContainerPankoApiImage: + description: image + type: string + ContainerPankoConfigImage: + description: The container image to use for the panko 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 + EnableInternalTLS: + type: boolean + default: false + MonitoringSubscriptionPankoApi: + default: 'overcloud-ceilometer-panko-api' + type: string + PankoApiPolicies: + description: | + A hash of policies to configure for Panko API. + e.g. { panko-context_is_admin: { key: context_is_admin, value: 'role:admin' } } + default: {} + type: json + PankoEventTTL: + description: Number of seconds that events are kept in the database + default: '86400' + type: string + PankoPassword: + description: The password for the panko services. + type: string + hidden: true + Debug: + default: false + description: Set to True to enable debugging on all services. + type: boolean + PankoDebug: + default: '' + description: Set to True to enable debugging Panko services. + type: string + constraints: + - allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE'] + KeystoneRegion: + type: string + default: 'regionOne' + description: Keystone region for endpoint + EnablePankoExpirer: + type: boolean + default: true + description: Enable panko expirer to periodically delete events from db + PankoExpirerMinute: + type: string + description: > + Cron to delete events data from db - Minute + default: '1' + PankoExpirerHour: + type: string + description: > + Cron to delete events data from db - Hour + default: '0' + PankoExpirerMonthday: + type: string + description: > + Cron to delete events data from db - Month Day + default: '*' + PankoExpirerMonth: + type: string + description: > + Cron to delete events data from db - Month + default: '*' + PankoExpirerWeekday: + type: string + description: > + Cron to delete events from db - Week Day + default: '*' + +conditions: + service_debug_unset: {equals : [{get_param: PankoDebug}, '']} + internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]} + +resources: + + ContainersCommon: + type: ../../containers-common.yaml + + MySQLClient: + type: ../../database/mysql-client.yaml + + ApacheServiceBase: + type: ../../../deployment/apache/apache-baremetal-puppet.yaml + properties: + EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + RoleName: {get_param: RoleName} + RoleParameters: {get_param: RoleParameters} + + PankoApiLogging: + type: OS::TripleO::Services::Logging::PankoApi + +outputs: + role_data: + description: Role data for the Panko API role. + value: + service_name: panko_api + monitoring_subscription: {get_param: MonitoringSubscriptionPankoApi} + config_settings: + map_merge: + - get_attr: [ApacheServiceBase, role_data, config_settings] + - get_attr: [PankoApiLogging, config_settings] + - apache::default_vhost: false + panko::wsgi::apache::ssl: {get_param: EnableInternalTLS} + panko::wsgi::apache::servername: + str_replace: + template: + "%{hiera('fqdn_$NETWORK')}" + params: + $NETWORK: {get_param: [ServiceNetMap, PankoApiNetwork]} + panko::policy::policies: {get_param: PankoApiPolicies} + panko::api::service_name: 'httpd' + panko::api::enable_proxy_headers_parsing: true + panko::api::event_time_to_live: {get_param: PankoEventTTL} + tripleo::panko_api::firewall_rules: + '140 panko-api': + dport: + - 8977 + - 13977 + panko::api::host: + str_replace: + template: + "%{hiera('fqdn_$NETWORK')}" + params: + $NETWORK: {get_param: [ServiceNetMap, PankoApiNetwork]} + # NOTE: bind IP is found in hiera replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + panko::wsgi::apache::bind_host: + str_replace: + template: + "%{hiera('$NETWORK')}" + params: + $NETWORK: {get_param: [ServiceNetMap, PankoApiNetwork]} + enable_panko_expirer: {get_param: EnablePankoExpirer} + panko::db::database_connection: + make_url: + scheme: {get_param: [EndpointMap, MysqlInternal, protocol]} + username: panko + password: {get_param: PankoPassword} + host: {get_param: [EndpointMap, MysqlInternal, host]} + path: /panko + query: + read_default_file: /etc/my.cnf.d/tripleo.cnf + read_default_group: tripleo + panko::logging::debug: + if: + - service_debug_unset + - {get_param: Debug } + - {get_param: PankoDebug } + panko::auth::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] } + panko::keystone::authtoken::project_name: 'service' + panko::keystone::authtoken::user_domain_name: 'Default' + panko::keystone::authtoken::project_domain_name: 'Default' + panko::keystone::authtoken::password: {get_param: PankoPassword} + panko::keystone::authtoken::www_authenticate_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] } + panko::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] } + panko::keystone::authtoken::auth_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] } + panko::auth::auth_password: {get_param: PankoPassword} + panko::auth::auth_region: {get_param: KeystoneRegion} + panko::auth::auth_tenant_name: 'service' + panko::expirer::minute: {get_param: PankoExpirerMinute} + panko::expirer::hour: {get_param: PankoExpirerHour} + panko::expirer::monthday: {get_param: PankoExpirerMonthday} + panko::expirer::month: {get_param: PankoExpirerMonth} + panko::expirer::weekday: {get_param: PankoExpirerWeekday} + service_config_settings: + keystone: + panko::keystone::auth::public_url: {get_param: [EndpointMap, PankoPublic, uri]} + panko::keystone::auth::internal_url: {get_param: [EndpointMap, PankoInternal, uri]} + panko::keystone::auth::admin_url: {get_param: [EndpointMap, PankoAdmin, uri]} + panko::keystone::auth::password: {get_param: PankoPassword} + panko::keystone::auth::region: {get_param: KeystoneRegion} + panko::keystone::auth::tenant: 'service' + mysql: + panko::db::mysql::user: panko + panko::db::mysql::password: {get_param: PankoPassword} + panko::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} + panko::db::mysql::dbname: panko + panko::db::mysql::allowed_hosts: + - '%' + - "%{hiera('mysql_bind_host')}" + # BEGIN DOCKER SETTINGS # + puppet_config: + config_volume: panko + puppet_tags: panko_api_paste_ini,panko_config + step_config: + list_join: + - "\n" + - - "include tripleo::profile::base::panko::api" + - {get_attr: [MySQLClient, role_data, step_config]} + config_image: {get_param: ContainerPankoConfigImage} + kolla_config: + /var/lib/kolla/config_files/panko_api.json: + command: /usr/sbin/httpd -DFOREGROUND + config_files: + - source: "/var/lib/kolla/config_files/src/etc/httpd/conf.d" + dest: "/etc/httpd/conf.d" + merge: false + preserve_properties: true + - source: "/var/lib/kolla/config_files/src/*" + dest: "/" + merge: true + preserve_properties: true + permissions: + - path: /var/log/panko + owner: panko:panko + recurse: true + /var/lib/kolla/config_files/panko_api_cron.json: + command: /usr/sbin/crond -n + config_files: + - source: "/var/lib/kolla/config_files/src/*" + dest: "/" + merge: true + preserve_properties: true + permissions: + - path: /var/log/panko + owner: panko:panko + recurse: true + docker_config: + step_2: + get_attr: [PankoApiLogging, docker_config, step_2] + step_3: + panko_db_sync: + image: &panko_api_image {get_param: ContainerPankoApiImage} + net: host + detach: false + privileged: false + user: root + volumes: + list_concat: + - {get_attr: [ContainersCommon, volumes]} + - {get_attr: [PankoApiLogging, volumes]} + - + - /var/lib/config-data/panko/etc/my.cnf.d/tripleo.cnf:/etc/my.cnf.d/tripleo.cnf:ro + - /var/lib/config-data/panko/etc/panko:/etc/panko:ro + command: + # NOTE(jaosorior): When providing extra arguments, we need to make sure that they're part + # of the bash -c invocation, so we include them in the quoted db sync command. Hence the + # final single quote that's part of the list_join. + list_join: + - ' ' + - - "/usr/bin/bootstrap_host_exec panko_api su panko -s /bin/bash -c '/usr/bin/panko-dbsync" + - {get_attr: [PankoApiLogging, cmd_extra_args]} + - "'" + step_4: + panko_api: + start_order: 2 + image: *panko_api_image + net: host + privileged: false + restart: always + healthcheck: + test: /openstack/healthcheck + volumes: + list_concat: + - {get_attr: [ContainersCommon, volumes]} + - {get_attr: [PankoApiLogging, volumes]} + - + - /var/lib/kolla/config_files/panko_api.json:/var/lib/kolla/config_files/config.json:ro + - /var/lib/config-data/puppet-generated/panko/:/var/lib/kolla/config_files/src:ro + - + if: + - internal_tls_enabled + - /etc/pki/tls/certs/httpd:/etc/pki/tls/certs/httpd:ro + - '' + - + if: + - internal_tls_enabled + - /etc/pki/tls/private/httpd:/etc/pki/tls/private/httpd:ro + - '' + environment: + KOLLA_CONFIG_STRATEGY: COPY_ALWAYS + panko_api_cron: + image: *panko_api_image + net: host + user: root + privileged: false + restart: always + healthcheck: + test: '/usr/share/openstack-tripleo-common/healthcheck/cron panko' + volumes: + list_concat: + - {get_attr: [ContainersCommon, volumes]} + - {get_attr: [PankoApiLogging, volumes]} + - + - /var/lib/kolla/config_files/panko_api_cron.json:/var/lib/kolla/config_files/config.json:ro + - /var/lib/config-data/puppet-generated/panko/:/var/lib/kolla/config_files/src:ro + environment: + KOLLA_CONFIG_STRATEGY: COPY_ALWAYS + host_prep_tasks: {get_attr: [PankoApiLogging, host_prep_tasks]} + metadata_settings: + get_attr: [ApacheServiceBase, role_data, metadata_settings] + post_upgrade_tasks: + - when: step|int == 1 + import_role: + name: tripleo-docker-rm + vars: + containers_to_rm: + - panko_api + - panko_api_cron + tripleo_container_cli: "docker" + external_upgrade_tasks: + - when: + - step|int == 1 + tags: + - never + - system_upgrade_transfer_data + - system_upgrade_stop_services + block: + - name: Stop panko containers + import_role: + name: tripleo-container-stop + vars: + tripleo_containers_to_stop: + - panko_api + - panko_api_cron + tripleo_delegate_to: "{{ groups['panko_api'] | default([]) }}" diff --git a/deployment/logging/files/panko-api.yaml b/deployment/logging/files/panko-api.yaml new file mode 100644 index 0000000000..1b00370098 --- /dev/null +++ b/deployment/logging/files/panko-api.yaml @@ -0,0 +1,51 @@ +heat_template_version: rocky + +description: > + OpenStack containerized Panko service + +parameters: + ContainerPankoApiImage: + description: image + type: string + +outputs: + cmd_extra_args: + description: Extra command line arguments for running the service in the container. + value: '' + config_settings: + description: Extra hieradata needed to log to files in the host. + value: null + volumes: + description: The volumes needed to log to files in the host. + value: &panko_api_volumes + - /var/log/containers/panko:/var/log/panko:z + - /var/log/containers/httpd/panko-api:/var/log/httpd:z + docker_config: + description: Extra containers needed for logging to files in the host. + value: + step_2: + panko_init_log: + image: {get_param: ContainerPankoApiImage} + net: none + user: root + volumes: *panko_api_volumes + command: ['/bin/bash', '-c', 'chown -R panko:panko /var/log/panko'] + host_prep_tasks: + description: Extra ansible tasks needed for logging to files in the host. + value: + - name: create persistent directories + file: + path: "{{ item.path }}" + state: directory + setype: "{{ item.setype }}" + with_items: + - { 'path': /var/log/containers/panko, 'setype': svirt_sandbox_file_t } + - { 'path': /var/log/containers/httpd/panko-api, 'setype': svirt_sandbox_file_t } + - { 'path': /var/log/panko, 'setype': var_log_t } + - name: panko logs readme + copy: + dest: /var/log/panko/readme.txt + content: | + Log files from panko containers can be found under + /var/log/containers/panko and /var/log/containers/httpd/panko-api. + ignore_errors: true diff --git a/deployment/logging/stdout/panko-api.yaml b/deployment/logging/stdout/panko-api.yaml new file mode 100644 index 0000000000..fa3e32cf7b --- /dev/null +++ b/deployment/logging/stdout/panko-api.yaml @@ -0,0 +1,63 @@ +heat_template_version: rocky + +description: > + OpenStack containerized Keystone service + +parameters: + ContainerPankoApiImage: + description: image + type: string + +outputs: + cmd_extra_args: + description: Extra command line arguments for running the service in the container. + value: "--log-dir= --log-file=" + config_settings: + description: Extra hieradata needed to log to stdout. + value: + panko::wsgi::apache::access_log_file: /var/log/httpd/access.log + panko::wsgi::apache::error_log_file: /var/log/httpd/error_log + docker_config: + description: Extra containers needed for logging to stdout or a sidecar container. + value: + step_2: + panko_api_apache_error_logs: + start_order: 1 + image: {get_param: ContainerPankoApiImage} + user: root + privileged: false + restart: always + healthcheck: + test: '[ -p /var/log/httpd/error_log ]' + command: ['/bin/bash', '-c', 'mkdir -p /var/log/httpd && rm -f /var/log/httpd/error_log && mkfifo /var/log/httpd/error_log && while true; do cat /var/log/httpd/error_log; done'] + volumes: + - PankoApiLogs:/var/log/ + panko_api_apache_access_logs: + start_order: 1 + image: {get_param: ContainerPankoApiImage} + user: root + privileged: false + restart: always + healthcheck: + test: '[ -p /var/log/httpd/access.log ]' + command: ['/bin/bash', '-c', 'mkdir -p /var/log/httpd && rm -f /var/log/httpd/access.log && mkfifo /var/log/httpd/access.log && while true; do cat /var/log/httpd/access.log; done'] + volumes: + - PankoApiLogs:/var/log/ + panko_api_logs: + start_order: 2 + image: {get_param: ContainerPankoApiImage} + user: panko + privileged: false + restart: always + healthcheck: + test: '[ -p /var/log/panko/app.log ]' + command: ['/bin/bash', '-c', 'mkdir -p /var/log/panko && rm -f /var/log/panko/app.log && mkfifo /var/log/panko/app.log && while true; do cat /var/log/panko/app.log; done'] + volumes: + - PankoApiLogs:/var/log/ + volumes: + description: The volumes needed to log to stdout or a sidecar container. + value: + - PankoApiLogs:/var/log/ + host_prep_tasks: + description: Extra ansible tasks needed for logging to files in the host. + value: null diff --git a/environments/disable-panko.yaml b/environments/disable-panko.yaml new file mode 100644 index 0000000000..c0ae0be302 --- /dev/null +++ b/environments/disable-panko.yaml @@ -0,0 +1,11 @@ +# This heat environment can be used to disable panko services. +# Panko should not be used in most deployement, but we can't yet remove it from +# the default setup. + +resource_registry: + OS::TripleO::Services::PankoApi: OS::Heat::None + +parameter_defaults: + CeilometerEnablePanko: false + EventPipelinePublishers: + - gnocchi://?archive_policy=high diff --git a/environments/disable-telemetry.yaml b/environments/disable-telemetry.yaml index 05398cab50..86d89fb127 100644 --- a/environments/disable-telemetry.yaml +++ b/environments/disable-telemetry.yaml @@ -15,6 +15,7 @@ resource_registry: OS::TripleO::Services::AodhNotifier: OS::Heat::None OS::TripleO::Services::AodhListener: OS::Heat::None OS::TripleO::Services::Redis: OS::Heat::None + OS::TripleO::Services::PankoApi: OS::Heat::None parameter_defaults: NotificationDriver: 'noop' diff --git a/environments/enable-legacy-telemetry.yaml b/environments/enable-legacy-telemetry.yaml index 468a5f4644..bdbb32b72b 100644 --- a/environments/enable-legacy-telemetry.yaml +++ b/environments/enable-legacy-telemetry.yaml @@ -9,10 +9,12 @@ resource_registry: OS::TripleO::Services::AodhEvaluator: ../deployment/aodh/aodh-evaluator-container-puppet.yaml OS::TripleO::Services::AodhNotifier: ../deployment/aodh/aodh-notifier-container-puppet.yaml OS::TripleO::Services::AodhListener: ../deployment/aodh/aodh-listener-container-puppet.yaml + OS::TripleO::Services::PankoApi: ../deployment/deprecated/panko/panko-api-container-puppet.yaml OS::TripleO::Services::Redis: ../deployment/database/redis-pacemaker-puppet.yaml OS::TripleO::Services::CeilometerAgentCentral: ../deployment/ceilometer/ceilometer-agent-central-container-puppet.yaml OS::TripleO::Services::CeilometerAgentNotification: ../deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml OS::TripleO::Services::ComputeCeilometerAgent: ../deployment/ceilometer/ceilometer-agent-compute-container-puppet.yaml + OS::TripleO::Services::Logging::PankoApi: ../deployment/logging/files/panko-api.yaml parameter_defaults: # uncomment the next two lines when using ceph diff --git a/environments/services-baremetal/undercloud-panko.yaml b/environments/services-baremetal/undercloud-panko.yaml new file mode 100644 index 0000000000..e098310942 --- /dev/null +++ b/environments/services-baremetal/undercloud-panko.yaml @@ -0,0 +1,2 @@ +resource_registry: + OS::TripleO::Services::UndercloudPankoApi: ../../deployment/deprecated/panko/panko-api-container-puppet.yaml diff --git a/environments/services/undercloud-panko.yaml b/environments/services/undercloud-panko.yaml new file mode 100644 index 0000000000..5ede6a97a8 --- /dev/null +++ b/environments/services/undercloud-panko.yaml @@ -0,0 +1,4 @@ +# DEPRECATED. This file will be removed in the Stein release as it is no longer +# needed +resource_registry: + OS::TripleO::Services::PankoApi: ../../deployment/deprecated/panko/panko-api-container-puppet.yaml diff --git a/environments/ssl/no-tls-endpoints-public-ip.yaml b/environments/ssl/no-tls-endpoints-public-ip.yaml index 5ed517b842..ed0e715f03 100644 --- a/environments/ssl/no-tls-endpoints-public-ip.yaml +++ b/environments/ssl/no-tls-endpoints-public-ip.yaml @@ -88,6 +88,9 @@ parameter_defaults: OctaviaAdmin: {protocol: http, port: '9876', host: IP_ADDRESS} OctaviaInternal: {protocol: http, port: '9876', host: IP_ADDRESS} OctaviaPublic: {protocol: http, port: '9876', host: IP_ADDRESS} + PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS} + PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS} + PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS} SaharaAdmin: {protocol: http, port: '8386', host: IP_ADDRESS} SaharaInternal: {protocol: http, port: '8386', host: IP_ADDRESS} SaharaPublic: {protocol: http, port: '8386', host: IP_ADDRESS} diff --git a/environments/ssl/tls-endpoints-public-dns.yaml b/environments/ssl/tls-endpoints-public-dns.yaml index caaf05b041..4e625a39a6 100644 --- a/environments/ssl/tls-endpoints-public-dns.yaml +++ b/environments/ssl/tls-endpoints-public-dns.yaml @@ -84,6 +84,9 @@ parameter_defaults: OctaviaAdmin: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'} OctaviaInternal: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'} OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'} + PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} + PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} + PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} SaharaAdmin: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'} SaharaInternal: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'} SaharaPublic: {protocol: 'https', port: '13386', host: 'CLOUDNAME'} diff --git a/environments/ssl/tls-endpoints-public-ip.yaml b/environments/ssl/tls-endpoints-public-ip.yaml index c7ce7bc5e8..f27abb9988 100644 --- a/environments/ssl/tls-endpoints-public-ip.yaml +++ b/environments/ssl/tls-endpoints-public-ip.yaml @@ -84,6 +84,9 @@ parameter_defaults: OctaviaAdmin: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'} OctaviaInternal: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'} OctaviaPublic: {protocol: 'https', port: '13876', host: 'IP_ADDRESS'} + PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} + PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} + PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'} SaharaAdmin: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'} SaharaInternal: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'} SaharaPublic: {protocol: 'https', port: '13386', host: 'IP_ADDRESS'} diff --git a/environments/ssl/tls-everywhere-endpoints-dns.yaml b/environments/ssl/tls-everywhere-endpoints-dns.yaml index 11f3dd7153..b7d9fb6641 100644 --- a/environments/ssl/tls-everywhere-endpoints-dns.yaml +++ b/environments/ssl/tls-everywhere-endpoints-dns.yaml @@ -84,6 +84,9 @@ parameter_defaults: OctaviaAdmin: {protocol: 'https', port: '9876', host: 'CLOUDNAME'} OctaviaInternal: {protocol: 'https', port: '9876', host: 'CLOUDNAME'} OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'} + PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'} + PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'} + PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} SaharaAdmin: {protocol: 'https', port: '8386', host: 'CLOUDNAME'} SaharaInternal: {protocol: 'https', port: '8386', host: 'CLOUDNAME'} SaharaPublic: {protocol: 'https', port: '13386', host: 'CLOUDNAME'} diff --git a/environments/standalone.yaml b/environments/standalone.yaml index c041aa2d96..3f65b785dd 100644 --- a/environments/standalone.yaml +++ b/environments/standalone.yaml @@ -79,6 +79,8 @@ resource_registry: OS::TripleO::Services::MistralEngine: OS::Heat::None OS::TripleO::Services::MistralEventEngine: OS::Heat::None OS::TripleO::Services::MistralExecutor: OS::Heat::None + # Panko + OS::TripleO::Services::PankoApi: OS::Heat::None # Sahara OS::TripleO::Services::SaharaApi: OS::Heat::None OS::TripleO::Services::SaharaEngine: OS::Heat::None diff --git a/environments/standalone/standalone-overcloud.yaml b/environments/standalone/standalone-overcloud.yaml index 022762e0e2..ff8197cb8c 100644 --- a/environments/standalone/standalone-overcloud.yaml +++ b/environments/standalone/standalone-overcloud.yaml @@ -93,6 +93,7 @@ resource_registry: OS::TripleO::Services::MistralEventEngine: OS::Heat::None OS::TripleO::Services::MistralExecutor: OS::Heat::None OS::TripleO::Services::OpenStackClients: ../../deployment/clients/openstack-clients-baremetal-puppet.yaml + OS::TripleO::Services::PankoApi: OS::Heat::None OS::TripleO::Services::SaharaApi: OS::Heat::None OS::TripleO::Services::SaharaEngine: OS::Heat::None OS::TripleO::Services::Zaqar: OS::Heat::None diff --git a/environments/standalone/standalone-tripleo.yaml b/environments/standalone/standalone-tripleo.yaml index 41b7c4e46c..1ef898f437 100644 --- a/environments/standalone/standalone-tripleo.yaml +++ b/environments/standalone/standalone-tripleo.yaml @@ -105,6 +105,7 @@ resource_registry: OS::TripleO::Services::MistralExecutor: OS::Heat::None OS::TripleO::Services::OVNDBs: ../../deployment/ovn/ovn-dbs-container-puppet.yaml OS::TripleO::Services::OpenStackClients: ../../deployment/clients/openstack-clients-baremetal-puppet.yaml + OS::TripleO::Services::PankoApi: OS::Heat::None OS::TripleO::Services::Podman: ../../deployment/podman/podman-baremetal-ansible.yaml OS::TripleO::Services::Rear: OS::Heat::None OS::TripleO::Services::Redis: OS::Heat::None diff --git a/environments/stdout-logging.yaml b/environments/stdout-logging.yaml index 12372b1d59..dac5cb0f88 100644 --- a/environments/stdout-logging.yaml +++ b/environments/stdout-logging.yaml @@ -14,4 +14,5 @@ resource_registry: OS::TripleO::Services::Logging::NovaCommon: ../deployment/logging/stdout/nova-common.yaml OS::TripleO::Services::Logging::NovaMetadata: ../deployment/logging/stdout/nova-metadata.yaml OS::TripleO::Services::Logging::NovaLibvirt: ../deployment/logging/stdout/nova-libvirt.yaml + OS::TripleO::Services::Logging::PankoApi: ../deployment/logging/stdout/panko-api.yaml OS::TripleO::Services::Logging::PlacementApi: ../deployment/logging/stdout/placement-api.yaml diff --git a/environments/undercloud.yaml b/environments/undercloud.yaml index 6d119840fd..c4f1804553 100644 --- a/environments/undercloud.yaml +++ b/environments/undercloud.yaml @@ -35,6 +35,7 @@ resource_registry: OS::TripleO::Services::GnocchiMetricd: OS::Heat::None OS::TripleO::Services::GnocchiStatsd: OS::Heat::None OS::TripleO::Services::Rear: OS::Heat::None + OS::TripleO::Services::PankoApi: OS::Heat::None OS::TripleO::Services::Redis: OS::Heat::None OS::TripleO::Services::CinderApi: OS::Heat::None OS::TripleO::Services::CinderScheduler: OS::Heat::None @@ -221,6 +222,7 @@ parameter_defaults: nova::keystone::authtoken::memcached_servers: "%{hiera('memcached::listen_ip_uri')}:11211" nova::cache::memcache_servers: "%{hiera('memcached::listen_ip_uri')}:11211" nova::keystone::authtoken::memcached_servers: "%{hiera('memcached::listen_ip_uri')}:11211" + panko::keystone::authtoken::memcached_servers: "%{hiera('memcached::listen_ip_uri')}:11211" sahara::keystone::authtoken::memcached_servers: "%{hiera('memcached::listen_ip_uri')}:11211" swift::proxy::authtoken::memcache_servers: "%{hiera('memcached::listen_ip_uri')}:11211" swift::proxy::cache::memcache_servers: "%{hiera('memcached::listen_ip_uri')}:11211" diff --git a/environments/undercloud/undercloud-minion.yaml b/environments/undercloud/undercloud-minion.yaml index 6ff4cbb631..87c7b090d1 100644 --- a/environments/undercloud/undercloud-minion.yaml +++ b/environments/undercloud/undercloud-minion.yaml @@ -127,6 +127,7 @@ resource_registry: OS::TripleO::Services::Logging::NovaCommon: OS::Heat::None OS::TripleO::Services::Logging::NovaLibvirt: OS::Heat::None OS::TripleO::Services::Logging::NovaMetadata: OS::Heat::None + OS::TripleO::Services::Logging::PankoApi: OS::Heat::None OS::TripleO::Services::Logging::PlacementApi: OS::Heat::None OS::TripleO::Services::ManilaApi: OS::Heat::None OS::TripleO::Services::ManilaBackendCephFs: OS::Heat::None @@ -206,6 +207,7 @@ resource_registry: OS::TripleO::Services::OsloMessagingRpc: OS::Heat::None OS::TripleO::Services::Pacemaker: OS::Heat::None OS::TripleO::Services::PacemakerRemote: OS::Heat::None + OS::TripleO::Services::PankoApi: OS::Heat::None OS::TripleO::Services::PlacementApi: OS::Heat::None OS::TripleO::Services::Podman: ../../deployment/podman/podman-baremetal-ansible.yaml OS::TripleO::Services::Ptp: OS::Heat::None diff --git a/network/endpoints/endpoint_data.yaml b/network/endpoints/endpoint_data.yaml index a73518892a..fa864dd378 100644 --- a/network/endpoints/endpoint_data.yaml +++ b/network/endpoints/endpoint_data.yaml @@ -52,6 +52,15 @@ Gnocchi: net_param: GnocchiApi port: 8041 +Panko: + Internal: + net_param: PankoApi + Public: + net_param: Public + Admin: + net_param: PankoApi + port: 8977 + Cinder: Internal: net_param: CinderApi diff --git a/network/endpoints/endpoint_map.yaml b/network/endpoints/endpoint_map.yaml index 43fd8499cf..a17c125bc7 100644 --- a/network/endpoints/endpoint_map.yaml +++ b/network/endpoints/endpoint_map.yaml @@ -295,6 +295,18 @@ parameters: protocol: http port: '9876' host: IP_ADDRESS + PankoAdmin: + protocol: http + port: '8977' + host: IP_ADDRESS + PankoInternal: + protocol: http + port: '8977' + host: IP_ADDRESS + PankoPublic: + protocol: http + port: '8977' + host: IP_ADDRESS PlacementAdmin: protocol: http port: '8778' @@ -11159,6 +11171,387 @@ outputs: - EndpointMap - PlacementPublic - port + PankoAdmin: + host: + str_replace: + template: + get_param: + - EndpointMap + - PankoAdmin + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - PankoApiNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: + - ServiceNetMap + - PankoApiNetwork + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: + - EndpointMap + - PankoAdmin + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - PankoApiNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: + - ServiceNetMap + - PankoApiNetwork + port: + get_param: + - EndpointMap + - PankoAdmin + - port + protocol: + get_param: + - EndpointMap + - PankoAdmin + - protocol + uri: + make_url: + scheme: + get_param: + - EndpointMap + - PankoAdmin + - protocol + host: + str_replace: + template: + get_param: + - EndpointMap + - PankoAdmin + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - PankoApiNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: + - ServiceNetMap + - PankoApiNetwork + template: NETWORK_uri + port: + get_param: + - EndpointMap + - PankoAdmin + - port + uri_no_suffix: + make_url: + scheme: + get_param: + - EndpointMap + - PankoAdmin + - protocol + host: + str_replace: + template: + get_param: + - EndpointMap + - PankoAdmin + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - PankoApiNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: + - ServiceNetMap + - PankoApiNetwork + template: NETWORK_uri + port: + get_param: + - EndpointMap + - PankoAdmin + - port + PankoInternal: + host: + str_replace: + template: + get_param: + - EndpointMap + - PankoInternal + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - PankoApiNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: + - ServiceNetMap + - PankoApiNetwork + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: + - EndpointMap + - PankoInternal + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - PankoApiNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: + - ServiceNetMap + - PankoApiNetwork + port: + get_param: + - EndpointMap + - PankoInternal + - port + protocol: + get_param: + - EndpointMap + - PankoInternal + - protocol + uri: + make_url: + scheme: + get_param: + - EndpointMap + - PankoInternal + - protocol + host: + str_replace: + template: + get_param: + - EndpointMap + - PankoInternal + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - PankoApiNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: + - ServiceNetMap + - PankoApiNetwork + template: NETWORK_uri + port: + get_param: + - EndpointMap + - PankoInternal + - port + uri_no_suffix: + make_url: + scheme: + get_param: + - EndpointMap + - PankoInternal + - protocol + host: + str_replace: + template: + get_param: + - EndpointMap + - PankoInternal + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - PankoApiNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: + - ServiceNetMap + - PankoApiNetwork + template: NETWORK_uri + port: + get_param: + - EndpointMap + - PankoInternal + - port + PankoPublic: + host: + str_replace: + template: + get_param: + - EndpointMap + - PankoPublic + - 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 + - PankoPublic + - host + params: + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: + - ServiceNetMap + - PublicNetwork + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: + - ServiceNetMap + - PublicNetwork + port: + get_param: + - EndpointMap + - PankoPublic + - port + protocol: + get_param: + - EndpointMap + - PankoPublic + - protocol + uri: + make_url: + scheme: + get_param: + - EndpointMap + - PankoPublic + - protocol + host: + str_replace: + template: + get_param: + - EndpointMap + - PankoPublic + - 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 + - PankoPublic + - port + uri_no_suffix: + make_url: + scheme: + get_param: + - EndpointMap + - PankoPublic + - protocol + host: + str_replace: + template: + get_param: + - EndpointMap + - PankoPublic + - 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 + - PankoPublic + - port SaharaAdmin: host: str_replace: diff --git a/network/service_net_map.j2.yaml b/network/service_net_map.j2.yaml index 67d2e41830..f2d4bceb45 100644 --- a/network/service_net_map.j2.yaml +++ b/network/service_net_map.j2.yaml @@ -35,6 +35,7 @@ parameters: ApacheNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} NeutronTenantNetwork: {{ _service_nets.get('tenant', 'ctlplane') }} AodhApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} + PankoApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} BarbicanApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} GnocchiApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} MongodbNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }} diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index c8581b1d2d..8a2ce28fab 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -265,6 +265,7 @@ resource_registry: OS::TripleO::Services::AodhEvaluator: OS::Heat::None OS::TripleO::Services::AodhListener: OS::Heat::None OS::TripleO::Services::AodhNotifier: OS::Heat::None + OS::TripleO::Services::PankoApi: OS::Heat::None OS::TripleO::Services::MetricsQdr: OS::Heat::None OS::TripleO::Services::MistralEngine: OS::Heat::None OS::TripleO::Services::MistralApi: OS::Heat::None @@ -350,6 +351,7 @@ resource_registry: OS::TripleO::Services::Logging::NovaMetadata: deployment/logging/files/nova-metadata.yaml OS::TripleO::Services::Logging::NovaCommon: deployment/logging/files/nova-common.yaml OS::TripleO::Services::Logging::NovaLibvirt: deployment/logging/files/nova-libvirt.yaml + OS::TripleO::Services::Logging::PankoApi: deployment/logging/files/panko-api.yaml OS::TripleO::Services::Logging::PlacementApi: deployment/logging/files/placement-api.yaml # Tempest diff --git a/roles/Controller.yaml b/roles/Controller.yaml index 17b8d0e4e4..f3e43e4182 100644 --- a/roles/Controller.yaml +++ b/roles/Controller.yaml @@ -156,6 +156,7 @@ - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::PlacementApi - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify diff --git a/roles/ControllerAllNovaStandalone.yaml b/roles/ControllerAllNovaStandalone.yaml index be744a6672..0a38d355d6 100644 --- a/roles/ControllerAllNovaStandalone.yaml +++ b/roles/ControllerAllNovaStandalone.yaml @@ -107,6 +107,7 @@ - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::Podman - OS::TripleO::Services::Redis - OS::TripleO::Services::Rhsm diff --git a/roles/ControllerNoCeph.yaml b/roles/ControllerNoCeph.yaml index 9b1e801362..fe4a339dcd 100644 --- a/roles/ControllerNoCeph.yaml +++ b/roles/ControllerNoCeph.yaml @@ -148,6 +148,7 @@ - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::PlacementApi - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify diff --git a/roles/ControllerNovaStandalone.yaml b/roles/ControllerNovaStandalone.yaml index 5c2d61db0b..6916025ebc 100644 --- a/roles/ControllerNovaStandalone.yaml +++ b/roles/ControllerNovaStandalone.yaml @@ -125,6 +125,7 @@ - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify - OS::TripleO::Services::Podman diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml index 23e607c1b8..19acf02961 100644 --- a/roles/ControllerOpenstack.yaml +++ b/roles/ControllerOpenstack.yaml @@ -119,6 +119,7 @@ - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::PlacementApi - OS::TripleO::Services::Podman - OS::TripleO::Services::Rear diff --git a/roles/ControllerStorageDashboard.yaml b/roles/ControllerStorageDashboard.yaml index af1c59352b..1575296ea4 100644 --- a/roles/ControllerStorageDashboard.yaml +++ b/roles/ControllerStorageDashboard.yaml @@ -157,6 +157,7 @@ - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::PlacementApi - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify diff --git a/roles/ControllerStorageNfs.yaml b/roles/ControllerStorageNfs.yaml index ad996a96ca..a6ff84d46a 100644 --- a/roles/ControllerStorageNfs.yaml +++ b/roles/ControllerStorageNfs.yaml @@ -158,6 +158,7 @@ - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::PlacementApi - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify diff --git a/roles/Standalone.yaml b/roles/Standalone.yaml index 57d96cbe75..8540386111 100644 --- a/roles/Standalone.yaml +++ b/roles/Standalone.yaml @@ -157,6 +157,7 @@ - OS::TripleO::Services::OsloMessagingNotify - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::PlacementApi - OS::TripleO::Services::Podman - OS::TripleO::Services::Rear diff --git a/roles/Telemetry.yaml b/roles/Telemetry.yaml index b34990e18d..d57af2ea31 100644 --- a/roles/Telemetry.yaml +++ b/roles/Telemetry.yaml @@ -38,6 +38,7 @@ - OS::TripleO::Services::MetricsQdr - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::Podman - OS::TripleO::Services::Redis - OS::TripleO::Services::Rhsm diff --git a/roles/Undercloud.yaml b/roles/Undercloud.yaml index f8f35eb040..412fb55443 100644 --- a/roles/Undercloud.yaml +++ b/roles/Undercloud.yaml @@ -75,6 +75,7 @@ - OS::TripleO::Services::OpenStackClients - OS::TripleO::Services::OsloMessagingNotify - OS::TripleO::Services::OsloMessagingRpc + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::PlacementApi - OS::TripleO::Services::Podman - OS::TripleO::Services::Rear diff --git a/roles_data.yaml b/roles_data.yaml index c3d59b01f2..e0b89a6d5f 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -159,6 +159,7 @@ - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::PlacementApi - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify diff --git a/roles_data_undercloud.yaml b/roles_data_undercloud.yaml index 8b77ec526d..03570e21db 100644 --- a/roles_data_undercloud.yaml +++ b/roles_data_undercloud.yaml @@ -78,6 +78,7 @@ - OS::TripleO::Services::OpenStackClients - OS::TripleO::Services::OsloMessagingNotify - OS::TripleO::Services::OsloMessagingRpc + - OS::TripleO::Services::PankoApi - OS::TripleO::Services::PlacementApi - OS::TripleO::Services::Podman - OS::TripleO::Services::Rear diff --git a/sample-env-generator/ssl.yaml b/sample-env-generator/ssl.yaml index 23a5a62ef0..edbc9d7cbf 100644 --- a/sample-env-generator/ssl.yaml +++ b/sample-env-generator/ssl.yaml @@ -192,6 +192,9 @@ environments: OctaviaAdmin: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'} OctaviaInternal: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'} OctaviaPublic: {protocol: 'https', port: '13876', host: 'IP_ADDRESS'} + PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} + PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} + PankoPublic: {protocol: 'https', port: '13977', host: 'IP_ADDRESS'} SaharaAdmin: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'} SaharaInternal: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'} SaharaPublic: {protocol: 'https', port: '13386', host: 'IP_ADDRESS'} @@ -296,6 +299,9 @@ environments: OctaviaAdmin: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'} OctaviaInternal: {protocol: 'http', port: '9876', host: 'IP_ADDRESS'} OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'} + PankoAdmin: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} + PankoInternal: {protocol: 'http', port: '8977', host: 'IP_ADDRESS'} + PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} SaharaAdmin: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'} SaharaInternal: {protocol: 'http', port: '8386', host: 'IP_ADDRESS'} SaharaPublic: {protocol: 'https', port: '13386', host: 'CLOUDNAME'} @@ -400,6 +406,9 @@ environments: OctaviaAdmin: {protocol: 'https', port: '9876', host: 'CLOUDNAME'} OctaviaInternal: {protocol: 'https', port: '9876', host: 'CLOUDNAME'} OctaviaPublic: {protocol: 'https', port: '13876', host: 'CLOUDNAME'} + PankoAdmin: {protocol: 'https', port: '8977', host: 'CLOUDNAME'} + PankoInternal: {protocol: 'https', port: '8977', host: 'CLOUDNAME'} + PankoPublic: {protocol: 'https', port: '13977', host: 'CLOUDNAME'} SaharaAdmin: {protocol: 'https', port: '8386', host: 'CLOUDNAME'} SaharaInternal: {protocol: 'https', port: '8386', host: 'CLOUDNAME'} SaharaPublic: {protocol: 'https', port: '13386', host: 'CLOUDNAME'} @@ -514,6 +523,9 @@ environments: OctaviaAdmin: {protocol: http, port: '9876', host: IP_ADDRESS} OctaviaInternal: {protocol: http, port: '9876', host: IP_ADDRESS} OctaviaPublic: {protocol: http, port: '9876', host: IP_ADDRESS} + PankoAdmin: {protocol: http, port: '8977', host: IP_ADDRESS} + PankoInternal: {protocol: http, port: '8977', host: IP_ADDRESS} + PankoPublic: {protocol: http, port: '8977', host: IP_ADDRESS} SaharaAdmin: {protocol: http, port: '8386', host: IP_ADDRESS} SaharaInternal: {protocol: http, port: '8386', host: IP_ADDRESS} SaharaPublic: {protocol: http, port: '8386', host: IP_ADDRESS} diff --git a/sample-env-generator/standalone.yaml b/sample-env-generator/standalone.yaml index a2e893e941..3fd9ca6e93 100644 --- a/sample-env-generator/standalone.yaml +++ b/sample-env-generator/standalone.yaml @@ -132,6 +132,8 @@ environments: OS::TripleO::Services::MistralExecutor: OS::Heat::None # Rear OS::TripleO::Services::Rear: OS::Heat::None + # Panko + OS::TripleO::Services::PankoApi: OS::Heat::None # Redis OS::TripleO::Services::Redis: OS::Heat::None # Rsyslog @@ -244,6 +246,8 @@ environments: OS::TripleO::Services::MistralEngine: OS::Heat::None OS::TripleO::Services::MistralEventEngine: OS::Heat::None OS::TripleO::Services::MistralExecutor: OS::Heat::None + # Panko + OS::TripleO::Services::PankoApi: OS::Heat::None # Sahara OS::TripleO::Services::SaharaApi: OS::Heat::None OS::TripleO::Services::SaharaEngine: OS::Heat::None diff --git a/sample-env-generator/undercloud-minion.yaml b/sample-env-generator/undercloud-minion.yaml index f53039e9b5..cf310e941a 100644 --- a/sample-env-generator/undercloud-minion.yaml +++ b/sample-env-generator/undercloud-minion.yaml @@ -150,6 +150,7 @@ environments: OS::TripleO::Services::Logging::NovaCommon: OS::Heat::None OS::TripleO::Services::Logging::NovaLibvirt: OS::Heat::None OS::TripleO::Services::Logging::NovaMetadata: OS::Heat::None + OS::TripleO::Services::Logging::PankoApi: OS::Heat::None OS::TripleO::Services::Logging::PlacementApi: OS::Heat::None OS::TripleO::Services::ManilaApi: OS::Heat::None OS::TripleO::Services::ManilaBackendCephFs: OS::Heat::None @@ -229,6 +230,7 @@ environments: OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None OS::TripleO::Services::Pacemaker: OS::Heat::None OS::TripleO::Services::PacemakerRemote: OS::Heat::None + OS::TripleO::Services::PankoApi: OS::Heat::None OS::TripleO::Services::PlacementApi: OS::Heat::None OS::TripleO::Services::Ptp: OS::Heat::None OS::TripleO::Services::Qdr: OS::Heat::None