Download bundle of packages to local directory using muranoclient¶
https://blueprints.launchpad.net/murano/+spec/bundle-save
The purpose is to add command to muranoclient which allows to download the bundle from application catalog to local dir.
Problem description¶
There are cases when there is no Internet access cloud with murano installed. Then if user wants to add some bundle of packages into murano, he has to download all of them one-by-one from application catalog using local computer with access to the Internet. After that he saves them somewhere on data storage device and moves all files to cloud.
It is necessary to simplify process of saving packages to avoid manual downloading.
Proposed change¶
It’s proposed to add new CLI command bundle-save to murano-client.
Method do_bundle_save will corresponds with new command. It will take three arguments:
filename is a bundle name, bundle url or path to the bundle file;
–path (optional) is a path to directory in which user wants save packages. If it is not specified, current directory will be used;
–no-images (optional) is flag. If it is set, downloading of all required images will be skipped.
Method will build whole list of packages and its dependencies. This ability is already implemented and used in ‘bundle-import’. Then method will save bundle file and each package to specified path. For this, method ‘save’ will be added to FileWrapperMixin – the parent class for Bundle and Package classes. This method will take one argument dst – destination for file. It will copy already downloaded file to the specified path.
Method do_bundle_save will also save images which packages require. save_image_local method will be used for that. All images will be downloaded if –no-images is not set.
After bundle saving directory with packages can be moved to lab with murano where all of them can be imported to murano application catalog in one command.
CLI command package-save also must be implemented. It will give to user the opportunity to download specific package or several packages he need. The implementation of command will be based on the methods described above.
Alternatives¶
None
Data model impact¶
None
REST API impact¶
None
Versioning impact¶
None
Other end user impact¶
User will have access to a new command.
Deployer impact¶
None
Developer impact¶
None
Murano-dashboard / Horizon impact¶
None
Implementation¶
Assignee(s)¶
Dmytro Dovbii
- Primary assignee:
ddovbii
Work Items¶
Add method save_image_local
Add method save() to FileWrapperMixin class
Implement CLI command bundle-save
Implement CLI commamd package-save
Dependencies¶
None
Testing¶
Unit tests for CLI client must be updated
Documentation Impact¶
CLI reference should be updated manually
References¶
None