{"heat_template_version": "wallaby", "description": "OpenStack containerized Ceilometer Agent Ipmi service\n", "parameters": {"ContainerCeilometerIpmiImage": {"description": "image", "type": "string", "tags": ["role_specific"]}, "ContainerCeilometerConfigImage": {"description": "The container image to use for the ceilometer config_volume", "type": "string", "tags": ["role_specific"]}, "CeilometerAgentIpmiLoggingSource": {"type": "json", "default": {"tag": "openstack.ceilometer.agent.ipmi", "file": "/var/log/containers/ceilometer/ipmi.log"}}, "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. 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"}, "RedisPassword": {"description": "The password for the redis service account.", "type": "string", "hidden": true}, "MonitoringSubscriptionCeilometerIpmi": {"default": "overcloud-ceilometer-agent-ipmi", "type": "string"}}, "resources": {"ContainersCommon": {"type": "file:///usr/share/openstack-tripleo-heat-templates/deployment/containers-common.yaml"}, "CeilometerServiceBase": {"type": "file:///usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-base-container-puppet.yaml", "properties": {"ServiceData": {"get_param": "ServiceData"}, "ServiceNetMap": {"get_param": "ServiceNetMap"}, "EndpointMap": {"get_param": "EndpointMap"}, "RoleName": {"get_param": "RoleName"}, "RoleParameters": {"get_param": "RoleParameters"}}}, "CeilometerAgentCentralBase": {"type": "file:///usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-central-container-puppet.yaml", "properties": {"EndpointMap": {"get_param": "EndpointMap"}, "ServiceData": {"get_param": "ServiceData"}, "ServiceNetMap": {"get_param": "ServiceNetMap"}, "RoleName": {"get_param": "RoleName"}, "RoleParameters": {"get_param": "RoleParameters"}}}, "RoleParametersValue": {"type": "OS::Heat::Value", "properties": {"type": "json", "value": {"map_replace": [{"map_replace": [{"ContainerCeilometerIpmiImage": "ContainerCeilometerIpmiImage", "ContainerCeilometerConfigImage": "ContainerCeilometerConfigImage"}, {"values": {"get_param": ["RoleParameters"]}}]}, {"values": {"ContainerCeilometerIpmiImage": {"get_param": "ContainerCeilometerIpmiImage"}, "ContainerCeilometerConfigImage": {"get_param": "ContainerCeilometerConfigImage"}}}]}}}}, "outputs": {"role_data": {"description": "Role data for the Ceilometer Agent Ipmi role.", "value": {"service_name": "ceilometer_agent_ipmi", "monitoring_subscription": {"get_param": "MonitoringSubscriptionCeilometerIpmi"}, "config_settings": {"map_merge": [{"get_attr": ["CeilometerServiceBase", "role_data", "config_settings"]}, {"ceilometer_redis_password": {"get_param": "RedisPassword"}, "ipmi_namespace": true}]}, "service_config_settings": {"rsyslog": {"tripleo_logging_sources_ceilometer_agent_ipmi": [{"get_param": "CeilometerAgentIpmiLoggingSource"}]}}, "puppet_config": {"config_volume": "ceilometer", "puppet_tags": "ceilometer_config", "step_config": "include tripleo::profile::base::ceilometer::agent::polling\n", "config_image": {"get_attr": ["RoleParametersValue", "value", "ContainerCeilometerConfigImage"]}}, "kolla_config": {"/var/lib/kolla/config_files/ceilometer-agent-ipmi.json": {"command": "/usr/bin/ceilometer-polling --polling-namespaces ipmi --logfile /var/log/ceilometer/ipmi.log", "config_files": [{"source": "/var/lib/kolla/config_files/src/*", "dest": "/", "merge": true, "preserve_properties": true}]}}, "docker_config": {"step_3": {"ceilometer_init_log": {"start_order": 0, "image": {"get_attr": ["RoleParametersValue", "value", "ContainerCeilometerIpmiImage"]}, "net": "none", "user": "root", "command": ["/bin/bash", "-c", "chown -R ceilometer:ceilometer /var/log/ceilometer"], "volumes": ["/var/log/containers/ceilometer:/var/log/ceilometer:z"]}}, "step_4": {"ceilometer_agent_ipmi": {"image": {"get_attr": ["RoleParametersValue", "value", "ContainerCeilometerIpmiImage"]}, "net": "host", "privileged": true, "restart": "always", "healthcheck": {"test": "/openstack/healthcheck"}, "volumes": {"list_concat": [{"get_attr": ["ContainersCommon", "volumes"]}, ["/var/lib/kolla/config_files/ceilometer-agent-ipmi.json:/var/lib/kolla/config_files/config.json:ro", "/var/lib/config-data/puppet-generated/ceilometer:/var/lib/kolla/config_files/src:ro", "/var/log/containers/ceilometer:/var/log/ceilometer:z"]]}, "environment": {"KOLLA_CONFIG_STRATEGY": "COPY_ALWAYS"}}}}, "host_prep_tasks": [{"name": "create persistent directories", "file": {"path": "{{ item.path }}", "state": "directory", "setype": "{{ item.setype }}", "mode": "{{ item.mode }}"}, "with_items": [{"path": "/var/log/containers/ceilometer", "setype": "container_file_t", "mode": "0750"}]}]}}}}