
# 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
  user: ubuntu
  sudo: yes
  tasks:
  - name : stopping onos service on {{ instance_name }}
    uri:
      url: http://{{ instance_name }}:5004/monitoring/agent/onos/stop
      method: POST
      body: '"target":"udp://9.9.9.9:4455", "meta_data": { "resources": ["onos://10.11.10.60:8181?auth=basic&user=onos&password=rocks&scheme=http","onos://10.11.10.61:8181?auth=basic&user=onos&password=rocks&scheme=http"]} '
      force_basic_auth: yes
      status_code: 200
      body_format: json
  - name:  stopping openstack service on {{ instance_name }}
    uri:
      url: http://{{ instance_name }}:5004/monitoring/agent/openstack/stop
      method: POST
      body: '"target":"udp://9.9.9.9:4455"'
      force_basic_auth: yes
      status_code: 200
      body_format: json
