Remove config template from use in ping-pong
[osm/SO.git] / rwcm / plugins / rwconman / rift / tasklets / rwconmantasklet / rwconman_config.py
index 4b010b6..9e8b944 100644 (file)
@@ -30,11 +30,14 @@ from gi.repository import (
 )
 
 import rift.tasklets
+import rift.package.script
+import rift.package.store
 
 from . import rwconman_conagent as conagent
 from . import RiftCM_rpc
 from . import riftcm_config_plugin
 
+
 if sys.version_info < (3, 4, 4):
     asyncio.ensure_future = asyncio.async
 
@@ -792,37 +795,32 @@ class ConfigManagerConfig(object):
                             format(inp_file, e))
 
     def get_script_file(self, script_name, d_name, d_id, d_type):
-          # Get the full path to the script
-          script = ''
-          # If script name starts with /, assume it is full path
-          if script_name[0] == '/':
-              # The script has full path, use as is
-              script = script_name
-          else:
-              script = os.path.join(os.environ['RIFT_ARTIFACTS'],
-                                    'launchpad/packages',
-                                    d_type,
-                                    d_id,
-                                    d_name,
-                                    'scripts',
-                                    script_name)
-              self._log.debug("Checking for script at %s", script)
-              if not os.path.exists(script):
-                  self._log.warning("Did not find script %s", script)
-                  script = os.path.join(os.environ['RIFT_INSTALL'],
-                                        'usr/bin',
-                                        script_name)
-
-              # Seen cases in jenkins, where the script execution fails
-              # with permission denied. Setting the permission on script
-              # to make sure it has execute permission
-              perm = os.stat(script).st_mode
-              if not (perm  &  stat.S_IXUSR):
-                  self._log.warning("NSR/VNFR {} initial config script {} " \
+        if d_type == "vnfd":
+            package_store = rift.package.store.VnfdPackageFilesystemStore(self._log)
+            package_store.refresh()
+        elif d_type == "nsd":
+            package_store = rift.package.store.NsdPackageFilesystemStore(self._log)
+            package_store.refresh()
+        else:
+            raise
+        script_extractor = rift.package.script.PackageScriptExtractor(self._log)
+        script = script_extractor.get_extracted_script_path(d_id, script_name)
+
+        self._log.debug("Checking for script at %s", script)
+        if not os.path.exists(script):
+            self._log.warning("Did not find script %s", script)
+            return
+
+        # Seen cases in jenkins, where the script execution fails
+        # with permission denied. Setting the permission on script
+        # to make sure it has execute permission
+        perm = os.stat(script).st_mode
+        if not (perm  &  stat.S_IXUSR):
+            self._log.warning("NSR/VNFR {} script {} " \
                                     "without execute permission: {}".
                                     format(d_name, script, perm))
-                  os.chmod(script, perm | stat.S_IXUSR)
-              return script
+            os.chmod(script, perm | stat.S_IXUSR)
+        return script
 
     @asyncio.coroutine
     def process_ns_initial_config(self, nsr_obj):
@@ -854,11 +852,11 @@ class ConfigManagerConfig(object):
         vnf_cfg = vnfd.vnf_configuration
 
         for conf in vnf_cfg.initial_config_primitive:
-                self._log.debug("VNFR {} initial config: {}".
-                                format(vnfr_name, conf))
+                self._log.debug("VNFR {} initial config: {} for vnfd id {}".
+                                format(vnfr_name, conf, vnfd.id))
 
                 if not conf.user_defined_script:
-                    self._log.debug("VNFR {} did not fine user defined script: {}".
+                    self._log.debug("VNFR {} did not find user defined script: {}".
                                     format(vnfr_name, conf))
                     continue