Download bundle of packages to local directory using muranoclient¶
The purpose is to add command to muranoclient which allows to download the bundle from application catalog to local dir.
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.
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.
Data model impact¶
REST API impact¶
Other end user impact¶
User will have access to a new command.
Murano-dashboard / Horizon impact¶
- Primary assignee:
- Add method save_image_local
- Add method save() to FileWrapperMixin class
- Implement CLI command bundle-save
- Implement CLI commamd package-save
Unit tests for CLI client must be updated
CLI reference should be updated manually