heat_template_version: 2016-04-08

description: >
  Keepalived service configured with Puppet

parameters:
  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
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  ControlVirtualInterface:
    default: 'br-ex'
    description: Interface where virtual ip will be assigned.
    type: string
  PublicVirtualInterface:
    default: 'br-ex'
    description: >
        Specifies the interface where the public-facing virtual ip will be assigned.
        This should be int_public when a VLAN is being used.
    type: string
  MonitoringSubscriptionKeepalived:
    default: 'overcloud-keepalived'
    type: string

outputs:
  role_data:
    description: Role data for the Keepalived role.
    value:
      service_name: keepalived
      monitoring_subscription: {get_param: MonitoringSubscriptionKeepalived}
      config_settings:
        tripleo::keepalived::control_virtual_interface: {get_param: ControlVirtualInterface}
        tripleo::keepalived::public_virtual_interface: {get_param: PublicVirtualInterface}
        tripleo.keepalived.firewall_rules:
          '106 keepalived vrrp':
            proto: vrrp
      step_config: |
        include ::tripleo::profile::base::keepalived
