blob: d3613d1f9081ee51f91fcd601b2f238f5bb1c3f6 [file] [log] [blame]
# 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: 127.0.0.1
connection: local
tasks:
- os_network:
name: {{ name }}
shared: true
{% if not delete -%}
state: present
{% else -%}
state: absent
{% endif -%}
auth:
auth_url: {{ endpoint }}
username: {{ admin_user }}
password: {{ admin_password }}
project_name: {{ admin_project }}
{% if not delete %}
- os_subnet:
name: {{ subnet_name }}
network_name: {{ name }}
{% if not delete -%}
state: present
cidr: {{ cidr }}
dns_nameservers: 8.8.8.8
{% if use_vtn -%}
gateway_ip: {{ gateway }}
{% endif -%}
{% if start_ip -%}
allocation_pool_start: {{ start_ip }}
{% endif -%}
{% if end_ip -%}
allocation_pool_end: {{ end_ip }}
{% endif -%}
{% else -%}
state: absent
{% endif -%}
auth:
auth_url: {{ endpoint }}
username: {{ admin_user }}
password: {{ admin_password }}
project_name: {{ admin_project }}
{% if not use_vtn -%}
# until we get 'no-gateway-ip' arg to os_subnet, in Ansible 2.2
# https://github.com/ansible/ansible-modules-core/pull/3736
- command:
neutron \
--os-auth-url {{ endpoint }} \
--os-username {{ admin_user }} \
--os-password {{ admin_password }} \
--os-tenant-name {{ admin_project }} \
subnet-update --no-gateway {{ subnet_name }}
{% endif -%}
{% endif %}