Merge "Add reveal.js as a submodule"
[functest.git] / functest / opnfv_tests / vnf / ims / cloudify_ims.py
index e354563..f7dfd53 100644 (file)
@@ -130,8 +130,8 @@ class ImsVnf(vnf_base.VnfOnBoardingBase):
         flavor_exist, flavor_id = os_utils.get_or_create_flavor(
             "m1.large",
             self.orchestrator['requirements']['ram_min'],
-            '1',
-            '1',
+            '50',
+            '2',
             public=True)
         self.logger.debug("Flavor id: %s" % flavor_id)
 
@@ -187,18 +187,23 @@ class ImsVnf(vnf_base.VnfOnBoardingBase):
             self.orchestrator['blueprint']['url'],
             self.orchestrator['blueprint']['branch'])
 
-        cfy.deploy_manager()
-        return {'status': 'PASS', 'result': ''}
+        error = cfy.deploy_manager()
+        if error:
+            self.logger.error(error)
+            return {'status': 'FAIL', 'result': error}
+        else:
+            return {'status': 'PASS', 'result': ''}
 
     def deploy_vnf(self):
-        cw = Clearwater(self.vnf.inputs, self.orchestrator.object, self.logger)
-        self.vnf.object = cw
+        cw = Clearwater(self.vnf['inputs'], self.orchestrator['object'],
+                        self.logger)
+        self.vnf['object'] = cw
 
         self.logger.info("Collect flavor id for all clearwater vm")
         flavor_exist, flavor_id = os_utils.get_or_create_flavor(
             "m1.small",
             self.vnf['requirements']['ram_min'],
-            '1',
+            '30',
             '1',
             public=True)
         self.logger.debug("Flavor id: %s" % flavor_id)
@@ -211,7 +216,7 @@ class ImsVnf(vnf_base.VnfOnBoardingBase):
         cw.set_flavor_id(flavor_id)
 
         # VMs image
-        if 'os_image' in self.vnf.requirements.keys():
+        if 'os_image' in self.vnf['requirements'].keys():
             image_id = os_utils.get_image_id(
                 self.glance_client, self.vnf['requirements']['os_image'])
             if image_id == '':
@@ -229,8 +234,12 @@ class ImsVnf(vnf_base.VnfOnBoardingBase):
 
         cw.set_external_network_name(ext_net)
 
-        cw.deploy_vnf()
-        return {'status': 'PASS', 'result': ''}
+        error = cw.deploy_vnf(self.vnf['blueprint'])
+        if error:
+            self.logger.error(error)
+            return {'status': 'FAIL', 'result': error}
+        else:
+            return {'status': 'PASS', 'result': ''}
 
     def test_vnf(self):
         script = "source {0}venv_cloudify/bin/activate; "
@@ -248,10 +257,13 @@ class ImsVnf(vnf_base.VnfOnBoardingBase):
 
         api_url = "http://" + mgr_ip + "/api/v2"
         dep_outputs = requests.get(api_url + "/deployments/" +
-                                   self.vnf.deployment_name + "/outputs")
+                                   self.vnf['deployment_name'] + "/outputs")
         dns_ip = dep_outputs.json()['outputs']['dns_ip']
         ellis_ip = dep_outputs.json()['outputs']['ellis_ip']
 
+        self.logger.debug("DNS ip : %s" % dns_ip)
+        self.logger.debug("ELLIS ip : %s" % ellis_ip)
+
         ellis_url = "http://" + ellis_ip + "/"
         url = ellis_url + "accounts"
 
@@ -261,9 +273,11 @@ class ImsVnf(vnf_base.VnfOnBoardingBase):
                   "signup_code": "secret"}
 
         rq = requests.post(url, data=params)
-        i = 20
+        i = 30
         while rq.status_code != 201 and i > 0:
             rq = requests.post(url, data=params)
+            self.logger.debug("Account creation http status code: %s"
+                              % rq.status_code)
             i = i - 1
             time.sleep(10)
 
@@ -271,6 +285,8 @@ class ImsVnf(vnf_base.VnfOnBoardingBase):
             url = ellis_url + "session"
             rq = requests.post(url, data=params)
             cookies = rq.cookies
+        else:
+            self.step_failure("Unable to create an account")
 
         url = ellis_url + "accounts/" + params['email'] + "/numbers"
         if cookies != "":
@@ -278,6 +294,8 @@ class ImsVnf(vnf_base.VnfOnBoardingBase):
             i = 24
             while rq.status_code != 200 and i > 0:
                 rq = requests.post(url, cookies=cookies)
+                self.logger.debug("Number creation http status code: %s"
+                                  % rq.status_code)
                 i = i - 1
                 time.sleep(25)
 
@@ -332,8 +350,8 @@ class ImsVnf(vnf_base.VnfOnBoardingBase):
                 return {'status': 'FAIL', 'result': ''}
 
     def clean(self):
-        self.vnf.object.undeploy_vnf()
-        self.orchestrator.object.undeploy_manager()
+        self.vnf['object'].undeploy_vnf()
+        self.orchestrator['object'].undeploy_manager()
         super(ImsVnf, self).clean()
 
     def main(self, **kwargs):