OpenStack

This tutorial will walk you through the steps required to get a single Solace PubSub+ software event broker cloud image instance running in OpenStack and ready for messaging.

Before you begin

It's assumed you have:

  • Access to an OpenStack deployment.

System Requirements

The number of CPUs and system memory required by your event broker depends on the number of client connections you need to support. By default, fresh installations of the event broker allow up to 100 client connections by default.

The following table lists the minimum system resources required to support each client connection scaling tier.

Minimum System Resources Required For Connection Scaling Tiers

Client Connections CPUs* Virtual Memory (MiB)
up to 100 2 1,903
up to 1,000 2 5,301
up to 10,000 4 12,892
up to 100,000 8 28,191
up to 200,000 12 53,816

*The monitoring node in a high-availability (HA) group needs only 1 CPU.

If you plan to scale your deployment above the 1,000 client connections tier you should note that you're going to need to provision space on a drive to ensure proper functioning of your event broker. The Solace PubSub+ software event broker provides a 30 GB disk partition, which is suitable for proof of concept use for up to 1,000 clients, but is insufficient for client connection tiers above 1,000 and most guaranteed messaging deployments in production environments. For production use, you must provision an additional drive for the message spool, and it's also recommended to provide an additional drive for diagnostics information. For instructions on provisioning additional storage space, see Storage Configuration, and for information on other defaults, see Default Configuration for Software Event Brokers.

High Availability Considerations

To deploy event brokers in high-availability (HA) redundancy groups, you must set up three separate event broker instances and then configure them as an HA group. For more information on how to configure existing event brokers into an HA group, see HA Group Configuration.

Step 1: Get a Software Event Broker

The first task is to download the Solace PubSub+ software event broker. For OpenStack, it is distributed as a compressed QCOW2.

  • Solace PubSub+ Standard or Solace PubSub+ Enterprise Evaluation Edition: Go to the Solace PubSub+ Event Broker downloads page. Select the OpenStack square, either in the PubSub+ Standard or PubSub+ Enterprise Evaluation section, and then select the Download link. A compressed QCOW2 file called either solace-pubsub-standard-<version>-cloud.qcow2.tar.gz or solace-pubsub-evaluation-<version>-cloud.qcow2.tar.gz, as appropriate, will be downloaded.
  • Solace PubSub+ Enterprise: If you have purchased Solace PubSub+ Enterprise, Solace will provide information on how to download a QCOW2 package from a secure Solace server. Contact Solace Support at support@solace.com if you require assistance.

Once you have the compressed event broker package, you need to extract it to obtain the desired QCOW2 image. It can be extracted using the tar command. You will be left with a file called solace-pubsub-<edition>-<version>-cloud.qcow2.

Note:   Some OpenStack implementations claim to support direct qcow2.tar.gz file imports; however, Solace strongly recommends importing a decompressed image.

Step 2: Import into OpenStack

Note: Your OpenStack GUI may be slightly different than shown below. The following procedure may need to be adjusted to work in your OpenStack environment.

To import the Solace PubSub+ software event broker into OpenStack and start it with a basic configuration, do the following:

  1. In the OpenStack GUI under Images, click Create Image.
    Create OpenStack Image
  2. Enter details for your event broker image, then click Create Image. Image creation may take several minutes.
  3. Prior to launching an instance base on the newly created image, you should configure a security group to be used by the instance.

    Go to Access & Security and select Create Security Group. When prompted, provide a name and description, then select Create Security Group.The new security group will appear in the list of configured security groups.

    The next step is to assign an appropriate security rule for each port that the event broker uses for a service to enable connectivity to your event broker; Select Manage Rules.

    For information on the default ports the event broker uses, refer to Default Configuration for Software Event Brokers. The example below includes rules for all service ports that the event broker may use. Alternatively you may choose to only expose the services required for your application.

    Note  
    • Consult your local security policy before configuring access rules.
    • If you will be using the event broker in an HA redundancy group with other event brokers, you must create security rules for ports 8300, 8301, 8302, and 8741.

    Security Group Rules

  4. To launch the instance, go to Images, and click Launch Instance.
  5. On the Details tab, specify an Instance Name and Flavor; under Instance Boot Source, select Boot from Image; and under Image Name, select the event broker image that was created in the previous section.

    Note:  The event broker will inherit the Instance Name as its hostname.

    OpenStack Instance Details

  6. On the Access & Security tab, select or create a Key Pair, and assign a security group.
    OpenStack Access and Security
  7. On the Networking tab, assign one and only one network interface to the event broker.
    OpenStack Networking Properties
  8. Click the Launch button. The event broker will launch and the OpenStack dashboard will display the running instance. Here you can find the IP address of the instance.
    OpenStack Dashboard
  9. To log into the Linux Host shell, enter the following command:

    ssh -i <auth_key> sysadmin@<public_ip>

