elb.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ---
  2. - name: query vpc
  3. ec2_vpc_net_facts:
  4. region: "{{ openshift_aws_region }}"
  5. filters:
  6. 'tag:Name': "{{ openshift_aws_vpc_name }}"
  7. register: vpcout
  8. - name: debug
  9. debug: var=vpcout
  10. - name: fetch the remote instances
  11. ec2_remote_facts:
  12. region: "{{ openshift_aws_region }}"
  13. filters: "{{ openshift_aws_elb_instance_filter }}"
  14. register: instancesout
  15. - name: fetch the default subnet id
  16. ec2_vpc_subnet_facts:
  17. region: "{{ openshift_aws_region }}"
  18. filters:
  19. "tag:Name": "{{ openshift_aws_subnet_name }}"
  20. vpc-id: "{{ vpcout.vpcs[0].id }}"
  21. register: subnetout
  22. - name:
  23. debug:
  24. msg: "{{ openshift_aws_elb_listeners[openshift_aws_node_group_type][openshift_aws_elb_direction]
  25. if 'master' in openshift_aws_node_group_type or 'infra' in openshift_aws_node_group_type
  26. else openshift_aws_elb_listeners }}"
  27. - name: "Create ELB {{ openshift_aws_elb_name }}"
  28. ec2_elb_lb:
  29. name: "{{ openshift_aws_elb_name }}"
  30. state: present
  31. security_group_names: "{{ openshift_aws_elb_security_groups }}"
  32. idle_timeout: "{{ openshift_aws_elb_idle_timout }}"
  33. region: "{{ openshift_aws_region }}"
  34. subnets:
  35. - "{{ subnetout.subnets[0].id }}"
  36. health_check: "{{ openshift_aws_elb_health_check }}"
  37. listeners: "{{ openshift_aws_elb_listeners[openshift_aws_node_group_type][openshift_aws_elb_direction]
  38. if 'master' in openshift_aws_node_group_type or 'infra' in openshift_aws_node_group_type
  39. else openshift_aws_elb_listeners }}"
  40. scheme: "{{ openshift_aws_elb_scheme }}"
  41. tags:
  42. KubernetesCluster: "{{ openshift_aws_clusterid }}"
  43. register: new_elb
  44. # It is necessary to ignore_errors here because the instances are not in 'ready'
  45. # state when first added to ELB
  46. - name: "Add instances to ELB {{ openshift_aws_elb_name }}"
  47. ec2_elb:
  48. instance_id: "{{ item.id }}"
  49. ec2_elbs: "{{ openshift_aws_elb_name }}"
  50. state: present
  51. region: "{{ openshift_aws_region }}"
  52. wait: False
  53. with_items: "{{ instancesout.instances }}"
  54. ignore_errors: True
  55. retries: 10
  56. register: elb_call
  57. until: elb_call|succeeded
  58. - debug:
  59. msg: "{{ item }}"
  60. with_items:
  61. - "{{ new_elb }}"