Upgrading the management server on zCX


This topic describes how to upgrade the management server on zCX.

Important

The supported upgrade path is from the previous release to the latest one. If the installed version is two or more releases older than the latest one, see earlier versions of this space or contact BMC Support.

Related topics

Task 1: To obtain the installation files and license key

  1. Using the search bar, search for either BMC AMI Cloud Data or BMC AMI Cloud Vault. Both product files are composed with the same binaries.
  2. Click the version that you want to download. 
  3. On the Product tab, select the files and click Download.
  4. Select the License Information tab and download the temporary license key.
  5. To obtain a full license key, go toSupport Central and select Case Management

  6. Open a license key request by clicking on Create New Case and filling in the required information. 

    Important

    Supply the output of the z/OS command D M=CPU.

Task 2: To upload the s390x installation zip file

Upload the s390x installation zip to the zCX instance using scp or any other tool in binary mode.

Copy the s390x installation zip from the zCX instance to the alpine container:

docker cp model9-v2.7.0_build_caf1b68-server-s390x.zip dummy:/root/model9-v2.7.0_build_caf1b68-server-s390x.zip

Task 3: To stop BMC AMI Cloud

Stop the server and remove the BMC AMI Cloud containers that are running by using the following commands, replacing v.r.m with the current fix pack version:  

Important

The first v in the following commands is not a variable. For example, model9-v2.6.0

docker stop model9-v<v.r.m>
docker rm model9-v<v.r.m>

Task 4: To prepare the installation artifacts

In the Alpine container, open the BMC AMI Cloud artifact:

# Create a new docker volume for initdb
docker volume create model9db_initdb

# Stopping the old alpine container
docker stop dummy
docker rm dummy

# Running an alpine container and mounting the model9 docker volume
docker run -d --rm --name dummy \
-v model9:/root \
-v model9db_initdb:/docker-entrypoint-initdb.d \
s390x/alpine tail -f /dev/null

docker exec -it dummy sh
cd /root
unzip /root/model9-v2.7.0_build_caf1b68-server-s390x.zip 'model9*' 'conf/docker-entrypoint-initdb.d/*'

# Verify the existence of the diag directory. Create it if needed.
mkdir diag

# Update the docker-entrypoint-initdb.d directory
cp conf/docker-entrypoint-initdb.d/* /docker-entrypoint-initdb.d

# Backup the /conf directory.
tar -czf conf-backup.tar.gz conf

# Exit from the alpine container.
exit

Copy the docker container images from the alpine docker container (the one that was used during the initial installation):

docker cp dummy:/root/model9-v2.7.0_build_caf1b68-s390x.docker ./
docker cp dummy:/root/postgres-14.5-s390x.docker.gz ./

Task 5: To load the new release artifacts

Load the new release docker containers:

docker load -i model9-v2.7.0_build_caf1b68-s390x.docker
docker load -i postgres-14.5-s390x.docker.gz

Task 6: To back up the server before the upgrade

Back up the local configuration and database volume:

fileStamp=$(date +%Y-%m-%d)
docker cp dummy:/root/conf-backup.tar.gz ./conf-$fileStamp.tar.gz
docker exec -it model9db pg_dump -p 5432 -U postgres -d model9 -f /tmp/model9db-$fileStamp.dump
docker cp model9db:/tmp/model9db-$fileStamp.dump ./model9db-$fileStamp.dump
docker exec -ti model9db rm /tmp/model9db-$fileStamp.dump

Task 7: To update the Postgres DB

Run the following command:

# Stop Postgres container
docker stop model9db

# Remove Postgres container
docker rm model9db

# Start Postgres docker container:
docker run -p 127.0.0.1:5432:5432 \
-v model9db:/var/lib/postgresql/data:z \
-v model9db_initdb:/docker-entrypoint-initdb.d:z \
--name model9db --restart unless-stopped \
--network model9network \
-e POSTGRES_PASSWORD=model9 -e POSTGRES_DB=model9 -d s390x/postgres:14.5

Run the database tuning script:

docker exec -i model9db psql -U postgres -f /docker-entrypoint-initdb.d/postgresqlTune.sql

Task 8: To start the BMC AMI Cloud server

Run the new release container using the following command:

docker run -d -p <zCX-VIPA>:443:443 -p <zCX-VIPA>:80:80 \
--sysctl net.ipv4.tcp_keepalive_time=600 \
--sysctl net.ipv4.tcp_keepalive_intvl=30 \
--sysctl net.ipv4.tcp_keepalive_probes=10 \
-v model9:/model9:z -h $(hostname) --restart unless-stopped \
-e "TZ=America/New_York" \
-e "CATALINA_OPTS=-Xmx2048m" \
--network model9network \
--name model9-v2.7.0 model9:v2.7.0.caf1b68

Important

Replace <zCX-VIPA> with the zCX instance VIPA.

Warning

By default, BMC AMI Cloud uses ports 80 and 443 for the management server. If these ports are not available for use or you want to use different ports, update the -p parameters to use different ports. For example, to use port 8080 and port 8443, update the parameters as follows:
-p <zCX-VIPA>:8443:443 -p <zCX-VIPA>:8080:80

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*