Create profiles to download systemvm-templates#5602
Conversation
|
@GutoVeronezi good to see this PR however if we move to some new ideas around systemvmtemplate (read-only iso) or other optimisations this may not be needed. Let me review this tomorrow and get back to you, I'll reply and explain why we need to bundle all 3 hypervisors templates over the email thread. |
| <activation> | ||
| <property> | ||
| <name>noredist</name> | ||
| <name>downloadKvmSystemVmTemplate</name> |
There was a problem hiding this comment.
nit - this may be difficult to remember, should be simply named as systemvm-, say -D systemvm-kvm, -D systemvm-xen, -D systemvm-vmware...
|
@blueorangutan package |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 1600 |
|
@blueorangutan test matrix |
|
@nvazquez a Trillian-Jenkins matrix job (centos7 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests |
|
@blueorangutan package |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
@GutoVeronezi lgtm, can we make mvn enable all main templates (at least kvm, vmware and xen) to be enabled when noredist is activated? |
|
Packaging result: ✖️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 1603 |
yadvr
left a comment
There was a problem hiding this comment.
Guto I tested the pkgs, when -Dnoredist is passed it doesn't bundle all the three hypervisor. Can you explore if we can make it bundle all 3 when noredist is passed; and when not then you pass individual -D systemvm-kvm...
@rhtdy bundling the hypervisors with the profile To bundle the 3 hypervisors into the package, we would have to add these options to your maven command line:
|
|
As I've tried to explain on the email thread, the noredist build profile is supposed to build turnkey packages. Other than very few people who like to customise their builds, the standard practice has been to build and publish turnkey all components included pkgs for years. That's why the use case would be to mix the new build profiles you've added when - Dnoredist is not passed, i.e. someone's building non-turnkey custom pkgs. I've mentioned on the ML thread if noredist need to be renamed, but that's the historical context. |
|
I like the idea of making it configurable and fitting all the tastes. The I would be OK with having such a procedure of building described in the documentation. |
|
@blueorangutan package |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✖️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 1619 |
|
My point being, people building noredist pkgs - get all-inclusive pkgs. We can discuss and change the |
|
I'm not sure where this fits into the conversation, but i think i'd be a good idea to have a separate (and optional) cloudstack-systemvms rpm. it stops the 'standard' install bloating massively while still simplifying the installation. |
|
@rhtyd I agree, it makes total sense to have a build profile that allows bundling of packages that would work on all/any hypervisors. The system VM packaging also looks nice; for many users, it would be easier to upgrade/deploy. But I think that it would be great if the project offers flexibility in regards to such profiles. As an example, users would by default have SystemVM in the package and the However, "advanced users" could do a fine setup that would match their requirements. |
|
We're coming with a new design doc that will reduce the cloudstack-management pkg by more than 1GB in size and introduce a single mvn flag that will bundle a template for only one type of hypervisor. (we tested and found we don't need to bundle all three hypervisor templates, as qemu-img can be used to convert formats on the fly which is what we currently, for example qemu-img takes 10-20s to convert say a vmdk to qcow2 or vmdk to vhd). |
|
@blueorangutan package kvm,xen |
|
@Pearl1594 a Jenkins job has been kicked to build packages. Package will be bundled with kvm,xen.I'll keep you posted as I make progress. |
|
Was able to finally get bo to pass the extended choice parameters - debian pkg output: FYI, failures you see in centos8 and suse packaging jobs are expected as they aren't created - for testing |
|
Packaging result: ✔️ el7 ✖️ el8 ✔️ debian ✖️ suse15. SL-JID 11 |
|
Thanks for testing it, @Pearl1594. |
|
@blueorangutan package |
|
@Pearl1594 a Jenkins job has been kicked to build packages. Package will be bundled with.I'll keep you posted as I make progress. |
|
Packaging result: ✔️ el7 ✖️ el8 ✔️ debian ✖️ suse15. SL-JID 12 |
|
@blueorangutan package |
|
@rohityadavcloud a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 2842 |
|
@blueorangutan package |
|
@Pearl1594 a Jenkins job has been kicked to build packages. Package will be bundled with KVM, XenServer and VMware SystemVM templates.I'll keep you posted as I make progress. |
|
Packaging result: ✔️ el7 ✖️ el8 ✔️ debian ✖️ suse15. SL-JID 13 |
|
@blueorangutan package |
|
@Pearl1594 a Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result: ✔️ el7 ✔️ el8 ✔️ debian ✔️ suse15. SL-JID 2847 |
|
@blueorangutan test |
|
@nvazquez a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
Trillian test result (tid-3620)
|
|
Merging based on approvals and test results (failure not related to this PR) |
Description
As I pointed on thread [VOTE] Apache Cloudstack 4.16.0.0 RC1, regarding the auto upgrading
systemvms-templates; the code willautoupgradethesystemvm-templatesif the templates are found locally. To generate the template during the build, one has to activate thenoredist profilewhen building the packages, which is necessary (normally used to) only to VMWare.Some people, might not want the noredist JARs from VMware, and therefore will not build with this profile. Furthermore, package
cloudstack-managementgoes from ~100Mb to more than 1.5Gb when using thenoredistwhile executing the 4.16.0.0 build. It happens due tocloudstack/engine/schema/pom.xmlautomatically downloading XenServer, KVM, and VMwaresystemvms-templates. Every time that we build the packages, it will download all these systemvms-templates, and we are unable to decide which one is necessary.This PR intends to create specific profiles for each systemvm-template. Therefore, one can build ACS only for the hypervisor it needs, and if it needs to use the auto update of the system VM templates; one can decide not to use this feature and keep manually registering the templates only when they are needed.
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
How Has This Been Tested?
I built the packages with all the profiles:
-DdownloadKvmSystemVmTemplate-DdownloadHypervSystemVmTemplate-DdownloadVmwareSystemVmTemplate-DdownloadXenserverSystemVmTemplate-DdownloadOvmSystemVmTemplateAnd then I built them separately.