Browse Source

Add support for separate etcd volume with aws provider through bin/cluster

Jason DeTiberus 9 years ago
parent
commit
aefff9001a

+ 7 - 0
filter_plugins/oo_filters.py

@@ -195,6 +195,13 @@ class FilterModule(object):
                 docker_vol.pop('delete_on_termination', None)
                 docker_vol['ephemeral'] = 'ephemeral0'
             return [root_vol, docker_vol]
+        elif host_type == 'etcd':
+            etcd_vol = data[host_type]['etcd']
+            etcd_vol['device_name'] = '/dev/xvdb'
+            etcd_vol['delete_on_termination'] = True
+            if etcd_vol['device_type'] != 'io1':
+                etcd_vol.pop('iops', None)
+            return [root_vol, etcd_vol]
         return [root_vol]
 
     @staticmethod

+ 20 - 0
playbooks/aws/openshift-cluster/templates/user_data.j2

@@ -1,4 +1,24 @@
 #cloud-config
+{% if type =='etcd' %}
+cloud_config_modules:
+- disk_setup
+- mounts
+
+mounts:
+- [ xvdb, /var/lib/etcd, xfs, "defaults" ]
+
+disk_setup:
+  xvdb:
+    table_type: mbr
+    layout: True
+
+fs_setup:
+- label: etcd_storage
+  filesystem: xfs
+  device: /dev/xvdb
+  partition: auto
+{% endif %}
+
 {% if type == 'node' %}
 mounts:
 - [ xvdb ]

+ 1 - 1
playbooks/aws/openshift-cluster/terminate.yml

@@ -43,7 +43,7 @@
 
     # Fail if any of the instances failed to terminate with an error other
     # than 403 Forbidden
-    - fail: msg=Terminating instance {{ item.item.ec2_id }} failed with message {{ item.msg }}
+    - fail: msg=Terminating instance {{ item.ec2_id }} failed with message {{ item.msg }}
       when: "'oo_hosts_to_terminate' in groups and item.failed and not item.msg | search(\"error: EC2ResponseError: 403 Forbidden\")"
       with_items: ec2_term.results