From d5f74e027738abb8b9269fab5ebfa982785d4eb8 Mon Sep 17 00:00:00 2001
From: =?utf8?q?C=C3=A9dric=20Ollivier?= <cedric.ollivier@orange.com>
Date: Thu, 26 Nov 2020 17:31:58 +0100
Subject: [PATCH] Allow running cloudify without tenant network resources.
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

It fits the Airship deployment where there is neither tenant networks
nor floating ips. It skips all VNF test cases as they ask for tenant
resources.

Change-Id: Ib5f2074314ff940595ce1387912055fa916a1f79
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
(cherry picked from commit 09be8310be708661f2782e6af1d1d84ac0a52946)
---
 docker/vnf/testcases.yaml  | 8 ++++++++
 functest/ci/testcases.yaml | 8 ++++++++
 functest/core/cloudify.py  | 3 ++-
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/docker/vnf/testcases.yaml b/docker/vnf/testcases.yaml
index 0d21c63c3..6b483af6a 100644
--- a/docker/vnf/testcases.yaml
+++ b/docker/vnf/testcases.yaml
@@ -23,6 +23,8 @@ tiers:
                     This test case deploys an OpenSource vIMS solution from
                     Clearwater using the Cloudify orchestrator. It also runs
                     some signaling traffic.
+                dependencies:
+                    - NO_TENANT_NETWORK: '^(?![tT]rue$)'
                 run:
                     name: cloudify_ims
 
@@ -35,6 +37,8 @@ tiers:
                     This test case deploys an OpenSource vIMS solution from
                     Clearwater using the OpenStack Heat orchestrator.
                     It also runs some signaling traffic.
+                dependencies:
+                    - NO_TENANT_NETWORK: '^(?![tT]rue$)'
                 run:
                     name: heat_ims
 
@@ -45,6 +49,8 @@ tiers:
                 blocking: false
                 description: >-
                     This test case is vRouter testing.
+                dependencies:
+                    - NO_TENANT_NETWORK: '^(?![tT]rue$)'
                 run:
                     name: vyos_vrouter
 
@@ -56,5 +62,7 @@ tiers:
                 description: >-
                     vEPC validation with Juju as VNF manager and ABoT as test
                     executor.
+                dependencies:
+                    - NO_TENANT_NETWORK: '^(?![tT]rue$)'
                 run:
                     name: juju_epc
diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml
index b0de52ee5..92cf0c2b8 100644
--- a/functest/ci/testcases.yaml
+++ b/functest/ci/testcases.yaml
@@ -850,6 +850,8 @@ tiers:
                     This test case deploys an OpenSource vIMS solution from
                     Clearwater using the Cloudify orchestrator. It also runs
                     some signaling traffic.
+                dependencies:
+                    - NO_TENANT_NETWORK: '^(?![tT]rue$)'
                 run:
                     name: cloudify_ims
 
@@ -862,6 +864,8 @@ tiers:
                     This test case deploys an OpenSource vIMS solution from
                     Clearwater using the OpenStack Heat orchestrator.
                     It also runs some signaling traffic.
+                dependencies:
+                    - NO_TENANT_NETWORK: '^(?![tT]rue$)'
                 run:
                     name: heat_ims
 
@@ -872,6 +876,8 @@ tiers:
                 blocking: false
                 description: >-
                     This test case is vRouter testing.
+                dependencies:
+                    - NO_TENANT_NETWORK: '^(?![tT]rue$)'
                 run:
                     name: vyos_vrouter
 
@@ -883,5 +889,7 @@ tiers:
                 description: >-
                     vEPC validation with Juju as VNF manager and ABoT as test
                     executor.
+                dependencies:
+                    - NO_TENANT_NETWORK: '^(?![tT]rue$)'
                 run:
                     name: juju_epc
diff --git a/functest/core/cloudify.py b/functest/core/cloudify.py
index 0fb4f6eca..b5a959412 100644
--- a/functest/core/cloudify.py
+++ b/functest/core/cloudify.py
@@ -77,7 +77,8 @@ class Cloudify(singlevm.SingleVm2):
         self.__logger.debug("output:\n%s", stdout.read().decode("utf-8"))
         self.__logger.debug("error:\n%s", stderr.read().decode("utf-8"))
         self.cfy_client = CloudifyClient(
-            host=self.fip.floating_ip_address,
+            host=self.fip.floating_ip_address if self.fip else (
+                self.sshvm.public_v4),
             username='admin', password='admin', tenant='default_tenant')
         self.__logger.info("Attemps running status of the Manager")
         secret_key = "foo"
-- 
2.16.6