use common framework for management infrastructure
[awsible] / roles / aws-management-infrastructure / tasks / main.yml
index d0edb77bbf20cb4c439e5e510fc474c981ac4ab2..7db2e1adacc38c4a8a08e45187b92033e48f41e0 100644 (file)
@@ -3,6 +3,8 @@
     that:
     - MANAGEMENT_SUBNET != ''
     - DEFAULT_AMI != ''
+    - version != ''
+    - phase != ''
   tags: ['check_vars']
 
 - name: sg management-elb
@@ -58,6 +60,7 @@
       interval: 30
       unhealthy_threshold: 2
       healthy_threshold: 2
+  register: elb_management
 
 - name: management key
   ec2_key:
 #     - arn:aws:iam::{{ ACCT_ID }}:policy/base-policy
 #     - arn:aws:iam::{{ ACCT_ID }}:policy/management-policy
 
-# will need to rev name-version when changing AMI
-- name: management lc
-  ec2_lc:
-    region: "{{ vpc_region }}"
-    name: management-0000
-    image_id: "{{ DEFAULT_AMI }}"
-    key_name: "{{ MANAGEMENT_KEY_NAME }}"
-    instance_profile_name: management
-    security_groups:
-      - "{{ sg_management.group_id }}"
-      - "{{ sg_ssh.group_id }}"
-    instance_type: m4.large
-    volumes:
-# setting the root volume seems to prevent instances from launching
-#    - device_name: /dev/sda1
-#      volume_size: 8
-#      volume_type: gp2
-#      delete_on_termination: true
-    - device_name: /dev/sdb
-      ephemeral: ephemeral0
-    - device_name: /dev/sdc
-      ephemeral: ephemeral1
-    - device_name: /dev/sdd
-      ephemeral: ephemeral2
-    - device_name: /dev/sde
-      ephemeral: ephemeral3
-  register: mgmt_lc
+- include_role:
+    name: launchconfig
+  vars:
+    security_group_ids:
+    - "{{ sg_ssh.group_id }}"
+    - "{{ sg_icmp.group_id }}"
+    - "{{ sg_management.group_id }}"
 
-- name: management asg
-  ec2_asg:
-    region: "{{ vpc_region }}"
-    name: management
+# # will need to rev name-version when changing AMI
+# - name: management lc
+#   ec2_lc:
+#     region: "{{ vpc_region }}"
+#     name: management-0000
+#     image_id: "{{ DEFAULT_AMI }}"
+#     key_name: "{{ MANAGEMENT_KEY_NAME }}"
+#     instance_profile_name: management
+#     security_groups:
+#       - "{{ sg_management.group_id }}"
+#       - "{{ sg_ssh.group_id }}"
+#       - "{{ sg_icmp.group_id }}"
+#     instance_type: m4.large
+#     volumes:
+# # setting the root volume seems to prevent instances from launching
+# #    - device_name: /dev/sda1
+# #      volume_size: 8
+# #      volume_type: gp2
+# #      delete_on_termination: true
+#     - device_name: /dev/sdb
+#       ephemeral: ephemeral0
+#     - device_name: /dev/sdc
+#       ephemeral: ephemeral1
+#     - device_name: /dev/sdd
+#       ephemeral: ephemeral2
+#     - device_name: /dev/sde
+#       ephemeral: ephemeral3
+#   register: mgmt_lc
+
+- include_role:
+    name: autoscalinggroup
+  vars:
+    load_balancers: "{{ elb_management.elb.name }}"
     min_size: 1
     max_size: 1
-    desired_capacity: 1
-    default_cooldown: 10
-    vpc_zone_identifier: "{{ MANAGEMENT_SUBNET }}"
-    launch_config_name: "{{ mgmt_lc.name|default('checkmode') }}"
-    notification_topic: "{{ management_topic.sns_arn }}"
-    notification_types:
-    - autoscaling:EC2_INSTANCE_LAUNCH
-    load_balancers:
-    - management-int-elb
-    tags:
-    - account: "{{ ACCT_NAME }}"
-      propagate_at_launch: yes
-    - module: management
-      propagate_at_launch: yes
-    - stack: ""
-      propagate_at_launch: yes
-    - country: ""
-      propagate_at_launch: yes
-    - phase: dev
-      propagate_at_launch: yes
+    subnet_ids: "{{ MANAGEMENT_SUBNET }}"
+
+# - name: management asg
+#   ec2_asg:
+#     region: "{{ vpc_region }}"
+#     name: management
+#     min_size: 1
+#     max_size: 1
+#     desired_capacity: 1
+#     default_cooldown: 10
+#     vpc_zone_identifier: "{{ MANAGEMENT_SUBNET }}"
+#     launch_config_name: "{{ mgmt_lc.name|default('checkmode') }}"
+#     notification_topic: "{{ management_topic.sns_arn }}"
+#     notification_types:
+#     - autoscaling:EC2_INSTANCE_LAUNCH
+#     load_balancers:
+#     - management-int-elb
+#     tags:
+#     - account: "{{ ACCT_NAME }}"
+#       propagate_at_launch: yes
+#     - module: management
+#       propagate_at_launch: yes
+#     - stack: ""
+#       propagate_at_launch: yes
+#     - country: ""
+#       propagate_at_launch: yes
+#     - phase: dev
+#       propagate_at_launch: yes
 
 - name: not implemented yet
   debug: