heat_template_version: rocky description: > OpenStack Tacker 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 TackerPassword: description: The password for the tacker service account. type: string hidden: true Debug: type: boolean default: false description: Set to True to enable debugging on all services. TackerDebug: default: '' description: Set to True to enable debugging Tacker service. type: string constraints: - allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE'] KeystoneRegion: type: string default: 'regionOne' description: Keystone region for endpoint TackerPolicies: description: | A hash of policies to configure for Tacker. e.g. { tacker-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. constraints: - allowed_values: [ 'messagingv2', 'noop' ] 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: TackerDebug}, '']} outputs: role_data: description: Role data for the Tacker role. value: service_name: tacker config_settings: tacker_password: {get_param: TackerPassword} tacker::db::database_connection: make_url: scheme: {get_param: [EndpointMap, MysqlInternal, protocol]} username: tacker password: {get_param: TackerPassword} host: {get_param: [EndpointMap, MysqlInternal, host]} path: /tacker query: read_default_file: /etc/my.cnf.d/tripleo.cnf read_default_group: tripleo tacker::debug: if: - service_debug_unset - {get_param: Debug } - {get_param: TackerDebug } tacker::notification_driver: {get_param: NotificationDriver} # TODO(ansmith): remove once p-t-o switches to oslo params tacker::rabbit_userid: {get_param: RpcUserName} tacker::rabbit_password: {get_param: RpcPassword} tacker::rabbit_use_ssl: {get_param: RpcUseSSL} tacker::rabbit_port: {get_param: RpcPort} tacker::server::bind_host: str_replace: template: "%{hiera('$NETWORK')}" params: $NETWORK: {get_param: [ServiceNetMap, TackerApiNetwork]} tacker::keystone::authtoken::project_name: 'service' tacker::keystone::authtoken::user_domain_name: 'Default' tacker::keystone::authtoken::project_domain_name: 'Default' tacker::keystone::authtoken::password: {get_param: TackerPassword} tacker::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]} tacker::keystone::authtoken::www_authenticate_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]} tacker::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]} tacker::db::mysql::password: {get_param: TackerPassword} tacker::db::mysql::user: tacker tacker::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} tacker::db::mysql::dbname: tacker tacker::db::mysql::allowed_hosts: - '%' - {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} tacker::policy::policies: {get_param: TackerPolicies} tripleo.tacker.firewall_rules: '113 tacker': dport: - 9890 - 13989 service_config_settings: keystone: tacker::keystone::auth::tenant: 'service' tacker::keystone::auth::region: {get_param: KeystoneRegion} tacker::keystone::auth::password: {get_param: TackerPassword} tacker::keystone::auth::public_url: {get_param: [EndpointMap, TackerPublic, uri]} tacker::keystone::auth::internal_url: {get_param: [EndpointMap, TackerInternal, uri]} tacker::keystone::auth::admin_url: {get_param: [EndpointMap, TackerAdmin, uri]} step_config: | include ::tripleo::profile::base::tacker upgrade_tasks: - name: Check if tacker is deployed command: systemctl is-enabled openstack-tacker-server tags: common ignore_errors: True register: tacker_enabled - name: "PreUpgrade step0,validation: Check service openstack-tacker-server is running" shell: /usr/bin/systemctl show 'openstack-tacker-server' --property ActiveState | grep '\bactive\b' when: - step|int == 0 - tacker_enabled.rc == 0 tags: validation - name: Stop tacker service when: - step|int == 1 - tacker_enabled.rc == 0 service: name=openstack-tacker-server state=stopped - name: Install openstack-tacker package if it was disabled yum: name=openstack-tacker state=latest when: - step|int == 3 - tacker_enabled.rc != 0