def upload_vnf_package_from_uri(self, context, vnf_package, address_information, user_name=None, password=None): body = {"address_information": address_information} (location, size, checksum, multihash, loc_meta) = glance_store.store_csar(context, vnf_package.id, body) vnf_package.onboarding_state = ( fields.PackageOnboardingStateType.PROCESSING) vnf_package.algorithm = CONF.vnf_package.hashing_algorithm vnf_package.hash = multihash vnf_package.location_glance_store = location vnf_package.save() zip_path = glance_store.load_csar(vnf_package.id, location) vnf_data, flavours = csar_utils.load_csar_data(context.elevated(), vnf_package.id, zip_path) self._onboard_vnf_package(context, vnf_package, vnf_data, flavours) vnf_package.onboarding_state = ( fields.PackageOnboardingStateType.ONBOARDED) vnf_package.operational_state = ( fields.PackageOperationalStateType.ENABLED) vnf_package.save()
def __load_csar(cls, context, vnf_package): location = vnf_package.location_glance_store zip_path = glance_store.load_csar(vnf_package.id, location) vnf_data, flavours = csar_utils.load_csar_data(context.elevated(), vnf_package.id, zip_path) return vnf_data, flavours
def upload_vnf_package_content(self, context, vnf_package): location = vnf_package.location_glance_store zip_path = glance_store.load_csar(vnf_package.id, location) vnf_data, flavours = csar_utils.load_csar_data(context.elevated(), vnf_package.id, zip_path) self._onboard_vnf_package(context, vnf_package, vnf_data, flavours) vnf_package.onboarding_state = ( fields.PackageOnboardingStateType.ONBOARDED) vnf_package.operational_state = ( fields.PackageOperationalStateType.ENABLED) vnf_package.save()
def _get_csar_path(self, vnf_package): csar_path = os.path.join(CONF.vnf_package.vnf_package_csar_path, vnf_package.id) if not os.path.isdir(csar_path): location = vnf_package.location_glance_store try: zip_path = glance_store.load_csar(vnf_package.id, location) csar_utils.extract_csar_zip_file(zip_path, csar_path) except (store_exceptions.GlanceStoreException) as e: exc_msg = encodeutils.exception_to_unicode(e) msg = (_("Exception raised from glance store can be " "unrecoverable if it is not related to connection" " error. Error: %s.") % exc_msg) raise exceptions.FailedToGetVnfArtifact(error=msg) return csar_path