From a879e2a54e0641b692202d417021f1824032b123 Mon Sep 17 00:00:00 2001
From: Pawel Wieczorek
Date: Mon, 15 Jun 2020 16:29:35 +0200
Subject: Add Ansible roles for OpenStack network
This patch also adds Vagrant provisioners for creating and destroying
OpenStack infrastructure. These are set to never run (unless explicitly
called by the operator) because DevStack instance on a separate machine
might not be ready to provide OpenStack API.
This patch is based on previous work by:
Krzysztof Opasiak
Test harness is based on blog post [1] by:
Chris Morgan
[1] https://chrismorgan.info/blog/make-and-git-diff-test-harness
Issue-ID: INT-1601
Change-Id: I031ca7a5a43cca0258dc0dc9e0339182c431898a
Signed-off-by: Pawel Wieczorek
---
.../create_devstack_network/tasks/create_network.yml | 20 ++++++++++++++++++++
.../openstack/create_devstack_network/tasks/main.yml | 4 ++++
.../tasks/destroy_network.yml | 10 ++++++++++
.../destroy_devstack_network/tasks/main.yml | 4 ++++
4 files changed, 38 insertions(+)
create mode 100644 deployment/noheat/infra-openstack/ansible/roles/openstack/create_devstack_network/tasks/create_network.yml
create mode 100644 deployment/noheat/infra-openstack/ansible/roles/openstack/create_devstack_network/tasks/main.yml
create mode 100644 deployment/noheat/infra-openstack/ansible/roles/openstack/destroy_devstack_network/tasks/destroy_network.yml
create mode 100644 deployment/noheat/infra-openstack/ansible/roles/openstack/destroy_devstack_network/tasks/main.yml
(limited to 'deployment/noheat/infra-openstack/ansible/roles')
diff --git a/deployment/noheat/infra-openstack/ansible/roles/openstack/create_devstack_network/tasks/create_network.yml b/deployment/noheat/infra-openstack/ansible/roles/openstack/create_devstack_network/tasks/create_network.yml
new file mode 100644
index 000000000..5d86858c1
--- /dev/null
+++ b/deployment/noheat/infra-openstack/ansible/roles/openstack/create_devstack_network/tasks/create_network.yml
@@ -0,0 +1,20 @@
+---
+- name: "Create {{ net.name }} network"
+ os_network:
+ name: "{{ net.name }}"
+ state: present
+
+- name: "Create {{ net.name }} subnet"
+ os_subnet:
+ name: "{{ net.name }}_subnet"
+ network_name: "{{ net.name }}"
+ cidr: "{{ net.cidr }}"
+ state: present
+
+- name: "Create {{ net.name }} router"
+ os_router:
+ name: "{{ net.name }}_router"
+ network: public
+ interfaces:
+ - "{{ net.name }}_subnet"
+ state: present
diff --git a/deployment/noheat/infra-openstack/ansible/roles/openstack/create_devstack_network/tasks/main.yml b/deployment/noheat/infra-openstack/ansible/roles/openstack/create_devstack_network/tasks/main.yml
new file mode 100644
index 000000000..5c8af745f
--- /dev/null
+++ b/deployment/noheat/infra-openstack/ansible/roles/openstack/create_devstack_network/tasks/main.yml
@@ -0,0 +1,4 @@
+---
+- include: create_network.yml net={{ item }}
+ with_items:
+ - "{{ network }}"
diff --git a/deployment/noheat/infra-openstack/ansible/roles/openstack/destroy_devstack_network/tasks/destroy_network.yml b/deployment/noheat/infra-openstack/ansible/roles/openstack/destroy_devstack_network/tasks/destroy_network.yml
new file mode 100644
index 000000000..8f97d9507
--- /dev/null
+++ b/deployment/noheat/infra-openstack/ansible/roles/openstack/destroy_devstack_network/tasks/destroy_network.yml
@@ -0,0 +1,10 @@
+---
+- name: "Destroy {{ net.name }} router"
+ os_router:
+ name: "{{ net.name }}_router"
+ state: absent
+
+- name: "Destroy {{ net.name }} network and its subnets"
+ os_network:
+ name: "{{ net.name }}"
+ state: absent
diff --git a/deployment/noheat/infra-openstack/ansible/roles/openstack/destroy_devstack_network/tasks/main.yml b/deployment/noheat/infra-openstack/ansible/roles/openstack/destroy_devstack_network/tasks/main.yml
new file mode 100644
index 000000000..1bfab0d00
--- /dev/null
+++ b/deployment/noheat/infra-openstack/ansible/roles/openstack/destroy_devstack_network/tasks/main.yml
@@ -0,0 +1,4 @@
+---
+- include: destroy_network.yml net={{ item }}
+ with_items:
+ - "{{ network }}"
--
cgit 1.2.3-korg