GitHub user tatay188 edited a discussion: Upgrade to 4.22.0 - MOP For the Community: Ubuntu Upgrade Steps from 4.20.1 to 4.22.0
MOP create on Jun 15 2025 by Omar F. Mendoza MOP Update on Nov 11 2025 by Omar F. Mendoza Giving Back to the community. We are sharing to give something back to the community. Use the MOP at your own risk We create a MOP - Method of Procedure - for the Upgrade from 4.20.0 to 4.20.1 using Ubuntu. We create a MOP - Method of Procedure - for the Upgrade from 4.20.1 to 4.22.0 using Ubuntu. We Did not shutdown the MYSQL. Take some time to come backup. We have had VMs running. Simplified and It is based on the Official Documentation on : https://docs.cloudstack.apache.org/en/latest/upgrading/upgrade/upgrade-4.20.html STEP 1) Go to the UI: Go to IMAGES-- > TEMPLATES and click Register Template from URL URL: http://download.cloudstack.org/systemvm/4.22/systemvmtemplate-4.22.0-x86_64-kvm.qcow2.bz2 Name: systemvm-kvm-4.22.0-x86_64 Description: systemvm-kvm-4.22.0-x86_64 Zone: Choose the zone where this hypervisor is used Hypervisor: KVM Format: QCOW2 Direct download: No/False (grayed button) OS Type: Debian GNU/Linux 12 (64-bit) (or the highest Debian release number available in the dropdown) Template Type: SYSTEM Arch: X86_64 Extractable: no (grayed button) Password Enabled: no (grayed button) Public: no (grayed button) Featured: no (grayed button) Routing: no (grayed button) HVM: yes/true (Button on Green) Wait UNTIL THE Template Shows "Ready" - Click refresh from time to time. ONCE THE SYSTEM TEMPLATE IS READY STEP 2) Go back to the Management server On each management server proceed: service cloudstack-management stop service cloudstack-usage stop cd /etc/cloudstack/management cp config.json config.json.$(date +%Y-%m-%d-%H%M%S) cp db.properties db.properties.$(date +%Y-%m-%d-%H%M%S) SKIP THIS STEP: USE Only if STEP 1) fails or gives a problem use the following: /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary1 -u http://download.cloudstack.org/systemvm/4.22/systemvmtemplate-4.22.0-x86_64-kvm.qcow2.bz2 -h kvm -s -F STEP 3) Login to one of the MYSQL SERVERs and BACKUP: mysqldump -u root -p -R cloud > cloud-backup_$(date +%Y-%m-%d-%H%M%S) mysqldump -u root -p cloud_usage > cloud_usage-backup_$(date +%Y-%m-%d-%H%M%S) STEP 4) Go back to the Management server On each management server proceed: Replace Jammy with the Version of Ubuntu cat >//etc/apt/sources.list.d/cloudstack.list<<EOF deb http://download.cloudstack.org/ubuntu jammy 4.22 EOF wget -4 -qO - http://download.cloudstack.org/release.asc | sudo apt-key add - apt-get update apt-get upgrade cloudstack-management -y Configuration file '/etc/cloudstack/management/config.json' ==> Modified (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. *** config.json (Y/I/N/O/D/Z) [default=N] ? N For us the only difference is an additional Line, after "LoginFooter" "resetPasswordFooter": "", the favicon='cloud.ico", we added manually, same we did for the last lines "notifyLatestCSVersion": true, "announcementBanner": {....} When to choose N : We are not using the standard document links. If you don't need the document Links or have customized links then N. When to choose Y : If you need the Document Links press Y, and copy your customizations for the logos and colors. Configuration file '/etc/cloudstack/management/server.properties' ==> Modified (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. *** server.properties (Y/I/N/O/D/Z) [default=N] ? N Manually we added: echo "" >>/etc/cloudstack/management/server.properties echo "# The deployment mode for the extensions" >>/etc/cloudstack/management/server.properties echo "extensions.deployment.mode=production" >>/etc/cloudstack/management/server.properties echo "" >>/etc/cloudstack/management/server.properties echo "# Thread pool configuration" >>/etc/cloudstack/management/server.properties echo "#threads.min=10" >>/etc/cloudstack/management/server.properties echo "#threads.max=500" >>/etc/cloudstack/management/server.properties And restart the management servers: systemctl restart cloudstack-management.service apt-get upgrade cloudstack-usage systemctl restart cloudstack-usage.service STEP 4) **HYPERVISORS:** Login to the KVM HYPERVISORS IN EACH Hypervisor do as follows: cat >//etc/apt/sources.list.d/cloudstack.list<<EOF deb http://download.cloudstack.org/ubuntu jammy 4.22 EOF wget -4 -qO - http://download.cloudstack.org/release.asc | sudo apt-key add - apt-get update cd /etc/cloudstack/agent/ cp agent.properties agent.properties.$(date +%Y-%m-%d-%H%M%S) service cloudstack-agent stop apt-get upgrade cloudstack-agent -y Configuration file '/etc/cloudstack/agent/agent.properties' ==> Modified (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. *** agent.properties (Y/I/N/O/D/Z) [default=N] ? N service cloudstack-agent start added manually the line echo "domr.scripts.dir=scripts/network/domr/kvm" >> /etc/cloudstack/agent/agent.properties systemctl restart cloudstack-agent STEP 5) SYSTEM VMs Login as Admin to the Management server: Go to >>Infrastructure>>>System VMs [Click the 3 verical-dots ] and select Patch System VM. This time the Upgrade worked like a charm for the SystemVMs. On THE UI >>Infrastructure>>search for integration.api.port change to 8096 systemctl restart cloudstack-management.service systemctl restart cloudstack-usage.service nohup cloudstack-sysvmadm -d YourMySQLDB-IP -u YourUSer(cloud some times) -p YOURPASSWORD -r > sysvm.log 2>&1 & tail -f sysvm.log On THE UI >>Infrastructure>>search for integration.api.port change to integration.api.port 0 Go and restart all the management servers one more time: systemctl restart cloudstack-management.service systemctl restart cloudstack-usage.service **Note to the community.** Be careful with your routing, as for some reason, the routes changed: In our case we lost connectivity to the Secondary storage, and the routes were not backup. No upgrades to FRR or Ubuntu - Jammy in our case as is the most stable. And Noble is buggy and does not have the support for the CEPH release we are using. GitHub link: https://github.com/apache/cloudstack/discussions/12054 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected]
