Updating non-appliance deployments to release 6.7.0
Use the instructions on this page to update Resource Manager deployments that are not based on a virtual appliance. The instructions on this page support updates from release 6.6.0 to 6.7.0.
To perform some of the procedures on this page, you need:
- A workstation with internet access.
- Permission to download files from delivery.zenoss.io. Customers can request permission by filing a ticket at the Zenoss Support site.
- A secure network copy program.
Warning
These instructions do not include steps for updating Control Center or the host operating system, and Control Center must be updated to release 1.10.2 first. For more information, see the Control Center documentation.
Prepare to update
Verify normal operation, create backup
Follow these steps to prepare your deployment:
- Verify that Resource Manager is operating normally.
- Log in to the Control Center browser interface as
ccuser
. - In the Application column of the Applications table, click Zenoss.resmgr.
- Verify that all of the services in the IP Assignments table have valid IP addresses.
- Scroll down to the Services table, and then verify that none of the child services have failing health checks.
- Log in to the Control Center browser interface as
- Check the integrity of Resource Manager databases. For more information, see Using Zenoss Toolbox.
- Create a backup of Resource Manager with the Control Center backup feature.
Install the base image, if necessary
The Resource Manager update script requires content from the base image of the installed release. If the layers of the base image were flattened after installation, the image may not have the expected label, and the upgrade script will not find it.
Follow these steps to determine whether the base image is present, and to download and import it, if necessary:
-
Log in to the Control Center host as
root
or as a user with superuser privileges. -
Search for the base image.
docker images | grep -E 'zenoss/resmgr'
-
If the command returns a result, the base image is present. Continue to the next procedure.
-
If the command returns no result, the base image is absent. Perform the remaining steps of this procedure.
-
-
In a web browser, navigate to delivery.zenoss.io, and then log in.
-
Download the self-installing base image file for the installed release of Resource Manager.
install-zenoss-resmgr_6.6_6.6.0_1.run
-
Copy the file to the Control Center master host.
-
Log in to the master host as root or as a user with superuser privileges.
-
Change directory to the directory where the image file is located.
-
Add execute permission to the image file and then import it.
chmod +x ./install-zenoss-resmgr*run && yes | ./install-zenoss-resmgr*run
-
Verify the base image is present.
docker images | grep -E 'zenoss/resmgr'
Download and import Resource Manager image files
Use this procedure to download files required to update Resource Manager and then to copy the files to a Control Center master host.
Follow these steps:
-
In a web browser, navigate to delivery.zenoss.io, and then log in.
-
Download the self-installing Docker image files for Resource Manager 6.7.0.
install-zenoss-resmgr_6.7_6.7.0_1.run install-zenoss-mariadb-resmgr:6.7.0_1.run install-zenoss-hbase:24.0.9.run install-zenoss-opentsdb:24.0.9.run install-zenoss-memcached_d05d6d4.run install-zenoss-redis_3fb13f8.run install-zenoss-rabbitmq_d154f0f.run install-zenoss-rabbitmq_3.6.16.run
-
Copy the files to the Control Center master host.
-
Log in to the master host as root or as a user with superuser privileges.
-
Copy or move the archive files to /root.
-
Add execute permission to the files.
chmod +x /root/*.run
-
Change directory to /root.
cd /root
-
Import the images.
for image in install-zenoss-*.run do /bin/echo -en "\nLoading $image..." yes | ./$image done
-
List the images in the registry.
docker images
The result should include one image for each archive file.
-
Optional: Delete the archive files, if desired.
rm -i ./install-*.run
-
Copy the update scripts from the new Resource Manager image to a directory in /root.
docker run -it --rm -v /root:/mnt/root zenoss/resmgr_6.7:6.7.0_1 rsync -a /root/6.7.x /mnt/root
Optional: Manage custom MariaDB passwords
If you are using custom database passwords for the mariadb-events and mariadb-model services, the passwords must be managed before starting the update process for Resource Manager.
Follow these steps to determine whether custom passwords are in use:
-
Log in to the Control Center master host as a user with
serviced
CLI privileges. -
Display the MariaDB passwords.
serviced service list Zenoss.resmgr | awk '/(zep|zodb).*-password/'
When the default passwords are in use, the result looks like this:
"global.conf.zep-admin-password": "", "global.conf.zep-password": "zenoss", "global.conf.zodb-admin-password": "", "global.conf.zodb-password": "zenoss",
You can manage the passwords with either of the following methods:
Perform the update
Stop Resource Manager
Follow these steps:
-
Log in to the Control Center master host as a user with
serviced
CLI privileges. -
Check the status of Resource Manager.
serviced service status Zenoss.resmgr --show-fields 'Name,ServiceID,Status'
-
If the status of all services is
stopped
, this procedure is complete. Continue to the next procedure. -
If the status is
running
, perform the remaining steps.
-
-
Stop Resource Manager.
serviced service stop Zenoss.resmgr
-
Check the status of Resource Manager.
serviced service status Zenoss.resmgr --show-fields 'Name,ServiceID,Status'
Repeat the command until the status of all services is
stopped
.
Update Resource Manager
Follow these steps to update Resource Manager.
-
Log in to the Control Center master host as root or as a user with superuser privileges.
-
Start the update script.
/root/6.7.x/upgrade-resmgr.sh
The update process begins. If you encounter errors, see Common update error recovery procedures.
The following message appears frequently and can be ignored:
sync.go:85: ERR Failed to publish events caused by: EOF
-
Stop Resource Manager. Some Resource Manager services are started during the update, and they must be stopped.
serviced service stop Zenoss.resmgr
Perform post-update tasks
Remove the pre-upgrade snapshot and start Resource Manager
The Resource Manager update script uses Control Center to create and tag a snapshot of the system before it begins the update process. Tagged snapshots persist until they are explicitly removed, and grow over time. When you are satisfied the new release is working properly, remove the pre-update snapshot.
-
Log in to the Control Center master host as a user with
serviced
CLI privileges. -
Display a list of all Control Center snapshots, with their tags.
serviced snapshot list -t
Example result, truncated to save space:
Snapshot Description Tags xm5mtezbyo2_20160211-220535.480 preupgrade-resmgr-6.6.0
The snapshot identifier is shown in the first column.
-
Remove the pre-update snapshot.
Replace Snapshot-ID with the identifier of the pre-update snapshot returned in the previous step:
serviced snapshot remove Snapshot-ID
-
Start Resource Manager.
serviced service start Zenoss.resmgr
Optional: Install the application template
The most recent Resource Manager application template is not included in non-appliance updates and is not needed. Use the following procedure if you plan to delete a deployed application template and then redeploy a newer version of the template. (For example, in a development or staging environment.)
Follow these steps
-
In a web browser, navigate to the delivery.zenoss.io site, and then log in.
-
Download the template package file.
zenoss-resmgr-service-6.7.0-1.noarch.rpm
-
Copy the package file to the Control Center master host.
-
Log in to the Control Center master host as root or as a user with superuser privileges.
-
Change directory to the directory where the template package file is located.
-
Install the template.
yum install ./zenoss-resmgr-service-6.7.0-1.noarch.rpm
The template file is stored in
/opt/serviced/templates
.