X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=rwlaunchpad%2Fplugins%2Frwlaunchpadtasklet%2Frift%2Ftasklets%2Frwlaunchpad%2Fuploader.py;h=ed3e683bdfec1b766a9a7d556b1f25cca767dc37;hb=refs%2Fchanges%2F93%2F1693%2F1;hp=c908bb3b6b0deea252e845beb3f75bc3fe3802b7;hpb=1710c5baaf44e962f63273f5f04e9bbcc62aa2e5;p=osm%2FSO.git diff --git a/rwlaunchpad/plugins/rwlaunchpadtasklet/rift/tasklets/rwlaunchpad/uploader.py b/rwlaunchpad/plugins/rwlaunchpadtasklet/rift/tasklets/rwlaunchpad/uploader.py index c908bb3b..ed3e683b 100644 --- a/rwlaunchpad/plugins/rwlaunchpadtasklet/rift/tasklets/rwlaunchpad/uploader.py +++ b/rwlaunchpad/plugins/rwlaunchpadtasklet/rift/tasklets/rwlaunchpad/uploader.py @@ -606,16 +606,22 @@ class OnboardPackage(downloader.DownloaderProtocol): OnboardError("Cloud-Init file reference in VNFD does not match with cloud-init file")) def validate_package(self, package): - checksum_validator = rift.package.package.PackageChecksumValidator(self.log) + validators = ( + rift.package.package.PackageChecksumValidator(self.log), + rift.package.package.PackageConstructValidator(self.log), + ) - try: - file_checksums = checksum_validator.validate(package) - except rift.package.package.PackageFileChecksumError as e: - raise MessageException(OnboardChecksumMismatch(e.filename)) from e - except rift.package.package.PackageValidationError as e: - raise MessageException(OnboardUnreadablePackage()) from e + # Run the validators for checksum and package construction for imported pkgs + for validator in validators: + try: + validator.validate(package) - return file_checksums + except rift.package.package.PackageFileChecksumError as e: + raise MessageException(OnboardChecksumMismatch(e.filename)) from e + except rift.package.package.PackageValidationError as e: + raise MessageException(OnboardUnreadablePackage()) from e + + return validators[0].checksums def onboard_descriptors(self, package): descriptor_msg = package.descriptor_msg @@ -705,6 +711,7 @@ class UploaderApplication(tornado.web.Application): self, store_map=self.package_store_map, exporter=self.exporter, + onboarder=self.onboarder, catalog_map=catalog_map )