Upgrade XtendWeb cluster using named to geodns(gdnsd)

1. upgrade XtendWeb on each server to latest release

yum --enablerepo=ndeploy-edge upgrade *nDeploy*

#On master
/opt/nDeploy/scripts/attempt_autofix.sh

nginx -t  # Ensure valid config on all servers
# Restart nginx on both servers
service nginx restart

#Remove geodns-nDeploy RPM on all servers
yum -y remove geodns-nDeploy

2. Remove additional DNS zone records from named

# This step is very important!. Otherwise gdnsd will fail
touch /opt/nDeploy/conf/DECLUSTER_DNSZONE
/opt/nDeploy/scripts/cluster_dns_ensure_all.sh

3. Add additional variables to Ansible Playbook Hosts

# Set dns=geodns
# setup latitude= and longitude= in the hosts files

4. Remove Following files

rm -f /opt/nDeploy/conf/skip_geodns
rm -f /opt/nDeploy/conf/ndeploy_master.yaml

5. Rerun the Playbook

cd /opt/nDeploy/conf/nDeploy-cluster
ansible-playbook -i ./hosts cluster.yml

Upgrade XtendWeb cluster using old mysql replication strategy

If your Ansible playbook hosts file does not contain dbmode= variable, you are using the old replication strategy which must be migrated to newer improved format

1. upgrade XtendWeb on each server to latest release

yum --enablerepo=ndeploy-edge upgrade *nDeploy*

#On master
/opt/nDeploy/scripts/attempt_autofix.sh

nginx -t  # Ensure valid config on all servers
# Restart nginx on both servers
service nginx restart

remove slave status from MariaDB on the slave

systemctl stop mysql
cd /var/lib/mysql
rm -f master.info relay-log.info
systemctl start mysql

remove slave status from MariaDB on the master

systemctl stop mysql
cd /var/lib/mysql
rm -f master.info relay-log.info
systemctl start mysql

Remove Playbook set locks

rm -f /opt/nDeploy/conf/XTENDWEB_MYSQL* /opt/nDeploy/conf/XTENDWEB_MAXSCALE*

Adjust hosts file with necessary new variables and rerun Playbook

cd /opt/nDeploy/conf/nDeploy-cluster
# Edit hosts file and add necessary variables
ansible-playbook -i ./hosts cluster.yml