--- # Security group - os_security_group: state: present name: all description: The world famous any any rule - os_security_group_rule: security_group: all direction: egress - os_security_group_rule: security_group: all protocol: icmp remote_ip_prefix: 0.0.0.0/0 - os_security_group_rule: security_group: all protocol: tcp port_range_min: 1 port_range_max: 65535 remote_ip_prefix: 0.0.0.0/0 - os_security_group_rule: security_group: all protocol: udp port_range_min: 1 port_range_max: 65535 remote_ip_prefix: 0.0.0.0/0 # Create instances - name: Create jump os_server: state: present security_groups: all name: c4science-jump image: "{{ image_id }}" key_name: "{{ keypair_name }}" wait: yes floating_ips: - "{{ external_ip }}" nics: - net-id: "{{ private_net}}" flavor: "{{ flavor_id_small }}" meta: hostname: c4science-jump group: ansible register: openstackjump - add_host: name: "{{ openstackjump.openstack.public_v4 }}" host_name: "c4science-jump" groupname: lbs - name: Create App1 os_server: state: present security_groups: all name: c4science-app01 image: "{{ image_id }}" key_name: "{{ keypair_name }}" wait: yes auto_ip: no nics: - net-id: "{{ private_net}}" flavor: "{{ flavor_id_small }}" meta: hostname: c4science-app01 group: ansible register: openstackapp1 - add_host: name: "{{ openstackapp1.openstack.private_v4 }}" host_name: "c4science-app01" groupname: app - name: Create App2 os_server: state: present security_groups: all name: c4science-app02 image: "{{ image_id }}" key_name: "{{ keypair_name }}" wait: yes auto_ip: no nics: - net-id: "{{ private_net}}" flavor: "{{ flavor_id_small }}" meta: hostname: c4science-app02 group: ansible register: openstackapp2 - add_host: name: "{{ openstackapp2.openstack.private_v4 }}" host_name: "c4science-app02" groupname: app - name: Create Db1 os_server: state: present security_groups: all name: c4science-db01 image: "{{ image_id }}" key_name: "{{ keypair_name }}" wait: yes auto_ip: no nics: - net-id: "{{ private_net}}" flavor: "{{ flavor_id_small }}" meta: hostname: c4science-db01 group: ansible register: openstackdb1 - add_host: name: "{{ openstackdb1.openstack.private_v4 }}" host_name: "c4science-db01" groupname: dbs - name: Create Db2 os_server: state: present security_groups: all name: c4science-db02 image: "{{ image_id }}" key_name: "{{ keypair_name }}" wait: yes auto_ip: no nics: - net-id: "{{ private_net}}" flavor: "{{ flavor_id_small }}" meta: hostname: c4science-db02 group: ansible register: openstackdb2 - add_host: name: "{{ openstackdb2.openstack.private_v4 }}" host_name: "c4science-db02" groupname: dbs - name: Create Monitoring instance os_server: state: present security_groups: all name: c4science-monit image: "{{ image_id }}" key_name: "{{ keypair_name }}" wait: yes auto_ip: no nics: - net-id: "{{ private_net}}" flavor: "{{ flavor_id_small }}" meta: hostname: c4science-monit group: ansible register: openstackmonit - add_host: name: "{{ openstackmonit.openstack.private_v4 }}" host_name: "c4science-monit" groupname: monit #- debug: var=openstackmonit.openstack.private_v4 #- name: Create Ci1 # nova_compute: # state: present # auth_url: "{{ auth_url }}" # login_username: "{{ login_username }}" # login_password: "{{ login_password }}" # login_tenant_name: "{{ login_tenant_name }}" # security_groups: "{{ secgroup_all }}" # name: c4science-ci01 # image_id: "{{ image_id }}" # key_name: "{{ keypair_name }}" # wait_for: 500 # nics: # - net-id: "{{ private_net }}" # flavor_id: "{{ flavor_id_small }}" # meta: # hostname: c4science-ci01 # group: ansible # register: openstackci01 # #- add_host: # name: "{{ openstackci01.openstack.private_v4 }}" # host_name: "c4science-ci01" # groupname: ci # Create volumes - name: Create repo volume os_volume: state: present size: 100 display_name: repo-data wait: yes - name: Attach repo volume os_server_volume: state: present server: c4science-jump volume: repo-data device: /dev/vdb - name: get dbs list os_server_facts: server: c4science-db* - name: Create dbs volume os_volume: state: present size: 100 display_name: "{{ item.human_id }}-data" wait: yes with_items: openstack_servers - name: Attach dbs volume os_server_volume: state: present server: "{{ item.human_id }}" volume: "{{ item.human_id }}-data" device: /dev/vdb with_items: openstack_servers