Update ceilometer collector ipv6 handling
authorAlex Schultz <aschultz@redhat.com>
Tue, 22 Nov 2016 17:50:29 +0000 (10:50 -0700)
committerAlex Schultz <aschultz@redhat.com>
Tue, 22 Nov 2016 17:50:29 +0000 (10:50 -0700)
The normalize_ip_for_uri handles ipv6 bracketing correctly. Rather
than continue to do it manually, this change updates the ceilometer
collector profile to leverage the normalize_ip_for_uri function to
properly escape ipv6 addresses.

Change-Id: Ifaf6568785235db55f8dc593d83e534216413d31
Closes-Bug: #1629380

manifests/profile/base/ceilometer/collector.pp

index 3c0a361..20eab54 100644 (file)
@@ -68,19 +68,8 @@ class tripleo::profile::base::ceilometer::collector (
       if !$mongodb_replset {
         fail('mongodb_replset is required when using mongodb')
       }
-      # NOTE(gfidente): We need to pass the list of IPv6 addresses *with* port
-      # and without the brackets as 'members' argument for the 'mongodb_replset'
-      # resource.
-      if str2bool($mongodb_ipv6) {
-        $mongo_node_ips_with_port_prefixed = prefix($mongodb_node_ips, '[')
-        $mongo_node_ips_with_port = suffix($mongo_node_ips_with_port_prefixed, ']:27017')
-        $mongo_node_ips_with_port_nobr = suffix($mongodb_node_ips, ':27017')
-      } else {
-        $mongo_node_ips_with_port = suffix($mongodb_node_ips, ':27017')
-        $mongo_node_ips_with_port_nobr = suffix($mongodb_node_ips, ':27017')
-      }
-      $mongo_node_string = join($mongo_node_ips_with_port, ',')
-
+      $mongo_nodes = suffix(any2array(normalize_ip_for_uri($mongodb_node_ips)), ':27017')
+      $mongo_node_string = join($mongo_nodes, ',')
       $ceilometer_mongodb_conn_string = "mongodb://${mongo_node_string}/ceilometer?replicaSet=${mongodb_replset}"
 
       class { '::ceilometer::db' :