3.2 KiB
Optionally pack upgrade tarball with lrzip
https://blueprints.launchpad.net/fuel/+spec/upgrade-lrzip
Problem description
Our upgrade tarball is almost 5Gb in size. We can compress it with lrzip. It will save about 2Gb of space and network traffic for users.
Proposed change
Create a separate build target with uncompressed Fuel images inside of a compressed archive file called fuel-upgrade.tar.lrz. Start using LRZ archives instead of TAR for upgrade tarballs everywhere.
Alternatives
- Do nothing. It will save time of the process of building and unpacking.
- Decrease amount of data in tarball. This is out of scope for this small blueprint and will be done in next release.
Data model impact
None
REST API impact
None
Upgrade impact
Command line for upgrade will be changed. Size of tarball will be decreased. Tarball unpack time will be increased.
Security impact
None
Notifications impact
None
Other end user impact
New command line for unpack of upgrade tarball: lrzuntar fuel-upgrade.tar.lrz.
Performance Impact
It takes about 15 minutes on a VirtualBox environment to unpack the LRZ archive. It does not have a noticable impact on build time.
The upgrade process will be faster because there is no need to unpack fuel-images.tar.lrz file
Other deployer impact
None
Developer impact
There will be no changes in existing build scenarios. Developer can build compressed tarball with 'make upgrade-lrzip' command. In order to build tarball, iso and img, use 'make iso img upgrade-lrzip' command. 'make all' command includes uncompressed upgrade tarball, so 'make all upgrade-lrzip' will create both compressed and uncompressed tarballs, what is not needed in common case.
Our system tests need update in order to work with compressed tarballs. Existing test scenarios are not affected.
Implementation
Assignee(s)
- Primary assignee:
-
lux-place
- Other contributors:
-
None
Work Items
- Update upgrade.sh should work both with compressed fuel-images.tar.lrz and uncompressed fuel-images.tar.
- New 'make upgrade-lrzip' command is needed.
- Extend method 'untar' in fuelweb_test/helpers/checkers.py with support for LRZ archives.
- Use compressed tarball in community build.
- Turn on compressed tarball for all builds on product jenkins.
- Update upgrade instruction with new command line.
Dependencies
None
Testing
Automated test for upgrade with compressed tarball is needed.
Acceptance criteria: * User can upgrade Fuel Master using compressed tarball.
Documentation Impact
Upgrade guide must be updated with new command line for unpacking of tarball.
References
Discussion in openstack-dev: https://www.mail-archive.com/openstack-dev@lists.openstack.org/msg32837.html