...
Code Block |
---|
# Log in as root
sudo su -
# Check that the Abiquo RabbitMQ queues are empty (API or Datanode).
# The number of messages in all queues must be 0.
rabbitmqctl list_queues messages name
# Back up the UI
tar cvfz /var/www/html/ui.tgz-$(date +%Y%m%d_%H%M%S) /var/www/html/ui
# Back up the /opt/abiquo folder
tar cvfz /opt/abiquo.tgz-$(date +%Y%m%d_%H%M%S) /opt/abiquo
# Back up Redis
redis-cli save
cp -a /var/lib/redis /var/lib/redis-$(date +%Y%m%d_%H%M%S)
# On DB Server, back up the Abiquo MySQL DBs
mysqldump --routines --triggers kinton > kinton.sql-$(date +%Y%m%d_%H%M%S)
mysqldump --routines --triggers kinton_accounting > kinton_accounting.sql-$(date +%Y%m%d_%H%M%S)
# IF you are using SAML with multiple IdPs, back up security beans files
cp /opt/abiquo/tomcat/webapps/api/WEB-INF/classes/springresources/security/saml/security-saml-generated-beans.xml /opt/abiquo/tomcat/webapps/api/WEB-INF/classes/springresources/security/saml/security-saml-generated-beans.xml-$(date
+%Y%m%d_%H%M%S)
# Stop services
systemctl stop httpd
systemctl stop abiquo-tomcat
systemctl stop rabbitmq-server
# Install latest yum release package for your target version using link
yum remove 'abiquo-release-*'
# Find the correct link at https://abiquo.atlassian.net/wiki/spaces/doc/pages/311363475/Abiquo-release-ee+packages+list
# For 6.2
yum localinstall https://user:passwd@mirror.abiquo.com/el7/6.2/os/x86_64/abiquo-release-ee-6.2.0-AAAAAAAAAAAAAAA.el7.noarch.rpm
# Prepare yum repository for your target version
yum-config-manager --enable abiquo-base
yum-config-manager --enable abiquo-updates
# Perform update
yum clean all && yum makecache
# 6.2.0: - If you have custom certificates added to your Java cacerts, you will have to check them for your environment and restore them after Java update.
# See Update certificates in your Abiquo environment
keytool -v -list -cacerts | grep ${ENV_NAME}
#Enter keystore password:
#Alias Name: abiquo-api-ui.lab.abiquo.com
#Alias Name: abiquo-remoteservices.lab.abiquo.com
yum update
# With the yum update you may notice MariaDB-server fails to update, you can ignore this step, we will get to this point later
# 6.2.0: - Download and install the guestpasswordmigrator package
yum localinstall http://user:passwd@mirror.abiquo.com/el7/6.2/os/x86_64/abiquo-gpmigrator-6.2.0-20240202_110142.el7.noarch.rpm
# Run the tool to migrate the guest passwords of the current VMs to a new column that will be added in 6.2.0.
# The tool requires access to the kinton database and to the API Redis
cd /opt/abiquo/utilities/
java -jar gpmigrator.jar --jdbc-url="jdbc:mariadb://localhost:3306/kinton?user=root&password=root" --redis-host=localhost
# Save the guestpasswords.sql file and run it after you update the database with abiquo-db.
# 6.2.0: - On all database servers, upgrade MariaDB
rpm --nodeps -ev MariaDB-server-10.4.10-1.el7.centos.x86_64
yum install MariaDB-server
service mariadb start
mysql_upgrade
# Upgrade the Abiquo databases
abiquo-db [-h DB hostname] [-P DB port] [-u user] [-p password] update
# IF the database upgrade fails because of checksums
abiquo-db [-h DB hostname] [-P DB port] [-u user] [-p password] clearCheckSums
abiquo-db [-h DB hostname] [-P DB port] [-u user] [-p password] update
# 6.2.0: - Run guestpasswords.sql file
mysql kinton < guestpasswords.sql
# Post-upgrade step for API
chown -R tomcat /opt/abiquo
# Run Redis database script
# These scripts can always be found on the Abiquo Server.
# On each Remote Services server (including Monolithic sever) or Datanode server you will have to run the Redis scripts too
cd /usr/share/doc/abiquo-redis/redis/
bash ./4.2.3/00-old-vsm-definitions.sh
# 6.2.0: - Edit the tomcat config file and update the database connector configuration
# Edit /opt/abiquo/tomcat/conf/Catalina/localhost/api.xml
# If you have a Galera cluster, add the Galera configuration in the format:
jdbc:mariadb:loadbalance://address=(host=dbmain)(port=3306)(type=master),
address=(host=dbr1)(port=3306)(type=slave),
address=(host=dbr2)(port=3306)(type=slave)/kinton
#
# Restore your cacerts certificates
keytool -import -file ${CERTIFICATE_PATH} -cacerts -alias ${ENV_ALIAS}
# If your keytool command cannot be found now after Java update
# Use the following command to find the correct path to it
find / -name keytool
#/usr/java/jdk-21+35/bin/keytool
# On the API server add this path to your $PATH viariable with:
export PATH=$PATH:/usr/java/jdk-21+35/bin/
# Now run the keytool command once again and make sure your certificates are there
keytool -import -file ${CERTIFICATE_PATH} -cacerts -alias ${ENV_ALIAS} |
...
Code Block |
---|
# Log in as root sudo su - # On V2V servers, check for active conversions # ps aux | grep v2v # ps aux | grep mechadora # Back up the /opt/abiquo folder tar cvfz /opt/abiquo.tgz-$(date +%Y%m%d_%H%M%S) /opt/abiquo # Back up Redis redis-cli save cp -a /var/lib/redis /var/lib/redis-$(date +%Y%m%d_%H%M%S) # Stop services systemctl stop abiquo-tomcat # Check if there is an NFS shared folder for the NARS results (related to system property abiquo.nars.async.fileresults.path): mount | grep -i "nfs\|results" | grep -v sunrpc 10.60.37.87:/abq-pro-nfs on /opt/abiquo/results-nars type nfs4 (rw,nosuid,nodev,noexec,relatime,sync,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.60.37.77,local_lock=none,addr=10.60.37.87,user) #Unmount the previous shared folder if you have it mounted umount /opt/abiquo/results-nars # Install latest yum release package for your target version using link yum remove 'abiquo-release-*' # Find the correct link at https://https://abiquo.atlassian.net/wiki/spaces/doc/pages/311363475/Abiquo-release-ee+packages+list # For 6.2 yum localinstall https://user:passwd@mirror.abiquo.com/el7/6.2/os/x86_64/abiquo-release-ee-6.2.0-AAAAAAAAAAA.el7.noarch.rpmç # Prepare yum repository for your target version yum-config-manager --enable abiquo-base yum-config-manager --enable abiquo-updates # Perform update yum clean all && yum makecache yum update # 6.2.0: - If you have custom certificates added to your Java cacerts, you may have to check them for your environment and restore them after Java update. # See Update certificates in your Abiquo environment keytool -v -list -cacerts | grep ${ENV_NAME} #Enter keystore password: #Alias Name: abiquo-api-ui.lab.abiquo.com #Alias Name: abiquo-remoteservices.lab.abiquo.com yum update # Remount the shared folder for NARS (and any other folders you have unmounted) mount -a # Post upgrade steps for RS chown -R tomcat /opt/abiquo chown -R tomcat /opt/vm_repository chmod -R a+r /opt/vm_repository # Refresh VM definitions cd /usr/share/doc/abiquo-redis/redis/ bash ./4.2.3/00-old-vsm-definitions.sh # Check certificates in your Java key store keytool -v -list -keystore /opt/abiquo/tomcat/conf/${KEYSTORE_NAME}.jks |
...