X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fopenstack%2Froles%2Fcreate_instances%2Ftasks%2Fmain.yml;h=c97b1a813c1e3e3c046dcbfeae8e8e42f1407849;hb=e3650fca9eaa23b609c32a76c37c853796f514b1;hp=03c0b4c14aa5dcd40406b3e9d1bae8f5aaca6baa;hpb=ea93a255bf7447bdf7f87773a10fa750d4aab1f1;p=osm%2Fdevops.git diff --git a/installers/openstack/roles/create_instances/tasks/main.yml b/installers/openstack/roles/create_instances/tasks/main.yml index 03c0b4c1..c97b1a81 100644 --- a/installers/openstack/roles/create_instances/tasks/main.yml +++ b/installers/openstack/roles/create_instances/tasks/main.yml @@ -14,15 +14,20 @@ # limitations under the License. # Author: Antonio Marsico (antonio.marsico@bt.com) +- set_fact: + local_userdata: "{{ lookup('file', userdata_file) }}" + when: userdata_file != none + - name: Launch OSM instances - os_server: + openstack.cloud.server: cloud: "{{ cloud_name }}" - name: "{{ prefix }}-{{ item.name }}" + name: "{{ server_name }}-{{ item.name }}" state: present key_name: "{{ item.key }}" nics: "{{ item.nics }}" image: "{{ item.image }}" flavor: "{{ item.flavor }}" + userdata: "{{ local_userdata }}" security_groups: - default - "{{external_network_name}}_access" @@ -31,14 +36,16 @@ when: setup_volume|bool == False - name: Launch OSM instances with a volume - os_server: + openstack.cloud.server: cloud: "{{ cloud_name }}" - name: "{{ prefix }}-{{ item.name }}" + name: "{{ server_name }}-{{ item.name }}" state: present key_name: "{{ item.key }}" nics: "{{ item.nics }}" image: "{{ item.image }}" flavor: "{{ item.flavor }}" + volume_size: "{{ os_flavor.disk }}" + userdata: "{{ local_userdata }}" boot_from_volume: yes terminate_volume: yes security_groups: @@ -59,3 +66,13 @@ ansible_private_key_file: "~/.ssh/{{ os_key_name }}" ansible_user: "{{ item['item']['user'] }}" with_items: "{{ os_hosts.results }}" + when: key_file == none + +- name: Add OSM host to the local Ansible inventory + add_host: + name: "{{ item.openstack.accessIPv4 }}" + groups: "{{ item['item']['meta']['group'] }}" + ansible_private_key_file: "{{ key_file | regex_replace('.pub') }}" + ansible_user: "{{ item['item']['user'] }}" + with_items: "{{ os_hosts.results }}" + when: key_file != none