--- # Copyright 2020 British Telecommunications plc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Author: Antonio Marsico (antonio.marsico@bt.com) - name: Launch OSM instances os_server: cloud: "{{ cloud_name }}" name: "{{ prefix }}-{{ item.name }}" state: present key_name: "{{ item.key }}" nics: "{{ item.nics }}" image: "{{ item.image }}" flavor: "{{ item.flavor }}" security_groups: - default - "{{external_network_name}}_access" with_items: "{{ servers }}" register: "os_hosts" when: setup_volume|bool == False - name: Launch OSM instances with a volume os_server: cloud: "{{ cloud_name }}" name: "{{ prefix }}-{{ item.name }}" state: present key_name: "{{ item.key }}" nics: "{{ item.nics }}" image: "{{ item.image }}" flavor: "{{ item.flavor }}" boot_from_volume: yes terminate_volume: yes security_groups: - default - "{{external_network_name}}_access" with_items: "{{ servers }}" register: "os_hosts_with_volume" when: setup_volume|bool == True - set_fact: os_hosts: "{{ os_hosts_with_volume }}" when: setup_volume|bool == True - name: Add OSM host to the local Ansible inventory add_host: name: "{{ item.openstack.accessIPv4 }}" groups: "{{ item['item']['meta']['group'] }}" ansible_private_key_file: "~/.ssh/{{ os_key_name }}" ansible_user: "{{ item['item']['user'] }}" with_items: "{{ os_hosts.results }}"