# 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: /root/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: {{ scenario }}

  roles:
    - interface_config

