X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=roles%2Flaunchconfig%2Ftasks%2Fmain.yml;fp=roles%2Flaunchconfig%2Ftasks%2Fmain.yml;h=59768fdf2b87257ecdbe3aa48764620dd2f1de41;hb=1aa43a2d86c2b0c465eaa0a3a838a340679606a7;hp=0000000000000000000000000000000000000000;hpb=d3de5c7023fc31297d813e0496480e37329f42ad;p=awsible diff --git a/roles/launchconfig/tasks/main.yml b/roles/launchconfig/tasks/main.yml new file mode 100644 index 0000000..59768fd --- /dev/null +++ b/roles/launchconfig/tasks/main.yml @@ -0,0 +1,71 @@ +--- +- assert: + that: + - module != '' + - version != '' + - ami|default(DEFAULT_AMI) != '' + - region|default(vpc_region) != '' + - security_group_ids != '' + - instance_type != '' + tags: ['check_vars'] + +- set_fact: + ud_cluster: + - "{{ module }}" + - "{{ country|ternary('c0', '') }}{{ country|default('') }}" + - "{{ phase|ternary('d0', '') }}{{ phase|default('') }}" + +- set_fact: + ud_asgn: + - "{{ module }}" + - "{{ stack|default('') }}" + - "{{ country|ternary('c0', '') }}{{ country|default('') }}" + - "{{ phase|ternary('d0', '') }}{{ phase|default('') }}" + +- set_fact: + lc_n: + - "{{ module }}" + - "{{ stack|default('') }}" + - "{{ country|ternary('c0', '') }}{{ country|default('') }}" + - "{{ phase|ternary('d0', '') }}{{ phase|default('') }}" + - "{{ version }}" + +- name: assemble user data + set_fact: + user_data: + EC2_REGION: "{{ region|default(vpc_region) }}" + CLOUD_COUNTRIES: "{{ country|default() }}" + CLOUD_ENVIRONMENT: "{{ ACCT_NAME }}" + CLOUD_MONITOR_BUCKET: "{{ module }}" + CLOUD_APP: "{{ module }}" + CLOUD_STACK: "{{ stack|default('None') }}" + CLOUD_DEV_PHASE: "{{ phase|default() }}" + CLOUD_CLUSTER: "{{ ud_cluster|select|join('-') }}" + CLOUD_AUTO_SCALE_GROUP: "{{ ud_asgn|select|join('-') }}" + CLOUD_LAUNCH_CONFIG: "{{ lc_n|select|join('-') }}" + +- name: launchconfig + ec2_lc: + region: "{{ region|default(vpc_region) }}" + name: "{{ lc_n|select|join('-') }}" + image_id: "{{ ami|default(DEFAULT_AMI) }}" + key_name: "{{ MANAGEMENT_KEY_NAME }}" + instance_profile_name: "{{ module }}" + security_groups: "{{ security_group_ids }}" + instance_type: "{{ instance_type}}" + volumes: +# setting the root volume seems to prevent instances from launching +# - device_name: /dev/sda +# 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 + user_data: "{{ lookup('template', 'userdata.sh.j2') }}" + register: launchconfig