Step 3: Access the Solace CLI

You can access the Solace CLI from the console in the Linux host environment. This is done through the Solace Control Utility.

When you first access the Solace CLI, you should do the following:

  • set a password for the admin user, which has access to all CLI commands
  • determine the event broker’s IP address so that you can enable remote access

To access the Solace CLI, do the following:

  1. To enter the Solace CLI from the console in the Linux host environment, enter the following command in the Linux host shell.

    [sysadmin@solace ~]$ solacectl cli

    A CLI banner and prompt appears.

    At the > prompt, you are at the User EXEC level of the Solace CLI command structure.

  2. Within the Solace CLI, enter the following commands to create an admin user named admin:

    solace> enable
    solace# configure
    solace(configure)# create username admin password <password>
    solace(configure/username)# global-access-level admin

  3. To determine the IP address assigned to the event broker, enter the following command:

    solace> show ip vrf management

    The displayed output lists the IP address assigned to the event broker (listed for intf0:1), which can be used to remotely manage it (that is, not from the VM console).

    solace> show ip vrf management
    VRF: management
    Number of interfaces: 1
    
    Status Flags:   R=Redundancy,  A=Admin,  O=Oper,  P=Physical
    Status Values:  U=Up,  D=Down,  N=Not Applicable
    
    Status
    Interface       V Router  IP Address          Source  R  A  O  P
    --------------  --------  ------------------  ------  -----------
    intf0:1         static    <IP Address>        system  U  U  U  U
    
    Number of active global routes: 5
    
    Destination       Gateway           Network Mask      Interface
    ----------------  ----------------  ----------------  ----------
    169.254.169.254   *                 255.255.255.255   N/A
    172.17.0.0        *                 255.255.0.0       N/A
    default           192.168.128.1     0.0.0.0           intf0
    169.254.0.0       *                 255.255.0.0       intf0
    192.168.128.0     *                 255.255.240.0     intf0
  4. To remotely access the Solace CLI for the event broker, you can now ssh to port 2222 of the event broker’s IP address and login in as the admin user.
  5. ssh -p 2222 admin@<public_ip>

Tip:  In addition to the admin CLI User, you can create additional CLI and file transfer users through the Solace CLI in the manner described in Management & Shell Users.

Step 4: Review Configuration Defaults

By default, a Solace PubSub+ software event broker starts with a basic configuration that has most common services enabled and ready for use. This basic configuration and the default ports that are used can be modified as required. For details, see Default Configuration for Software Event Brokers.

Next Steps

You now have a Solace PubSub+ software event broker cloud image with a basic configuration that is ready for messaging tasks. However, there are additional configuration tasks that you can perform. At this stage, you should do the following:

  1. Review the extra configuration tasks specific to Solace PubSub+ software event broker images presented on the Cloud & Machine Image Specific Topics page.

    These additional configurations allow you to further customize your event broker to better suit your particular use-case and to make it more suitable for a production deployment.

  2. Configure and manage the event broker’s operations through the Solace CLI in the same manner as you would other event brokers (say, a Solace PubSub+ appliance or Solace PubSub+ software event broker Docker container). For information on how to perform these configuration and management tasks, see the topics in the Configuration category of the Solace customer documentation.