Get VfModuleModelInvariantUuid from service csar at runtime 51/98851/4
authorBartek Grzybowski <b.grzybowski@partner.samsung.com>
Tue, 26 Nov 2019 11:32:55 +0000 (12:32 +0100)
committerMorgan Richomme <morgan.richomme@orange.com>
Fri, 6 Dec 2019 10:22:10 +0000 (10:22 +0000)
VfModuleModelInvariantUuid no longer needs manual
assignment, it will be gathered from service csar
at runtime.

Change-Id: I5d0da822dd4ce7b574dae8ce80db2a2d1e5de297
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
Issue-ID: INT-1389

docs/docs_vCPE.rst
test/vcpe/soutils.py
test/vcpe/vcpecommon.py

index 25ea35e..39a1837 100644 (file)
@@ -66,10 +66,6 @@ Here are the main steps to run the use case in Integration lab environment, wher
         'public_net_id': 'xxxxxxxxxxxxx'
     }
 
-::
-
-    # CHANGEME: vgw_VfModuleModelInvariantUuid is in rescust service csar, open service template with filename like service-VcpesvcRescust1118-template.yml and look for vfModuleModelInvariantUUID under groups vgw module metadata.
-    self.vgw_VfModuleModelInvariantUuid = 'xxxxxxxxxxxxxxx'
 
 5. If running with oom_mode=False initialize SDNC ip pool by running below command from k8s control node. It will be done automatically otherwise.
 
index 627d74b..8d2e56d 100755 (executable)
@@ -183,10 +183,11 @@ class SoUtils:
         req_details['owningEntity'] = {'owningEntityId': self.vcpecommon.owning_entity_id,
                                        'owningEntityName': self.vcpecommon.owning_entity_name}
 
-    def generate_custom_service_request(self, instance_name, model, brg_mac):
+    def generate_custom_service_request(self, instance_name, svc_model,
+                                        vfmodule_models, brg_mac):
         brg_mac_enc = brg_mac.replace(':', '-')
         req_details = {
-            'modelInfo':  model,
+            'modelInfo':  svc_model,
             'subscriberInfo':  {'subscriberName': 'Kaneohe',
                                 'globalSubscriberId': self.vcpecommon.global_subscriber_id},
             'cloudConfiguration': {"lcpCloudRegionId": 'RegionOne', #self.vcpecommon.os_region_name,
@@ -201,7 +202,7 @@ class SoUtils:
                        'name': 'VfModuleNames',
                        'value': [
                             {
-                                'VfModuleModelInvariantUuid': self.vcpecommon.vgw_VfModuleModelInvariantUuid,
+                                'VfModuleModelInvariantUuid': vfmodule_models[0]['modelInvariantId'],
                                 'VfModuleName': 'VGW2BRG-{0}'.format(brg_mac_enc)
                             }
                        ]
@@ -237,7 +238,8 @@ class SoUtils:
         instance_name = '_'.join([self.vcpecommon.instance_name_prefix['service'],
                                   parser.svc_model['modelName'][0:10], name_suffix])
         instance_name = instance_name.lower()
-        req = self.generate_custom_service_request(instance_name, parser.svc_model, brg_mac)
+        req = self.generate_custom_service_request(instance_name, parser.svc_model,
+                                                   parser.vfmodule_models, brg_mac)
         self.logger.info(json.dumps(req, indent=2, sort_keys=True))
         self.logger.info('Creating custom service {0}.'.format(instance_name))
         req_id, svc_instance_id = self.submit_create_req(req, 'service')
index ffc6334..0041a56 100755 (executable)
@@ -95,13 +95,6 @@ class VcpeCommon:
         self.logger.setLevel(logging.DEBUG)
         self.logger.info('Initializing configuration')
 
-        ##################################################################################################################################
-        # following param must be updated e.g. from csar file (grep for VfModuleModelInvariantUuid string) before vcpe.py customer call !!
-        # vgw_VfModuleModelInvariantUuid is in rescust service csar,
-        # look in service-VcpesvcRescust1118-template.yml for groups vgw module metadata. TODO: read this value automatically
-        # CHANGEME part
-        self.vgw_VfModuleModelInvariantUuid = '26d6a718-17b2-4ba8-8691-c44343b2ecd2'
-
         # OOM: this is the address that the brg and bng will nat for sdnc access - 10.0.0.x address of k8 host for sdnc-0 container
         self.sdnc_oam_ip = self.get_pod_node_oam_ip(self.sdnc_controller_pod)
         # OOM: this is a k8s host external IP, e.g. oom-k8s-01 IP