Setting Up OpenStack VMR Cloud Images
This tutorial will walk you through the steps required to get a single Solace Virtual Message Router (VMR) cloud image instance running in OpenStack and ready for messaging.
- Step 1: Get a VMR
- Step 2: Import the VMR into OpenStack
- Step 3: Access the Solace CLI
- Step 4: Review VMR Configuration Defaults
- Additional VMR Cloud Image Configuration
To deploy VMRs in high-availability (HA) redundancy groups, you must set up three separate VMR instances as discussed in this section, and then configure them appropriately as a group. For more information on how to configure existing VMRs as an HA group, see Managing VMR Redundancy.
- You have access to an OpenStack deployment.
The VMR Cloud Image 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 is recommended to also provide an additional drive for diagnostics information. For instructions on provisioning additional storage space, see Externalizing the Message Spool and Diagnostics, and for information on other defaults, see VMR Configuration Defaults.
For Evaluation and Enterprise VMR editions, the number of client connections to the VMR that can be supported depends on the system resources you provision for the VM. The table below lists the minimum system resources that are required to support the client connections offered by each tier.
Minimum System Resources Required For Connection Scaling Tiers
|Client Connections||RAM (GiB)||CPUs||Minimum Recommended Diagnostics Volume Size (GB)|
|up to 1,000||4||2||8.6|
|up to 10,000||12||minimum of 4||10.7|
|up to 100,000||28||minimum of 8||21.5|
The first requirement is to download an edition of the VMR. For Openstack, the VMR is distributed as a Compressed QCOW2.
- Evaluation or Community edition of the VMR: Go to the Downloads page of dev.solace.com. Then in the openstack square select Download and choose either Community Edition or Evaluation Edition.
After you read and agree to the license agreement, a compressed QCOW2 file called
soltr-<version>-vmr-<type>.qcow2.xzwill be downloaded.
- Enterprise version of the VMR: If you have purchased an Enterprise version of the VMR, Solace will provide information for how to download an enterprise version of the VMR QCOW2 file package from a secure Solace server. Contact Solace Support at firstname.lastname@example.org if you require assistance.
Once you have the compressed QCOW2 package, you need to extract it so that you are left with the desired QCOW2 image. The compressed QCOW2 can be extracted using the tar command.
Then you are left with a file called
soltr-<version>-vmr-cloud-<type>.qcow2. This is the file you will use going forward with OpenStack.
Note: Some OpenStack implementations claim to support direct
qcow2.tar.gzfiles imports. However, Solace strongly recommends importing a decompressed image.
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 VMR into OpenStack and start it with a basic configuraiton, do the following:
- In the OpenStack GUI under Images, click Create Image.
- Enter details for your VMR Image, then click Create Image. The creation of the image may take several minutes to complete.
- 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 an appropriate security rule for each port that the VMR uses for a service to enable connectivity to your VMR; Select Manage Rules.
For information on the default ports the VMR uses, refer to VMR Configuration Defaults. The example below includes rules for all service ports that the VMR may use. Alternatively you may only expose the services required for your application.
- Consult your local security policy before configuring access rules.
- If you will be using the VMR in an HA redundancy group with other VMRs, you must create security rules for ports 8300, 8301, 8302, and 8741.
- To launch the instance, go to Images, and click Launch Instance.
- On the Details tab, specify an Instance Name and Flavor; under Instance Boot Source, select Boot from Image; and under Image Name, select the VMR image that was created in the previous section.
Note: The VMR will inherit the Instance Name as its hostname.
- On the Access & Security tab, select or create a Key Pair, and assign a security group.
- On the Networking tab, assign one and only one network interface to the VMR.
- Click the Launch button. The VMR will launch and the OpenStack dashboard will display the running instance. Here you can find the IP address of the instance.
- To log into the Linux Host shell, enter the following command:
ssh -i <auth_key> sysadmin@<public_ip>
Note: For VMR releases prior to 8.5.0, ssh to port 2222 (
ssh -p 2222 -i <auth_key> sysadmin@<public_ip>)
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 VMR’s IP address so that you can enable remote access
To access the Solace CLI, do the following:
- 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.
>prompt, you are at the User EXEC level of the Solace CLI command structure.
- Within the Solace CLI, enter the following commands to create an admin user named
solace(configure)# create username admin password <password>
solace(configure/username)# global-access-level admin
- To determine the IP address assigned to the VMR, enter the following command:
solace> show ip vrf management
The displayed output lists the IP address assigned to the VMR (listed for
eth0:1), which can be used to remotely manage the VMR (that is, not from the VM console).
- To remotely access the Solace CLI for the VMR, you can now ssh to port 2222 of the VMR’s IP address and login in as the
ssh -p 2222 admin@<public_ip>
Note: For VMR releases prior to 8.5.0, ssh to port 22.
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 Administering Management & Shell Users.
Unlike a Solace appliance, by default, a VMR 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 VMR Configuration Defaults.
You now have a VMR 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:
- Review the extra configuration tasks specific to VMR images presented on the Index of VMR Image Configuration Tasks page.
These additional configurations allow you to further customize your VMR cloud image to better suit your particular use-case and to make it more suitable for a production deployment.
- Begin to configure and manage the VMR image’s messaging operations through the Solace CLI in the same manner as you would other Solace messaging routers (say, a Solace messaging appliance or a Solace VMR Docker container). For information on how to perform these configuration and management tasks, see the topics in the Router Configuration category of the Solace customer documentation.