summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Slagle <jslagle@redhat.com>2017-04-26 11:04:42 -0400
committerJames Slagle <jslagle@redhat.com>2017-06-15 14:56:20 -0400
commita59142162c8acf189e5682b9ad1a6fef7a2dbc29 (patch)
tree424d2e809fee25a9cc09ec8a660d599d64198203
parent562ee3a9a74a06d080847193b017cbe9e59d7077 (diff)
Add VipMap output
Add VipMap output to the top level stack output. VipMap is a mapping from each network to the VIP address on that network. Also includes the Redis VIP. This output facilitates deploying split-stack so you can feed the VIP addresses from VipMap as inputs into the services stack. implements blueprint split-stack-default Change-Id: I245920994613c9bd10801c25fa545267aa49b239
-rw-r--r--overcloud.j2.yaml6
-rw-r--r--releasenotes/notes/vipmap-output-4a9ce99930960346.yaml5
2 files changed, 11 insertions, 0 deletions
diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml
index 3244b252..c8b3458b 100644
--- a/overcloud.j2.yaml
+++ b/overcloud.j2.yaml
@@ -806,3 +806,9 @@ outputs:
{% for role in roles %}
{{role.name}}: {get_attr: [{{role.name}}, attributes, os_collect_config]}
{% endfor %}
+ VipMap:
+ description: Mapping of each network to VIP addresses. Also includes the Redis VIP.
+ value:
+ map_merge:
+ - {get_attr: [VipMap, net_ip_map]}
+ - redis: {get_attr: [RedisVirtualIP, ip_address]}
diff --git a/releasenotes/notes/vipmap-output-4a9ce99930960346.yaml b/releasenotes/notes/vipmap-output-4a9ce99930960346.yaml
new file mode 100644
index 00000000..1f49bacd
--- /dev/null
+++ b/releasenotes/notes/vipmap-output-4a9ce99930960346.yaml
@@ -0,0 +1,5 @@
+---
+features:
+ - Add VipMap output to the top level stack output. VipMap is a mapping from
+ each network to the VIP address on that network. Also includes the Redis
+ VIP.
ord.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
heat_template_version: 2015-04-30
description: 'Swift Devices and Proxy Config for Puppet'

parameters:
  controller_swift_devices:
    type: comma_delimited_list
  object_store_swift_devices:
    type: comma_delimited_list
  controller_swift_proxy_memcaches:
    type: comma_delimited_list

resources:

  SwiftDevicesAndProxyConfigImpl:
    type: OS::Heat::StructuredConfig
    properties:
      group: os-apply-config
      config:
        hiera:
          datafiles:
            swift_devices_and_proxy:
              mapped_data:
                tripleo::ringbuilder::devices:
                  list_join:
                  - ", "
                  - - list_join:
                      - ", "
                      - {get_param: controller_swift_devices}
                    - list_join:
                      - ", "
                      - {get_param: object_store_swift_devices}
                swift::proxy::cache::memcache_servers:
                  str_replace:
                    template: "['SERVERS_LIST']"
                    params:
                      SERVERS_LIST:
                        list_join:
                        - "','"
                        - {get_param: controller_swift_proxy_memcaches}

outputs:
  config_id:
    description: The ID of the SwiftDevicesAndProxyConfigImpl resource.
    value:
      {get_resource: SwiftDevicesAndProxyConfigImpl}