# Copyright 2017-present Open Networking Foundation
#
# 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.

---
- hosts: {{ instance_name }} 
  gather_facts: False
  connection: ssh 
  remote_user: ubuntu
  become: yes
  become_user: root
  become_method: sudo
  vars:
    - source_path_4_1: /root/ngic
    - source_path_5_0: /home/ngic/ngic
    - zmq_sub_ip: {{ zmq_sub_ip }}
    - zmq_pub_ip: {{ zmq_pub_ip }}
    - dp_comm_ip: {{ dp_comm_ip }}
    - cp_comm_ip: {{ cp_comm_ip }}
    - fpc_ip: {{ fpc_ip }}
    - cp_nb_server_ip: {{ cp_nb_server_ip }}
    - s1u_ip: {{ s1u_ip }}
    - sgi_ip: {{ sgi_ip }}
    - scenario: {{ blueprint }}
    - as_sgi_ip: {{ as_sgi_ip }}
    - as_sgi_mac: {{ as_sgi_mac }}
    - enb_s1u_ip: {{ enb_s1u_ip }}
    - enb_s1u_mac: {{ enb_s1u_mac }}
    - cord_version: {{ cord_version }}

  roles:
    - { role: interface_config_4_1, when: cord_version == 4.1 }
    - { role: build_and_run_4_1, when: cord_version == 4.1 }
    - { role: interface_config_5_0, when: cord_version == 5.0 }
    - { role: build_and_run_5_0, when: cord_version == 5.0 }


