I vaguely thought that the VMware jars come under a compatible license these 
days, so don't need to be noredist anymore?


-----Original Message-----
From: Daniel Augusto Veronezi Salvador <dvsalvador...@gmail.com> 
Sent: Wednesday, October 20, 2021 2:53 PM
To: dev@cloudstack.apache.org
Subject: Re: [VOTE] Apache Cloudstack 4.16.0.0 RC1

Hi Nicolas, thanks for the work.

I started testing this RC and unfortunately I ran into some problems related to 
building/upgrading ACS.

 From the less to the more complex:

- When building ".deb", there is a problem with the Debian changelog: 
invalid weekday 'lun';

- Regarding auto upgrading "systemvms-templates", I analyzed the code and 
concluded that "systemvms-templates" will only "autoupgrade" if we use the 
profile "noredist" when building the packages, which is necessary only to 
VMWare. Some people, might not want the noredist JARs, and therefore will not 
build with this profile. With that said, there are some points regarding it 
that I think are important:
    - Package "cloudstack-management" goes from ~100Mb to more than 1.5Gb, when 
using "noredist" while executing the 4.16.0.0 build. It happens due to 
"cloudstack/engine/schema/pom.xml" automatically downloading XenServer, KVM, 
and VMware "systemvms-templates". Every time that we build the packages, it 
will download all these systemvms-templates; we are unable to decide which one 
is necessary or not. If we do not use XenServer, or other hypervisors, why 
download it?
    - If we build the packages with "noredist", when we are first running ACS 
after upgrading it to 4.16, it will try to autoupgrade the systemvms-templates, 
however, some KVM/XenServer infrastructures don't allow the management server 
to access the secondary storage directly (except for the first 
systemvm-template seed). This will cause
"mount.nfs: access denied by server while mounting <path_to_secondary>". 
After generating this error, ACS continues the upgrade and updates the 
database; however, the new systemvm-template will not be in the secondary 
storage. If we try to deploy a system (like virtual router), it will fail (as 
expected).
    - I rolled back my environment to 4.15, did a manual seed of 
systemvmtemplate-4.16.0-kvm.qcow2.bz2, built the packages without "noredist" 
and tried to upgrade the environment to 4.16. Then, ACS automatically tried to 
upgrade the systemvm-templates; even though the system VM template for 4.16 is 
already there, it throws some errors:

2021-10-19 23:08:02,684 DEBUG [c.c.u.d.Upgrade41520to41600] (main:null)
(logid:) Updating System Vm template IDs
2021-10-19 23:08:02,904 DEBUG [c.c.u.SystemVmTemplateRegistration]
(main:null) (logid:) Updating System Vm template IDs
2021-10-19 23:08:02,910 DEBUG [c.c.u.SystemVmTemplateRegistration]
(main:null) (logid:) Updating VMware System Vms
2021-10-19 23:08:02,915 WARN  [c.c.u.SystemVmTemplateRegistration]
(main:null) (logid:) 4.16.0 VMware SystemVm template not found. Cannot upgrade 
system Vms hypervisor is not used, so not failing upgrade
2021-10-19 23:08:02,962 DEBUG [c.c.u.SystemVmTemplateRegistration]
(main:null) (logid:) Updating KVM System Vms
2021-10-19 23:08:02,966 INFO  [c.c.u.SystemVmTemplateRegistration]
(main:null) (logid:) Grabbing lock to register templates.
2021-10-19 23:08:02,976 ERROR [c.c.u.SystemVmTemplateRegistration]
(main:null) (logid:) Failed to calculate template checksum
java.nio.file.NoSuchFileException: 
/usr/share/cloudstack-management/templates/systemvm/systemvmtemplate-4.16.0-kvm.qcow2.bz2
     at
java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
     at
java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
     at
java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
     at
java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:219)
     at java.base/java.nio.file.Files.newByteChannel(Files.java:371)
     at java.base/java.nio.file.Files.newByteChannel(Files.java:422)
     at
java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:420)
     at java.base/java.nio.file.Files.newInputStream(Files.java:156)
     at
com.cloud.upgrade.SystemVmTemplateRegistration.calculateChecksum(SystemVmTemplateRegistration.java:330)
     at
