Add environment to preselect only VIP IP addresses
authorDan Sneddon <dsneddon@redhat.com>
Fri, 1 Jul 2016 23:30:57 +0000 (16:30 -0700)
committerDan Sneddon <dsneddon@redhat.com>
Fri, 7 Apr 2017 16:00:20 +0000 (09:00 -0700)
This change adds two files which demonstrate manipulation of the
VIP IP addresses without using an external load balancer. This
allows the configuration of DNS, or allows for continuity when
replacing an existing environment.

The fixed IPs for the virtual IPs are set using the new parameters,
and this change also adds a RedisVirtualFixedIPs parameter for
setting the Redis VIP.

Partial-Bug: https://bugs.launchpad.net/tripleo/+bug/1604946
Change-Id: I4e926f1c6b30d4009d24a307bc21e07e1731b387

environments/external-loadbalancer-vip-v6.yaml
environments/external-loadbalancer-vip.yaml
environments/fixed-ip-vips-v6.yaml [new file with mode: 0644]
environments/fixed-ip-vips.yaml [new file with mode: 0644]
overcloud.j2.yaml

index fbd1fb9..c8375fc 100644 (file)
@@ -1,4 +1,9 @@
 resource_registry:
+  OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external_v6.yaml
+  OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
+  OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_v6.yaml
+  OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt_v6.yaml
+  OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml
   OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_from_pool_v6.yaml
   OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_from_pool_v6.yaml
   OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_from_pool_v6.yaml
@@ -13,7 +18,7 @@ parameter_defaults:
   # to control your VIPs (currently one per network)
   # NOTE: we will eventually move to one VIP per service
   #
-  ControlFixedIPs: [{'ip_address':'192.0.2.251'}]
+  ControlFixedIPs: [{'ip_address':'192.168.24.251'}]
   PublicVirtualFixedIPs: [{'ip_address':'2001:db8:fd00:1000:0000:0000:0000:0005'}]
   InternalApiVirtualFixedIPs: [{'ip_address':'fd00:fd00:fd00:2000:0000:0000:0000:0005'}]
   StorageVirtualFixedIPs: [{'ip_address':'fd00:fd00:fd00:3000:0000:0000:0000:0005'}]
index 1759c04..33f145d 100644 (file)
@@ -1,4 +1,9 @@
 resource_registry:
+  OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external.yaml
+  OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml
+  OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml
+  OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml
+  OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml
   OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_from_pool.yaml
   OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml
   OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_from_pool.yaml
@@ -12,7 +17,7 @@ parameter_defaults:
   # to control your VIPs (currently one per network)
   # NOTE: we will eventually move to one VIP per service
   #
-  ControlFixedIPs: [{'ip_address':'192.0.2.251'}]
+  ControlFixedIPs: [{'ip_address':'192.168.24.251'}]
   PublicVirtualFixedIPs: [{'ip_address':'10.0.0.251'}]
   InternalApiVirtualFixedIPs: [{'ip_address':'172.16.2.251'}]
   StorageVirtualFixedIPs: [{'ip_address':'172.16.1.251'}]
diff --git a/environments/fixed-ip-vips-v6.yaml b/environments/fixed-ip-vips-v6.yaml
new file mode 100644 (file)
index 0000000..c288d7b
--- /dev/null
@@ -0,0 +1,21 @@
+# This template allows the IPs to be preselected for each VIP. Note that
+# this template should be included after other templates which affect the
+# network such as network-isolation.yaml.
+
+resource_registry:
+  OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external_v6.yaml
+  OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
+  OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_v6.yaml
+  OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt_v6.yaml
+  OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml
+
+parameter_defaults:
+  # Set the IP addresses of the VIPs here.
+  # NOTE: we will eventually move to one VIP per service
+  #
+  ControlFixedIPs: [{'ip_address':'192.168.24.240'}]
+  PublicVirtualFixedIps: [{'ip_address':'2001:db8:fd00:1000:0000:0000:0000:0005'}]
+  InternalApiVirtualFixedIPs: [{'ip_address':'fd00:fd00:fd00:2000:0000:0000:0000:0005'}]
+  StorageVirtualFixedIPs: [{'ip_address':'fd00:fd00:fd00:3000:0000:0000:0000:000'}]
+  StorageMgmtVirtualFixedIPs: [{'ip_address':'fd00:fd00:fd00:4000:0000:0000:0000:0005'}]
+  RedisVirtualFixedIPs: [{'ip_address':'fd00:fd00:fd00:2000:0000:0000:0000:0006'}]
diff --git a/environments/fixed-ip-vips.yaml b/environments/fixed-ip-vips.yaml
new file mode 100644 (file)
index 0000000..3860f41
--- /dev/null
@@ -0,0 +1,21 @@
+# This template allows the IPs to be preselected for each VIP. Note that
+# this template should be included after other templates which affect the
+# network such as network-isolation.yaml.
+
+resource_registry:
+  OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external.yaml
+  OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml
+  OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml
+  OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml
+  OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml
+
+parameter_defaults:
+  # Set the IP addresses of the VIPs here.
+  # NOTE: we will eventually move to one VIP per service
+  #
+  ControlFixedIPs: [{'ip_address':'192.168.24.240'}]
+  PublicVirtualFixedIps: [{'ip_address':'10.0.0.240'}]
+  InternalApiVirtualFixedIPs: [{'ip_address':'172.16.2.240'}]
+  StorageVirtualFixedIPs: [{'ip_address':'172.16.1.240'}]
+  StorageMgmtVirtualFixedIPs: [{'ip_address':'172.16.3.240'}]
+  RedisVirtualFixedIPs: [{'ip_address':'172.16.2.241'}]
index a322a44..30a1c9a 100644 (file)
@@ -43,7 +43,9 @@ parameters:
     type: string
   ControlFixedIPs:
     default: []
-    description: Should be used for arbitrary ips.
+    description: >
+        Control the IP allocation for the ControlVirtualIP port. E.g.
+        [{'ip_address':'1.2.3.4'}]
     type: json
   InternalApiVirtualFixedIPs:
     default: []