Update rest-client for IMS testing
[functest.git] / functest / core / cloudify.py
index d9b3398..c5613ca 100644 (file)
 from __future__ import division
 
 import logging
+import os
 import time
 import traceback
 
 from cloudify_rest_client import CloudifyClient
 from cloudify_rest_client.executions import Execution
+import scp
 
 from functest.core import singlevm
 
@@ -27,15 +29,19 @@ 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_archive = ('/home/opnfv/functest/images/'
+                        'cloudify-docker-manager-community-19.01.24.tar')
+    cloudify_container = "docker-cfy-manager:latest"
+
     def __init__(self, **kwargs):
         """Initialize Cloudify testcase object."""
         if "case_name" not in kwargs:
@@ -54,14 +60,29 @@ class Cloudify(singlevm.SingleVm2):
         """
         Deploy Cloudify Manager.
         """
+        scpc = scp.SCPClient(self.ssh.get_transport())
+        scpc.put(self.cloudify_archive,
+                 remote_path=os.path.basename(self.cloudify_archive))
+        (_, 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 load -i ~/{} && "
+            "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(
+                os.path.basename(self.cloudify_archive),
+                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"
-        for loop in range(10):
+        for loop in range(20):
             try:
                 self.__logger.debug(
                     "status %s", self.cfy_client.manager.get_status())