com.cloud.upgrade.SystemVmTemplateRegistration.validateTemplates(SystemVmTemplateRegistration.java:690)
     at
com.cloud.upgrade.SystemVmTemplateRegistration.registerTemplates(SystemVmTemplateRegistration.java:713)
     at
com.cloud.upgrade.SystemVmTemplateRegistration$5.doInTransactionWithoutResult(SystemVmTemplateRegistration.java:824)
     at
com.cloud.utils.db.TransactionCallbackNoReturn.doInTransaction(TransactionCallbackNoReturn.java:25)
     at
com.cloud.utils.db.Transaction$2.doInTransaction(Transaction.java:50)
     at com.cloud.utils.db.Transaction.execute(Transaction.java:40)
     at com.cloud.utils.db.Transaction.execute(Transaction.java:47)
     at
com.cloud.upgrade.SystemVmTemplateRegistration.updateSystemVmTemplates(SystemVmTemplateRegistration.java:802)
     at
com.cloud.upgrade.dao.Upgrade41520to41600.updateSystemVmTemplates(Upgrade41520to41600.java:105)
     at
com.cloud.upgrade.DatabaseUpgradeChecker.updateSystemVmTemplates(DatabaseUpgradeChecker.java:258)
     at
com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(DatabaseUpgradeChecker.java:347)
     at
com.cloud.upgrade.DatabaseUpgradeChecker.check(DatabaseUpgradeChecker.java:384)
     ...
2021-10-19 23:08:02,994 ERROR [c.c.u.SystemVmTemplateRegistration]
(main:null) (logid:) updateSystemVmTemplates:Exception while getting ids of 
templates
com.cloud.utils.exception.CloudRuntimeException: 4.16.0 KVM SystemVm template 
not found. Cannot upgrade system Vms
     at
com.cloud.upgrade.SystemVmTemplateRegistration$5.doInTransactionWithoutResult(SystemVmTemplateRegistration.java:827)
     at
com.cloud.utils.db.TransactionCallbackNoReturn.doInTransaction(TransactionCallbackNoReturn.java:25)
     at
com.cloud.utils.db.Transaction$2.doInTransaction(Transaction.java:50)
     at com.cloud.utils.db.Transaction.execute(Transaction.java:40)
     at com.cloud.utils.db.Transaction.execute(Transaction.java:47)
     ...


Due to these points, my vote for this RC is -1.

My proposals to work around these issues are the following:
- Separate the build/downloading of systemVM template with different profiles 
to be activated, for instance, "systemVmTemplateXenServer" (for people that 
want XenServer system VM template with the auto seed process), and so on for 
the other hypervisors.
- Allow people to pre-seed the system VM template for the upgrade. 
Therefore, one can generate ACS packages without the system VM templates, and 
then, during the upgrade, if the system VM template is already there, the auto 
seed code does not need to do anything.

I can work on both of these issues if you all agree to address this situation 
with the proposals I described.

Best regards,
Daniel Salvador


On 18/10/2021 15:25, Nicolas Vazquez wrote:
> Hi All,
>
> I have created a 4.16.0.0 release (RC1) with the following artefacts up for 
> testing and a vote:
>
> Git Branch and Commit SH:
> https://github.com/apache/cloudstack/tree/4.16.0.0-RC20211018T1454
> Commit: 506f8a8269551acb9b07b029da0f9e4fe858d150
>
> Source release (checksums and signatures are available at the same location):
> https://dist.apache.org/repos/dist/dev/cloudstack/4.16.0.0/
>
> PGP release keys (signed using 656E1BCC8CB54F84):
> https://dist.apache.org/repos/dist/release/cloudstack/KEYS
>
> The vote will be open until 21st October 2021, 21.00 CET (72h).
>
> For sanity in tallying the vote, can PMC members please be sure to indicate 
> "(binding)" with their vote?
>
> [ ] +1  approve
> [ ] +0  no opinion
> [ ] -1  disapprove (and reason why)
>
> 4.16.0.0 System VM templates are available from here:
> https://download.cloudstack.org/systemvm/4.16/
>
>
> Regards,
>
> Nicolas Vazquez
>
>   
>
>

Reply via email to