...
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
# Stop services
systemctl stop httpd
systemctl stop abiquo-tomcat
# (API or Datanode)
systemctl stop rabbitmq-server
# Back up the UI
tar cvfz /var/www/html/ui.tgz-$(date +%Y%m%d_%H%M%S) /var/www/html/ui
# Copy the api.xml file to back up the database connection details
cp /opt/abiquo/tomcat/conf/Catalina/localhost/api.xml /opt/abiquo/api.xml-$(date +%Y%m%d_%H%M%S)
# 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)
# 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-AAAAAAAA_BBBBBB.el7.noarch.rpm
# Prepare yum repository for your target version with yum-utils
yum-config-manager --enable abiquo-base
yum-config-manager --enable abiquo-updates
# Perform update
yum clean all && yum makecache
yum update
# 6.2.0: - Note: MariaDB-server requires a manual update after running the gpmigrator in the next steps
# 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-20240205_155724.el7.noarch.rpm
# Run the tool to prepare 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 to run after you update the Abiquo database
# 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
# OR for datanode: galera_new_cluster
mysql_upgrade
# Update 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
# 6.2.0: - Edit the tomcat configuration file and update the database connector configuration
# Edit /opt/abiquo/tomcat/conf/Catalina/localhost/api.xml
# The latest version of the file should contain new options
# Update the file and/or variables marked with ${} for your environment
<Context>
<Resource
name="jdbc/abiquoDB"
auth="Container"
type="javax.sql.DataSource"
factory="com.zaxxer.hikari.HikariJNDIFactory"
dataSourceClassName="org.mariadb.jdbc.MariaDbDataSource"
connectionTimeout="120000"
maximumPoolSize="100"
username="${server.database.username}"
password="${server.database.password}"
dataSource.url="jdbc:mariadb://${server.database.host}:${server.database.port}/kinton"
/>
</Context>
# For a DB cluster, change the datasource.url to point to your Galera cluster
# This will not affect the multi-master configuration of the cluster
dataSource.url="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"
# Add the Java keytool path to your $PATH variable:
export PATH=$PATH:/usr/java/jdk-21+35/bin/
# Check your cacerts certificates
keytool -v -list -cacerts | grep ${ENV_NAME}
# If necessary, restore your certificates following the instructions
# See https://abiquo.atlassian.net/wiki/spaces/doc/pages/609648729/Update+certificates+in+your+Abiquo+environment
|
...