heat_template_version: rocky description: > OpenStack Redis 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 EnableInternalTLS: type: boolean default: false conditions: use_tls_proxy: {equals : [{get_param: EnableInternalTLS}, true]} resources: RedisBase: type: ./redis-base.yaml properties: ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} EnableInternalTLS: {get_param: EnableInternalTLS} outputs: role_data: description: Role data for the redis role. value: service_name: redis config_settings: map_merge: - get_attr: [RedisBase, role_data, config_settings] - tripleo.redis.firewall_rules: '108 redis': dport: - 6379 - 26379 tripleo::profile::base::database::redis::tls_proxy_bind_ip: str_replace: template: "%{hiera('$NETWORK')}" params: $NETWORK: {get_param: [ServiceNetMap, RedisNetwork]} tripleo::profile::base::database::redis::tls_proxy_fqdn: str_replace: template: "%{hiera('fqdn_$NETWORK')}" params: $NETWORK: {get_param: [ServiceNetMap, RedisNetwork]} tripleo::profile::base::database::redis::tls_proxy_port: 6379 - if: - use_tls_proxy - redis_certificate_specs: service_certificate: '/etc/pki/tls/certs/redis.crt' service_key: '/etc/pki/tls/private/redis.key' hostname: str_replace: template: "%{hiera('cloud_name_NETWORK')}" params: NETWORK: {get_param: [ServiceNetMap, RedisNetwork]} principal: str_replace: template: "redis/%{hiera('cloud_name_NETWORK')}" params: NETWORK: {get_param: [ServiceNetMap, RedisNetwork]} - {} step_config: | include ::tripleo::profile::base::database::redis metadata_settings: if: - use_tls_proxy - - service: redis network: {get_param: [ServiceNetMap, RabbitmqNetwork]} type: vip - null upgrade_tasks: - name: Check if redis is deployed command: systemctl is-enabled redis tags: common ignore_errors: True register: redis_enabled - name: "PreUpgrade step0,validation: Check if redis is running" shell: > /usr/bin/systemctl show 'redis' --property ActiveState | grep '\bactive\b' when: - step|int == 0 - redis_enabled.rc == 0 tags: validation - name: Stop redis service when: - step|int == 1 - redis_enabled.rc == 0 service: name=redis state=stopped - name: Install redis package if it was disabled package: name=redis state=latest when: - step|int == 3 - redis_enabled.rc != 0 - name: Start redis service when: step|int == 4 service: name=redis state=started