summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2019-02-11 06:45:34 +0100
committerCédric Ollivier <cedric.ollivier@orange.com>2019-02-11 16:02:59 +0100
commitc7dfec04018cd720a49a665026d1864f1914a1a6 (patch)
tree5a33023a771bce9ee697cc41f729a2b22ade590c
parent314faf01ac0da194088f5a821927f033026f17f0 (diff)
Update and enable Cloudify-based testcases
It switches from the Cloudify virtual machine to the community container which allows deploying vyos_vrouter and cloudify_ims. Last stable Cloudify OpenStack plugin (2.4.17) is now deployed. It also updates the Cloudify python package to latest release. It adds a delay before deleting the blueprint which may be improved in a second change (it allows enabling the testcase in the stable release). Change-Id: Ie48a2c9d2badab0d7ba0b9e7845f453fad335ef7 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit 97dde581982b9d49122aee3630328fb6064c8609)
-rw-r--r--docker/vnf/Dockerfile5
-rw-r--r--docker/vnf/testcases.yaml2
-rw-r--r--functest/ci/download_images.sh1
-rw-r--r--functest/ci/testcases.yaml2
-rw-r--r--functest/core/cloudify.py20
-rw-r--r--functest/opnfv_tests/vnf/ims/cloudify_ims.py19
-rw-r--r--functest/opnfv_tests/vnf/router/cloudify_vrouter.py19
-rw-r--r--upper-constraints.txt2
8 files changed, 50 insertions, 20 deletions
diff --git a/docker/vnf/Dockerfile b/docker/vnf/Dockerfile
index 198f098c0..16ef7963a 100644
--- a/docker/vnf/Dockerfile
+++ b/docker/vnf/Dockerfile
@@ -4,9 +4,10 @@ ARG BRANCH=stable/hunter
ARG OPENSTACK_TAG=stable/rocky
ARG VIMS_TEST_TAG=release-130
ARG QUAFF_TAG=59213d6d8ee29433552bb75f505cdc96b0b18909
-ARG CLOUDIFY_VIMS_TAG=fraser
+ARG CLOUDIFY_VIMS_TAG=gambia
ARG HEAT_VIMS_TAG=release-130
ARG VROUTER_TAG=fraser
+ARG VROUTER_BP_TAG=b16be2bfc4acabfec015300d294762b2da56c3a8
ARG JUJU_TAG=tags/juju-2.3.9
ARG JUJU_WAIT_TAG=2.6.4
ARG ABOT_CHARM=opnfv-fraser
@@ -46,7 +47,7 @@ RUN apk --no-cache add --update \
git checkout FETCH_HEAD) && \
git init /src/opnfv-vnf-vyos-blueprint && \
(cd /src/opnfv-vnf-vyos-blueprint && \
- git fetch --tags https://github.com/oolorg/opnfv-vnf-vyos-blueprint.git $VROUTER_TAG && \
+ git fetch --tags https://github.com/oolorg/opnfv-vnf-vyos-blueprint.git $VROUTER_BP_TAG && \
git checkout FETCH_HEAD) && \
mkdir -p /home/opnfv/functest/data/router && \
git init /home/opnfv/functest/data/router/opnfv-vnf-data && \
diff --git a/docker/vnf/testcases.yaml b/docker/vnf/testcases.yaml
index 61bcd0748..9822a515a 100644
--- a/docker/vnf/testcases.yaml
+++ b/docker/vnf/testcases.yaml
@@ -20,7 +20,6 @@ tiers:
project_name: functest
criteria: 100
blocking: false
- enabled: false
description: >-
This test case deploys an OpenSource vIMS solution from
Clearwater using the Cloudify orchestrator. It also runs
@@ -45,7 +44,6 @@ tiers:
project_name: functest
criteria: 100
blocking: false
- enabled: false
description: >-
This test case is vRouter testing.
run:
diff --git a/functest/ci/download_images.sh b/functest/ci/download_images.sh
index 71da9a963..366699d7d 100644
--- a/functest/ci/download_images.sh
+++ b/functest/ci/download_images.sh
@@ -10,7 +10,6 @@ http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
https://cloud-images.ubuntu.com/releases/14.04/release/ubuntu-14.04-server-cloudimg-amd64-disk1.img
https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2
https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img
-http://repository.cloudifysource.org/cloudify/18.10.4/community-release/cloudify-manager-community-18.10.4.qcow2
http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-aarch64-disk.img
https://cloud-images.ubuntu.com/releases/14.04/release/ubuntu-14.04-server-cloudimg-arm64-uefi1.img
http://cloud.centos.org/altarch/7/images/aarch64/CentOS-7-aarch64-GenericCloud.qcow2.xz
diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml
index e99b96107..0b75c2888 100644
--- a/functest/ci/testcases.yaml
+++ b/functest/ci/testcases.yaml
@@ -546,7 +546,6 @@ tiers:
project_name: functest
criteria: 100
blocking: false
- enabled: false
description: >-
This test case deploys an OpenSource vIMS solution from
Clearwater using the Cloudify orchestrator. It also runs
@@ -573,7 +572,6 @@ tiers:
project_name: functest
criteria: 100
blocking: false
- enabled: false
description: >-
This test case is vRouter testing.
run:
diff --git a/functest/core/cloudify.py b/functest/core/cloudify.py
index d9b3398e3..ac8e26743 100644
--- a/functest/core/cloudify.py
+++ b/functest/core/cloudify.py
@@ -27,15 +27,17 @@ class Cloudify(singlevm.SingleVm2):
__logger = logging.getLogger(__name__)
filename = ('/home/opnfv/functest/images/'
- 'cloudify-manager-community-18.10.4.qcow2')
+ 'ubuntu-16.04-server-cloudimg-amd64-disk1.img')
flavor_ram = 4096
flavor_vcpus = 2
flavor_disk = 40
- username = 'centos'
+ username = 'ubuntu'
ssh_connect_loops = 12
create_server_timeout = 600
ports = [80, 443, 5671, 53333]
+ cloudify_container = "cloudifyplatform/community:19.01.24"
+
def __init__(self, **kwargs):
"""Initialize Cloudify testcase object."""
if "case_name" not in kwargs:
@@ -54,10 +56,20 @@ class Cloudify(singlevm.SingleVm2):
"""
Deploy Cloudify Manager.
"""
+ (_, stdout, stderr) = self.ssh.exec_command(
+ "sudo wget https://get.docker.com/ -O script.sh && "
+ "sudo chmod +x script.sh && "
+ "sudo ./script.sh && "
+ "sudo docker run --name cfy_manager_local -d "
+ "--restart unless-stopped -v /sys/fs/cgroup:/sys/fs/cgroup:ro "
+ "--tmpfs /run --tmpfs /run/lock --security-opt seccomp:unconfined "
+ "--cap-add SYS_ADMIN --network=host {}".format(
+ self.cloudify_container))
+ self.__logger.debug("output:\n%s", stdout.read())
+ self.__logger.debug("error:\n%s", stderr.read())
self.cfy_client = CloudifyClient(
host=self.fip.floating_ip_address,
- username='admin', password='admin', tenant='default_tenant',
- api_version='v3')
+ username='admin', password='admin', tenant='default_tenant')
self.__logger.info("Attemps running status of the Manager")
secret_key = "foo"
secret_value = "bar"
diff --git a/functest/opnfv_tests/vnf/ims/cloudify_ims.py b/functest/opnfv_tests/vnf/ims/cloudify_ims.py
index bbb19694a..700823564 100644
--- a/functest/opnfv_tests/vnf/ims/cloudify_ims.py
+++ b/functest/opnfv_tests/vnf/ims/cloudify_ims.py
@@ -44,6 +44,12 @@ class CloudifyIms(cloudify.Cloudify):
quota_security_group_rule = 100
quota_port = 50
+ cop_yaml = ("https://github.com/cloudify-cosmo/cloudify-openstack-plugin/"
+ "releases/download/2.14.7/plugin.yaml")
+ cop_wgn = ("https://github.com/cloudify-cosmo/cloudify-openstack-plugin/"
+ "releases/download/2.14.7/cloudify_openstack_plugin-2.14.7-py27"
+ "-none-linux_x86_64-centos-Core.wgn")
+
def __init__(self, **kwargs):
"""Initialize CloudifyIms testcase object."""
if "case_name" not in kwargs:
@@ -152,10 +158,14 @@ class CloudifyIms(cloudify.Cloudify):
scpc = scp.SCPClient(self.ssh.get_transport())
scpc.put(self.key_filename, remote_path='~/cloudify_ims.pem')
(_, stdout, stderr) = self.ssh.exec_command(
- "sudo cp ~/cloudify_ims.pem /etc/cloudify/ && "
- "sudo chmod 444 /etc/cloudify/cloudify_ims.pem && "
- "sudo yum install -y gcc python-devel python-cmd2 && "
- "cfy status")
+ "sudo docker exec cfy_manager_local "
+ "cfy plugins upload -y {} {} && "
+ "sudo docker cp ~/cloudify_ims.pem "
+ "cfy_manager_local:/etc/cloudify/ && "
+ "sudo docker exec cfy_manager_local "
+ "chmod 444 /etc/cloudify/cloudify_ims.pem && "
+ "sudo docker exec cfy_manager_local cfy status".format(
+ self.cop_yaml, self.cop_wgn))
self.__logger.info("output:\n%s", stdout.read())
self.__logger.info("error:\n%s", stderr.read())
@@ -293,6 +303,7 @@ class CloudifyIms(cloudify.Cloudify):
self.cfy_client, execution, self.__logger)
self.cfy_client.deployments.delete(
self.vnf['descriptor'].get('name'))
+ time.sleep(10)
self.cfy_client.blueprints.delete(
self.vnf['descriptor'].get('name'))
except Exception: # pylint: disable=broad-except
diff --git a/functest/opnfv_tests/vnf/router/cloudify_vrouter.py b/functest/opnfv_tests/vnf/router/cloudify_vrouter.py
index a0145b801..39268d8f1 100644
--- a/functest/opnfv_tests/vnf/router/cloudify_vrouter.py
+++ b/functest/opnfv_tests/vnf/router/cloudify_vrouter.py
@@ -40,6 +40,12 @@ class CloudifyVrouter(cloudify.Cloudify):
flavor_alt_vcpus = 1
flavor_alt_disk = 50
+ cop_yaml = ("https://github.com/cloudify-cosmo/cloudify-openstack-plugin/"
+ "releases/download/2.14.7/plugin.yaml")
+ cop_wgn = ("https://github.com/cloudify-cosmo/cloudify-openstack-plugin/"
+ "releases/download/2.14.7/cloudify_openstack_plugin-2.14.7-py27"
+ "-none-linux_x86_64-centos-Core.wgn")
+
def __init__(self, **kwargs):
if "case_name" not in kwargs:
kwargs["case_name"] = "vyos_vrouter"
@@ -118,10 +124,14 @@ class CloudifyVrouter(cloudify.Cloudify):
scpc = scp.SCPClient(self.ssh.get_transport())
scpc.put(self.key_filename, remote_path='~/cloudify_ims.pem')
(_, stdout, stderr) = self.ssh.exec_command(
- "sudo cp ~/cloudify_ims.pem /etc/cloudify/ && "
- "sudo chmod 444 /etc/cloudify/cloudify_ims.pem && "
- "sudo yum install -y gcc python-devel python-cmd2 && "
- "cfy status")
+ "sudo docker exec cfy_manager_local "
+ "cfy plugins upload -y {} {} && "
+ "sudo docker cp ~/cloudify_ims.pem "
+ "cfy_manager_local:/etc/cloudify/ && "
+ "sudo docker exec cfy_manager_local "
+ "chmod 444 /etc/cloudify/cloudify_ims.pem && "
+ "sudo docker exec cfy_manager_local cfy status".format(
+ self.cop_yaml, self.cop_wgn))
self.__logger.info("output:\n%s", stdout.read())
self.__logger.info("error:\n%s", stderr.read())
@@ -240,6 +250,7 @@ class CloudifyVrouter(cloudify.Cloudify):
self.cfy_client, execution, self.__logger)
self.cfy_client.deployments.delete(
self.vnf['descriptor'].get('name'))
+ time.sleep(10)
self.cfy_client.blueprints.delete(
self.vnf['descriptor'].get('name'))
except Exception: # pylint: disable=broad-except
diff --git a/upper-constraints.txt b/upper-constraints.txt
index 5a538fdf0..596cd50f2 100644
--- a/upper-constraints.txt
+++ b/upper-constraints.txt
@@ -10,7 +10,7 @@ git+https://gerrit.opnfv.org/gerrit/clover#egg=clover
git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-heattranslator&subdirectory=tosca2heat/heat-translator
git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-toscaparser&subdirectory=tosca2heat/tosca-parser
-e git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-parser
-cloudify-rest-client===4.3.2
+cloudify-rest-client===4.3.3
robotframework===3.0.2
robotframework-httplibrary===0.4.2
robotframework-requests===0.4.7