From 4514a0ddb20480d43f153f25de94a267f10f0696 Mon Sep 17 00:00:00 2001
From: Jiri Mencak <jmencak@redhat.com>
Date: Sun, 17 Dec 2017 23:54:51 +0100
Subject: OpenStack provisioning -- support cns.

---
 playbooks/openstack/sample-inventory/group_vars/all.yml | 5 +++++
 playbooks/openstack/sample-inventory/inventory.py       | 9 ++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

(limited to 'playbooks/openstack')

diff --git a/playbooks/openstack/sample-inventory/group_vars/all.yml b/playbooks/openstack/sample-inventory/group_vars/all.yml
index c7afe9a24..d63229120 100644
--- a/playbooks/openstack/sample-inventory/group_vars/all.yml
+++ b/playbooks/openstack/sample-inventory/group_vars/all.yml
@@ -7,6 +7,7 @@ openshift_openstack_dns_nameservers: []
 # # - set custom hostnames for roles by uncommenting corresponding lines
 #openshift_openstack_master_hostname: "master"
 #openshift_openstack_infra_hostname: "infra-node"
+#openshift_openstack_cns_hostname: "cns"
 #openshift_openstack_node_hostname: "app-node"
 #openshift_openstack_lb_hostname: "lb"
 #openshift_openstack_etcd_hostname: "etcd"
@@ -30,6 +31,7 @@ openshift_openstack_external_network_name: "public"
 # # - note: do not remove openshift_openstack_default_image_name definition
 #openshift_openstack_master_image_name: "centos7"
 #openshift_openstack_infra_image_name: "centos7"
+#openshift_openstack_cns_image_name: "centos7"
 #openshift_openstack_node_image_name: "centos7"
 #openshift_openstack_lb_image_name: "centos7"
 #openshift_openstack_etcd_image_name: "centos7"
@@ -37,6 +39,7 @@ openshift_openstack_default_image_name: "centos7"
 
 openshift_openstack_num_masters: 1
 openshift_openstack_num_infra: 1
+openshift_openstack_num_cns: 0
 openshift_openstack_num_nodes: 2
 
 # # Used Flavors
@@ -44,6 +47,7 @@ openshift_openstack_num_nodes: 2
 # # - note: do note remove openshift_openstack_default_flavor definition
 #openshift_openstack_master_flavor: "m1.medium"
 #openshift_openstack_infra_flavor: "m1.medium"
+#openshift_openstack_cns_flavor: "m1.medium"
 #openshift_openstack_node_flavor: "m1.medium"
 #openshift_openstack_lb_flavor: "m1.medium"
 #openshift_openstack_etcd_flavor: "m1.medium"
@@ -57,6 +61,7 @@ openshift_openstack_default_flavor: "m1.medium"
 # # - note: do not remove docker_default_volume_size definition
 #openshift_openstack_docker_master_volume_size: "15"
 #openshift_openstack_docker_infra_volume_size: "15"
+#openshift_openstack_docker_cns_volume_size: "15"
 #openshift_openstack_docker_node_volume_size: "15"
 #openshift_openstack_docker_etcd_volume_size: "2"
 #openshift_openstack_docker_lb_volume_size: "5"
diff --git a/playbooks/openstack/sample-inventory/inventory.py b/playbooks/openstack/sample-inventory/inventory.py
index ad3fd936b..084b5c0a0 100755
--- a/playbooks/openstack/sample-inventory/inventory.py
+++ b/playbooks/openstack/sample-inventory/inventory.py
@@ -42,7 +42,10 @@ def build_inventory():
            if server.metadata['host-type'] == 'node' and
            server.metadata['sub-host-type'] == 'app']
 
-    nodes = list(set(masters + infra_hosts + app))
+    cns = [server.name for server in cluster_hosts
+           if server.metadata['host-type'] == 'cns']
+
+    nodes = list(set(masters + infra_hosts + app + cns))
 
     dns = [server.name for server in cluster_hosts
            if server.metadata['host-type'] == 'dns']
@@ -59,6 +62,7 @@ def build_inventory():
     inventory['nodes'] = {'hosts': nodes}
     inventory['infra_hosts'] = {'hosts': infra_hosts}
     inventory['app'] = {'hosts': app}
+    inventory['glusterfs'] = {'hosts': cns}
     inventory['dns'] = {'hosts': dns}
     inventory['lb'] = {'hosts': load_balancers}
 
@@ -93,6 +97,9 @@ def build_inventory():
             hostvars['openshift_hostname'] = server.private_v4
         hostvars['openshift_public_hostname'] = server.name
 
+        if server.metadata['host-type'] == 'cns':
+            hostvars['glusterfs_devices'] = ['/dev/nvme0n1']
+
         node_labels = server.metadata.get('node_labels')
         if node_labels:
             hostvars['openshift_node_labels'] = node_labels
-- 
cgit v1.2.3