From 8adc3eab76774dc5b1486aae8194708a39eabec7 Mon Sep 17 00:00:00 2001
From: QiLiang <liangqi1@huawei.com>
Date: Thu, 28 Jul 2016 07:39:44 +0000
Subject: Workaround for openstack api access random failure

JIRA: COMPASS-446

Change-Id: I312368ca2fc07fcd07a916a2e6f979086f658dba
Signed-off-by: QiLiang <liangqi1@huawei.com>
---
 .../roles/ext-network/tasks/main.yml               | 53 ++++++++++++++++++++++
 .../roles/ext-network/vars/Debian.yml              | 18 ++++++++
 .../roles/ext-network/vars/RedHat.yml              | 17 +++++++
 .../roles/ext-network/vars/main.yml                | 10 ++++
 .../roles/ext-network/tasks/main.yml               | 53 ++++++++++++++++++++++
 .../roles/ext-network/vars/Debian.yml              | 18 ++++++++
 .../roles/ext-network/vars/RedHat.yml              | 17 +++++++
 .../roles/ext-network/vars/main.yml                | 10 ++++
 .../ansible/roles/ext-network/tasks/main.yml       | 11 -----
 9 files changed, 196 insertions(+), 11 deletions(-)
 create mode 100644 deploy/adapters/ansible/openstack_mitaka/roles/ext-network/tasks/main.yml
 create mode 100644 deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/Debian.yml
 create mode 100644 deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/RedHat.yml
 create mode 100644 deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/main.yml
 create mode 100644 deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/tasks/main.yml
 create mode 100644 deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/Debian.yml
 create mode 100644 deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/RedHat.yml
 create mode 100644 deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/main.yml

(limited to 'deploy/adapters')

diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/tasks/main.yml b/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/tasks/main.yml
new file mode 100644
index 00000000..4d2afc24
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/tasks/main.yml
@@ -0,0 +1,53 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- include_vars: "{{ ansible_os_family }}.yml"
+
+# FIXME: temporary workaround for openstack api access random failure
+- name: restart api server
+  service: name={{ item }} state=restarted enabled=yes
+  with_items: api_services | union(api_services_noarch)
+
+- name: restart neutron server
+  service: name=neutron-server state=restarted enabled=yes
+
+- name: create external net
+  neutron_network:
+    login_username: ADMIN
+    login_password: "{{ ADMIN_PASS }}"
+    login_tenant_name: admin
+    auth_url: "http://{{ internal_vip.ip }}:35357/v2.0"
+    name: "{{ public_net_info.network }}"
+    provider_network_type: "{{ public_net_info.type }}"
+    provider_physical_network: "{{ public_net_info.provider_network }}"
+    provider_segmentation_id: "{{ public_net_info.segment_id}}"
+    shared: false
+    router_external: yes
+    state: present
+  run_once: true
+  when: 'public_net_info.enable == True'
+
+- name: create external subnet
+  neutron_subnet:
+    login_username: ADMIN
+    login_password: "{{ ADMIN_PASS }}"
+    login_tenant_name: admin
+    auth_url: "http://{{ internal_vip.ip }}:35357/v2.0"
+    name: "{{ public_net_info.subnet }}"
+    network_name: "{{ public_net_info.network }}"
+    cidr: "{{ public_net_info.floating_ip_cidr }}"
+    enable_dhcp: "{{ public_net_info.enable_dhcp }}"
+    no_gateway: "{{ public_net_info.no_gateway }}"
+    gateway_ip: "{{ public_net_info.external_gw }}"
+    allocation_pool_start: "{{ public_net_info.floating_ip_start }}"
+    allocation_pool_end: "{{ public_net_info.floating_ip_end }}"
+    state: present
+  run_once: true
+  when: 'public_net_info.enable == True'
+
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/Debian.yml b/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/Debian.yml
new file mode 100644
index 00000000..0b5c78b6
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/Debian.yml
@@ -0,0 +1,18 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+api_services:
+  - nova-api
+  - glance-api
+  - ceilometer-api
+  - heat-api
+  - heat-api-cfn
+  - aodh-api
+  - cinder-api
+
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/RedHat.yml b/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/RedHat.yml
new file mode 100644
index 00000000..886401fd
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/RedHat.yml
@@ -0,0 +1,17 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+api_services:
+  - openstack-nova-api
+  - openstack-glance-api
+  - openstack-ceilometer-api
+  - openstack-heat-api
+  - openstack-heat-api-cfn
+  - openstack-cinder-api
+
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/main.yml b/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/main.yml
new file mode 100644
index 00000000..b19b6ebf
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka/roles/ext-network/vars/main.yml
@@ -0,0 +1,10 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+api_services_noarch: []
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/tasks/main.yml b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/tasks/main.yml
new file mode 100644
index 00000000..4d2afc24
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/tasks/main.yml
@@ -0,0 +1,53 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- include_vars: "{{ ansible_os_family }}.yml"
+
+# FIXME: temporary workaround for openstack api access random failure
+- name: restart api server
+  service: name={{ item }} state=restarted enabled=yes
+  with_items: api_services | union(api_services_noarch)
+
+- name: restart neutron server
+  service: name=neutron-server state=restarted enabled=yes
+
+- name: create external net
+  neutron_network:
+    login_username: ADMIN
+    login_password: "{{ ADMIN_PASS }}"
+    login_tenant_name: admin
+    auth_url: "http://{{ internal_vip.ip }}:35357/v2.0"
+    name: "{{ public_net_info.network }}"
+    provider_network_type: "{{ public_net_info.type }}"
+    provider_physical_network: "{{ public_net_info.provider_network }}"
+    provider_segmentation_id: "{{ public_net_info.segment_id}}"
+    shared: false
+    router_external: yes
+    state: present
+  run_once: true
+  when: 'public_net_info.enable == True'
+
+- name: create external subnet
+  neutron_subnet:
+    login_username: ADMIN
+    login_password: "{{ ADMIN_PASS }}"
+    login_tenant_name: admin
+    auth_url: "http://{{ internal_vip.ip }}:35357/v2.0"
+    name: "{{ public_net_info.subnet }}"
+    network_name: "{{ public_net_info.network }}"
+    cidr: "{{ public_net_info.floating_ip_cidr }}"
+    enable_dhcp: "{{ public_net_info.enable_dhcp }}"
+    no_gateway: "{{ public_net_info.no_gateway }}"
+    gateway_ip: "{{ public_net_info.external_gw }}"
+    allocation_pool_start: "{{ public_net_info.floating_ip_start }}"
+    allocation_pool_end: "{{ public_net_info.floating_ip_end }}"
+    state: present
+  run_once: true
+  when: 'public_net_info.enable == True'
+
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/Debian.yml b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/Debian.yml
new file mode 100644
index 00000000..0b5c78b6
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/Debian.yml
@@ -0,0 +1,18 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+api_services:
+  - nova-api
+  - glance-api
+  - ceilometer-api
+  - heat-api
+  - heat-api-cfn
+  - aodh-api
+  - cinder-api
+
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/RedHat.yml b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/RedHat.yml
new file mode 100644
index 00000000..886401fd
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/RedHat.yml
@@ -0,0 +1,17 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+api_services:
+  - openstack-nova-api
+  - openstack-glance-api
+  - openstack-ceilometer-api
+  - openstack-heat-api
+  - openstack-heat-api-cfn
+  - openstack-cinder-api
+
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/main.yml b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/main.yml
new file mode 100644
index 00000000..b19b6ebf
--- /dev/null
+++ b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/ext-network/vars/main.yml
@@ -0,0 +1,10 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+api_services_noarch: []
diff --git a/deploy/adapters/ansible/roles/ext-network/tasks/main.yml b/deploy/adapters/ansible/roles/ext-network/tasks/main.yml
index ad427691..cb6cb2ce 100644
--- a/deploy/adapters/ansible/roles/ext-network/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/ext-network/tasks/main.yml
@@ -7,17 +7,6 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 ---
-# FIXME: temporary workaround for openstack api access random failure
-- name: restart api server
-  service: name={{ item }} state=restarted enabled=yes
-  with_items:
-    - nova-api
-    - cinder-api
-    - glance-api
-    - ceilometer-api
-    - heat-api
-    - aodh-api
-
 - name: restart neutron server
   service: name=neutron-server state=restarted enabled=yes
 
-- 
cgit