On this page you'll find upgrade procedures for event broker AWS images.
Upgrade a Standalone AWS Cloud Image
The Solace PubSub+ software event broker Amazon Machine Image (AMI) uses the Amazon Linux OS. Solace recommends an instance replacement upgrade if you're using the AWS AMI, which will result in a newly created AWS instance for the upgraded event broker.
Starting Versions & Upgrade Paths
The starting version of your event broker must be release 10.0.1 or later to upgrade.
The procedure shown in this section describes an Enterprise to Enterprise upgrade.
On non-Enterprise event brokers, the following upgrades are also supported:
- from Evaluation to Enterprise
- from Standard to Standard
- from Standard to Enterprise
For upgrades between other editions, launch the upgraded instance using the Solace AMI package for the corresponding event broker edition.
Prerequisites
- In order to preserve configuration and spooled messages, all storage-elements must be on one or more external storage volumes. Each storage-element is described in Managing Software Event Broker Storage. If any of your storage-elements aren't on an external storage volume, move them. As an example, this procedure assumes that the event broker has its storage-elements assigned to a single external storage volume.
To review the list of available block devices and volumes, run the solacectl storage ls
command, then check the block devices and storage volumes columns in the output.
- The Cloud-Init user data that was used when the software event broker was initialized in Initializing the Configuration for AWS are required for this procedure. All the Solace storage keys on external storage must be included. In the example below, the Cloud-Init user data is from Initializing the Configuration for AWS, and includes Solace storage keys on the
sdf
device. #cloud-config
solace:
configuration_keys:
username_admin_globalaccesslevel: admin
username_admin_password: adminpwd
service_ssh_port: 22
service_semp_port: 8080
storage:
adb:
device: sdf
adbBackup:
device: sdf
diagnostics:
device: sdf
internalSpool:
device: sdf
jail:
device: sdf
var:
device: sdf
The user data, excluding the Solace storage keys, can be retrieved from the instance by using the http://<broker-IP>/latest/user-data
URI. For more information, refer to Instance Metadata and User Data.
- You need a static IP or DNS name associated with the instance. This procedure assumes that either the AWS instance is associated with an AWS elastic network interface, or, if you're using private addresses, Route 53 is used to assign a static DNS name to the instance. The network interface should have a name, and its termination behavior should be set to false. To associate an AWS instance with an elastic network interface that's associated with an elastic IP, refer to Elastic IP Addresses. To associate a Route 53 entry to the AWS instance IP, refer to DNS support for your VPC.
User accounts (username/passwords) for support/root container users aren't transferred during the upgrade procedure, and must be manually applied to the new event broker instance.
If applicable, SolGeneos and its dependencies must be manually re-installed on the new event broker instance.
Procedure
- Log into the event broker as sysadmin.
- Switch to root user:
[sysadmin@solace ~]$ sudo su –
- Stop the solace service:
[root@solace ~]$ solacectl service stop
- Stop the Instance in the AWS Management Console.
- Create a Snapshot of the Volume specified in the Prerequisites and give it a suitable description.
- Launch a new Instance using the new AMI named
solace-pubsub-enterprise-<version>
.
- Choose an Instance Type that is the same or larger.
- On the Configure Instance Details screen, set the same Network, Subnet, and IAM role as before.
- Under the Network interfaces section, select the elastic network interface specified in Prerequisites.
- Under the Advanced Details section, enter the user data specified in Prerequisites into the User data block.
The device name for each storage-element must start with an “s”.
- On the Add Storage screen, add an additional Volume, and set the Device specified in the user data in step 2, the Snapshot from step 5, and the Size to the same or larger Size.
- Review and Launch the new Instance. When the event broker restarts, it will be running the configuration and message-spool from the previous version.
- Log into the event broker as admin and confirm that it's running the new version:
solace> show version
- Terminate the stopped Instance from step 4 in the AWS Management Console.
You have completed this procedure.
Upgrade a Redundant AWS Cloud Image Group
The Solace PubSub+ software event broker Amazon Machine Image (AMI) uses the Amazon Linux OS. Solace recommends an instance replacement upgrade for all members of a redundant HA group if the group is using the AWS AMI, which will result in newly created AWS instances for each group member.
Starting Versions & Upgrade Paths
The starting version of your event brokers must be release 10.0.1 or later to upgrade.
The procedure shown in this section describes an Enterprise to Enterprise upgrade.
On non-Enterprise event brokers, the following upgrades are also supported:
- from Evaluation to Enterprise
- from Standard to Standard
- from Standard to Enterprise
For upgrades between other editions, launch the upgraded instance using the Solace AMI package for the corresponding event broker edition.
Prerequisites
- In order to preserve configuration and spooled messages, all storage-elements on each event broker in the group must be on one or more external storage volumes. Each storage-element is described in Managing Software Event Broker Storage. If any of your storage-elements aren't on an external storage volume, move them. As an example, this procedure assumes that each event broker has its storage-elements assigned to its own, single external storage volume.
To review the list of available block devices and volumes, run the solacectl storage ls
command, then check the block devices and storage volumes columns in the output.
- The Cloud-Init user data that was used when the software event brokers were initialized in Initializing the Configuration for AWS are required for this procedure. All the Solace storage keys on external storage must be included. In the example below, the Cloud-Init user data is from Initializing the Configuration for AWS, and includes Solace storage keys on the
sdf
device. #cloud-config
solace:
configuration_keys:
username_admin_globalaccesslevel: admin
username_admin_password: adminpwd
service_ssh_port: 22
service_semp_port: 8080
storage:
adb:
device: sdf
adbBackup:
device: sdf
diagnostics:
device: sdf
internalSpool:
device: sdf
jail:
device: sdf
var:
device: sdf
The user data, excluding the Solace storage keys, can be retrieved from the instance by using the http://<broker-IP>/latest/user-data
URI. For more information, refer to Instance Metadata and User Data.
- You need a static IP or DNS name associated with each instance in the group. This procedure assumes that either the AWS instance is associated with an AWS elastic network interface, or, if you're using private addresses, Route 53 is used to assign a static DNS name to the instance. The network interface should have a name, and its termination behavior should be set to false. To associate an AWS instance with an elastic network interface that's associated with an elastic IP, refer to Elastic IP Addresses. To associate a Route 53 entry to the AWS instance IP, refer to DNS support for your VPC.
User accounts (username/passwords) for support/root container users aren't transferred during the upgrade procedure, and must be manually applied to the new event broker instance.
If applicable, SolGeneos and its dependencies must be manually re-installed on the new event broker instance.
Procedure
In the following procedure, we refer to the primary node as solace-primary
, the backup node as solace-backup
, and the monitoring node as solace-monitor
.
It is important to reboot the three software event brokers one at time. If the Monitoring and Backup Nodes are offline at the same time, the Primary Node will automatically reboot.
- Log into each node as an admin user.
- Ensure the Redundancy Configuration Status is
Enabled
, and the Redundancy Status is Up
on each node. On solace-primary
the Message Spool Status should be AD-Active
, and on solace-backup
the Message Spool Status should be AD-Standby
: solace-primary> show redundancy
Configuration Status : Enabled
Redundancy Status : Up
Operating Mode : Message Routing Node
Switchover Mechanism : Hostlist
Auto Revert : No
Redundancy Mode : Active/Standby
Active-Standby Role : Primary
Mate Router Name : solace-backup
ADB Link To Mate : Up
ADB Hello To Mate : Up
Primary Virtual Backup Virtual
Router Router
--------------- ---------------
Activity Status Local Active Shutdown
Routing Interface intf0:1 intf0:1
Routing Interface Status Up
VRRP Status Initialize
VRRP Priority 250
Message Spool Status AD-Active
Priority Reported By Mate Standby
solace-backup> show redundancy
Configuration Status : Enabled
Redundancy Status : Up
Operating Mode : Message Routing Node
Switchover Mechanism : Hostlist
Auto Revert : No
Redundancy Mode : Active/Standby
Active-Standby Role : Backup
Mate Router Name : solace-primary
ADB Link To Mate : Up
ADB Hello To Mate : Up
Primary Virtual Backup Virtual
Router Router
--------------- ---------------
Activity Status Shutdown Mate Active
Routing Interface intf0:1 intf0:1
Routing Interface Status Up
VRRP Status Initialize
VRRP Priority 100
Message Spool Status AD-Standby
Priority Reported By Mate Active
solace-monitor> show redundancy
Configuration Status : Enabled
Redundancy Status : Up
Operating Mode : Monitoring Node
Switchover Mechanism : Hostlist
Auto Revert : No
If you are upgrading your event broker from versions 10.8.1.126 through 10.8.1.176 (inclusive), do no proceed until you perform these steps:
- Execute
show message-spool
on both the AD-Active and AD-Standby brokers. Record the Next Message Id
from both outputs.(admin/system/message-spool)# show message-spool
Next Message Id: 12567
- Wait approximately 30 seconds, then execute
show message-spool
on both brokers again and record the Next Message Id
again. - Compare the change in
Next Message Id
from the AD-Active broker to the change on the AD-Standby broker. If the Next Message Id
value increases on the AD-Active broker but not on the AD-Standby broker, immediately stop the upgrade and do not proceed any further. Please contact Solace Support as soon as possible.
If you are not performing upgrades from the event broker versions mentioned, you can safely skip the above mentioned steps.
- Log out and log back into
solace-monitor
as sysadmin.
- Switch to root user:
[sysadmin@solace ~]$ sudo su –
- Stop the solace service:
[root@solace ~]$ solacectl service stop
- Stop the
solace-monitor
Instance in the AWS Management Console.
- Create a Snapshot of the Volume specified in Prerequisites for
solace-monitor
and give it a suitable description.
- Launch a new Instance for
solace-monitor
using the new AMI named solace-pubsub-enterprise-<version>
.
- Choose an Instance Type that is the same or larger.
- On the Configure Instance Details screen, set the same Network, Subnet, and IAM role as before.
- Under the Network interfaces section, select the elastic network interface specified in Prerequisites for
solace-monitor
.
- Under the Advanced Details section, enter the user data specified in Prerequisites into the User data block for
solace-monitor
.
The device name for each storage-element must start with an “s”.
- On the Add Storage screen, add an additional Volume and set the Device specified in the user data in step 2 of the Prerequisites, the Snapshot from step 7, and the Size to the same or larger Size.
- Review and Launch the new Instance. When
solace-monitor
restarts, it will be running the configuration and message-spool from the previous version.
- Log into
solace-monitor
and confirm that it's running the new version: solace-monitor> show version
- Ensure Redundancy Status is
Up
on solace-monitor
: solace-monitor> show redundancy
Configuration Status : Enabled
Redundancy Status : Up
- Log into
solace-backup
as an admin user.
- Ensure Redundancy Configuration Status is
Enabled
and Redundancy Status is Up
on solace-backup
: solace-backup> show redundancy
Configuration Status : Enabled
Redundancy Status : Up
If you are upgrading your event broker from versions 10.8.1.126 through 10.8.1.176 (inclusive), do no proceed until you perform these steps:
- Execute
show message-spool
on both the AD-Active and AD-Standby brokers. Record the Next Message Id
from both outputs.(admin/system/message-spool)# show message-spool
Next Message Id: 12567
- Wait approximately 30 seconds, then execute
show message-spool
on both brokers again and record the Next Message Id
again. - Compare the change in
Next Message Id
from the AD-Active broker to the change on the AD-Standby broker. If the Next Message Id
value increases on the AD-Active broker but not on the AD-Standby broker, immediately stop the upgrade and do not proceed any further. Please contact Solace Support as soon as possible.
If you are not performing upgrades from the event broker versions mentioned, you can safely skip the above mentioned steps.
- Optional: If using Config-Sync, ensure that it's in sync:
solace-backup> show config-sync
Admin Status : Enabled
Oper Status : Up
- Optional: If using DMR, ensure that cluster synchronization is complete:
solace-backup> show cluster
Cluster Sync Complete : Yes
- Terminate the stopped Instance from step 6 in the AWS Management Console.
- Log out and log back into the
solace-backup
as sysadmin
- Switch to root user:
[sysadmin@solace ~]$ sudo su –
- Optional: If you're using MQTT retained messages in your deployment, verify that your retain cache instances are synchronized. For more information, refer to Verifying Retain Cache Redundancy.
- Stop the solace service:
[root@solace ~]$ solacectl service stop
- Stop the
solace-backup
Instance in the AWS Management Console.
- Create a Snapshot of the Volume specified in Prerequisites for
solace-backup
and give it a suitable description.
- Launch a new Instance for
solace-backup
using the new AMI named solace-pubsub-enterprise-<version>
.
- Choose an Instance Type that is the same or larger.
- On the Configure Instance Details screen, set the same Network, Subnet, and IAM role as before.
- Under the Network interfaces section, select the elastic network interface specified in Prerequisites for
solace-backup
.
- Under the Advanced Details section, enter the user data specified in Prerequisites into the User data block for
solace-backup
.
The device name for each storage-element must start with an “s”.
- On the Add Storage screen, add an additional Volume and set the Device specified in the user data in step 2 of the Prerequisites, the Snapshot from step 20, and the Size to the same or larger Size.
- Review and Launch the new Instance. When
solace-backup
restarts, it will be running the configuration and message-spool from the previous version.
- Log into
solace-backup
and confirm that it's running the new version: solace-backup> show version
- Ensure Redundancy Status is
Up
on solace-backup
: solace-backup> show redundancy
Configuration Status : Enabled
Redundancy Status : Up
If you are upgrading your event broker from versions 10.8.1.126 through 10.8.1.176 (inclusive), do no proceed until you perform these steps:
- Execute
show message-spool
on both the AD-Active and AD-Standby brokers. Record the Next Message Id
from both outputs.(admin/system/message-spool)# show message-spool
Next Message Id: 12567
- Wait approximately 30 seconds, then execute
show message-spool
on both brokers again and record the Next Message Id
again. - Compare the change in
Next Message Id
from the AD-Active broker to the change on the AD-Standby broker. If the Next Message Id
value increases on the AD-Active broker but not on the AD-Standby broker, immediately stop the upgrade and do not proceed any further. Please contact Solace Support as soon as possible.
If you are not performing upgrades from the event broker versions mentioned, you can safely skip the above mentioned steps.
- Optional: If using Config-Sync, ensure
solace-backup
is in sync: solace-backup> show redundancy
Message Spool Status AD-Standby
- Optional: If using DMR, ensure that cluster synchronization is complete:
solace-backup> show cluster
Cluster Sync Complete : Yes
- If
solace-backup
provides AD service, ensure the Message Spool Status is AD-Standby
: solace-backup> show redundancy
Message Spool Status AD-Standby
- Terminate the stopped Instance from step 19 in the AWS Management Console.
- Log into
solace-primary
as an admin user.
- Release activity from
solace-primary
to solace-backup
: solace-primary> enable
solace-primary> configure
solace-primary> redundancy release-activity
- On
solace-primary
, ensure Redundancy Configuration Status is Enabled-Released
and Redundancy Status is Down
: solace-primary> show redundancy
Configuration Status : Enabled-Released
Redundancy Status : Down
- On
solace-backup
, ensure Redundancy Configuration Status is Enabled
, Redundancy Status is Down
, and the Activity Status on the Backup Virtual Router is Local Active
. solace-backup> show redundancy
Configuration Status : Enabled
Redundancy Status : Down
Primary Virtual Backup Virtual
Router Router
--------------- ---------------
Activity Status Shutdown Local Active
- Log out and log back into
solace-primary
as sysadmin.
- Switch to root user:
[sysadmin@solace ~]$ sudo su –
- Optional: If you're using MQTT retained messages in your deployment, verify that your retain cache instances are synchronized. For more information, refer to Verifying Retain Cache Redundancy.
- Stop the solace service:
[root@solace ~]$ solacectl service stop
- Stop the
solace-primary
Instance in the AWS Management Console.
- Create a Snapshot of the Volume specified in Prerequisites for
solace-primary
and give it a suitable description.
- Launch a new Instance for
solace-primary
using the new AMI named solace-pubsub-enterprise-<version>
.
- Choose an Instance Type that is the same or larger.
- On the Configure Instance Details screen, set the same Network, Subnet, and IAM role as before.
- Under the Network interfaces section, select the elastic network interface specified in Prerequisites for
solace-primary
.
- Under the Advanced Details section, enter the user data specified in Prerequisites into the User data block for
solace-primary
.
The device name for each storage-element must start with an “s”.
- On the Add Storage screen, add an additional Volume and set the Device specified in the user data in step 2 of the Prerequisites, the Snapshot from step 36, and the Size to the same or larger Size.
- Review and Launch the new Instance. When
solace-primary
restarts, it will be running the configuration and message-spool from the previous version.
- Log into
solace-primary
and confirm that it's running the new version: solace-primary> show version
- No release activity from
solace-primary
: solace-primary> enable
solace-primary> configure
solace-primary> no redundancy release-activity
- Ensure Redundancy Status is
Up
on solace-primary
: solace-primary> show redundancy
Configuration Status : Enabled
Redundancy Status : Up
If you are upgrading your event broker from versions 10.8.1.126 through 10.8.1.176 (inclusive), do no proceed until you perform these steps:
- Execute
show message-spool
on both the AD-Active and AD-Standby brokers. Record the Next Message Id
from both outputs.(admin/system/message-spool)# show message-spool
Next Message Id: 12567
- Wait approximately 30 seconds, then execute
show message-spool
on both brokers again and record the Next Message Id
again. - Compare the change in
Next Message Id
from the AD-Active broker to the change on the AD-Standby broker. If the Next Message Id
value increases on the AD-Active broker but not on the AD-Standby broker, immediately stop the upgrade and do not proceed any further. Please contact Solace Support as soon as possible.
If you are not performing upgrades from the event broker versions mentioned, you can safely skip the above mentioned steps.
- Optional: If using Config-Sync, ensure that it's in sync:
solace-primary> show config-sync
Admin Status : Enabled
Oper Status : Up
- Optional: If using DMR, ensure that cluster synchronization is complete:
solace-primary> show cluster
Cluster Sync Complete : Yes
- If the node provides AD service, ensure the Message Spool Status is
AD-Standby
: solace-primary> show redundancy
Message Spool Status AD-Standby
- Terminate the stopped Instance from step 35 in the AWS Management Console.
You have completed this procedure.
The backup is now active and the primary is standby.