{"heat_template_version": "wallaby", "description": "OpenStack Redis service configured with Puppet\n", "parameters": {"RootStackName": {"description": "The name of the stack/plan.", "type": "string"}, "RedisPassword": {"description": "The password for the redis service account.", "type": "string", "hidden": true}, "RedisFDLimit": {"description": "Configure Redis FD limit", "type": "number", "default": 10240}, "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. Use parameter_merge_strategies to merge it with the defaults.", "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}, "RedisIPv6": {"default": false, "description": "Enable IPv6 in Redis", "type": "boolean"}, "RedisVirtualFixedIPs": {"default": [], "description": "Control the IP allocation for the virtual IP used by Redis. E.g. [{'ip_address':'1.2.3.4'}]\n", "type": "json"}, "ServiceVips": {"default": {}, "type": "json"}}, "parameter_groups": [{"label": "deprecated", "description": "The following parameters are deprecated and will be removed. They should not\nbe relied on for new deployments. If you have concerns regarding deprecated\nparameters, please contact the TripleO development team on IRC or the\nOpenStack mailing list.\n", "parameters": ["RedisIPv6"]}], "conditions": {"is_ipv6": {"equals": [{"get_param": ["ServiceData", "net_ip_version_map", {"get_param": ["ServiceNetMap", "RedisNetwork"]}]}, 6]}, "redis_virtual_fixed_ip_set": {"not": {"equals": [{"get_param": "RedisVirtualFixedIPs"}, []]}}, "redis_service_vip_set": {"not": {"equals": [{"get_param": ["ServiceVips", "redis"]}, ""]}}}, "outputs": {"role_data": {"description": "Role data for the redis role.", "value": {"service_name": "redis_base", "config_settings": {"redis::requirepass": {"get_param": "RedisPassword"}, "redis::masterauth": {"get_param": "RedisPassword"}, "redis::sentinel_auth_pass": {"get_param": "RedisPassword"}, "redis_ipv6": {"if": ["is_ipv6", true, false]}, "redis::bind": {"if": [{"get_param": "EnableInternalTLS"}, {"if": ["is_ipv6", "::1", "127.0.0.1"]}, {"str_replace": {"template": "%{hiera('$NETWORK')}", "params": {"$NETWORK": {"get_param": ["ServiceNetMap", "RedisNetwork"]}}}}]}, "redis::port": 6379, "redis::sentinel::master_name": "%{hiera('redis_short_bootstrap_node_name')}", "redis::sentinel::redis_host": "%{hiera('redis_bootstrap_node_ip')}", "redis::sentinel::notification_script": "/usr/local/bin/redis-notifications.sh", "redis::sentinel::sentinel_bind": {"if": [{"get_param": "EnableInternalTLS"}, {"if": ["is_ipv6", "::1", "127.0.0.1"]}, {"str_replace": {"template": "%{hiera('$NETWORK')}", "params": {"$NETWORK": {"get_param": ["ServiceNetMap", "RedisNetwork"]}}}}]}, "redis::ulimit": {"get_param": "RedisFDLimit"}}, "external_deploy_tasks": [{"when": ["step|int == 0"], "name": "redis_external_deploy_init", "block": [{"name": "create redis virtual ip", "tripleo_service_vip": {"playbook_dir": "{{ playbook_dir }}", "stack_name": {"get_param": "RootStackName"}, "service_name": "redis", "network": {"get_param": ["ServiceNetMap", "RedisNetwork"]}, "fixed_ips": {"if": ["redis_virtual_fixed_ip_set", {"get_param": "RedisVirtualFixedIPs"}, {"if": ["redis_service_vip_set", [{"ip_address": {"get_param": ["ServiceVips", "redis"]}}], [{"subnet": {"get_param": ["ServiceData", "vip_subnet_map", "redis"]}}]]}]}}}]}], "external_update_tasks": [{"when": ["step|int == 0"], "name": "redis_external_update_init", "block": [{"name": "create redis virtual ip", "tripleo_service_vip": {"playbook_dir": "{{ playbook_dir }}", "stack_name": {"get_param": "RootStackName"}, "service_name": "redis", "network": {"get_param": ["ServiceNetMap", "RedisNetwork"]}, "fixed_ips": {"if": ["redis_virtual_fixed_ip_set", {"get_param": "RedisVirtualFixedIPs"}, {"if": ["redis_service_vip_set", [{"ip_address": {"get_param": ["ServiceVips", "redis"]}}], [{"subnet": {"get_param": ["ServiceData", "vip_subnet_map", "redis"]}}]]}]}}}]}]}}}}