Creating physical MQ telemetry transport brokers

In HCL DevOps Test Integrations and APIs (Test Integrations and APIs), creating an MQ telemetry transport involves creating an MQ telemetry transport broker resource, which provides information about connectivity to a physical MQ telemetry transport broker.

Before you begin

If you want to configure SSL for an MQ telemetry transport, you must first create an identity store in your project to store certificates.

About this task

An MQ telemetry transport broker is a server that exchanges messages between MQ telemetry transport clients.

Procedure

  1. Open the Physical View of the Architecture School perspective.
  2. On the toolbar of the Physical View, click General > MQTT Broker.

    The MQTT Broker window is displayed.

    Alternatively, open the Logical View, right-click an MQ telemetry transport connection, and click Set Binding in > Environment name > Create new MQTT Broker in the pop-up menu.

  3. Optional: In the Name field, enter a name for the broker.
    Note: Assigning a name helps to identify the broker if there is more than one MQ telemetry transport broker in your project.
  4. Click Settings, if necessary, to configure the settings that are used to create the rule that defines which MQ telemetry transport traffic to record.

    The Broker settings enable you to specify basic settings of the broker.

    The Broker settings are described in the following table:
    Table 1. MQTT Broker window: Config tab, Settings tab, Broker settings

    Host

    The hostname or IP address of the computer that hosts the MQ telemetry transport broker to which you want to connect.

    Port

    By default, 1883 is displayed in this field because TCP/IP port 1883 is reserved with the Internet Assigned Numbers Authority (IANA) for use with the MQTT protocol.

    TCP/IP port 8883 is reserved with the IANA for use with the MQTT protocol over SSL (MQTTS).

    However, 1883 and 8883 are only default values and the actual TCP/IP port number that you must enter in this field will depend on the configuration of the physical MQ telemetry transport broker to which you want to connect.

    If you specify Port Forwarding Proxy settings, Test Integrations and APIs uses the HTTP/TCP proxy to connect to the MQ telemetry transport broker and ignores Broker settings. In this case, you must also configure the HTTP/TCP proxy to forward MQ telemetry traffic Any client applications that use recording and virtualization must be configured to use the proxy.

    The Port Forwarding Proxy settings are described in the following table:
    Table 2. MQTT Broker window: Config tab, Settings tab, Port Forwarding Proxy settings

    Host

    The hostname or IP address of the HTTP/TCP proxy that you want to use for recording or virtualizing MQ telemetry transport traffic.

    Port

    The port number of the HTTP/TCP proxy that you want to use for recording or virtualizing MQ telemetry transport traffic.

    The Connection settings enable you to specify authentication and other connection settings that might be required by a physical MQ telemetry transport broker.

    The Connection settings are described in the following table:
    Table 3. MQTT Broker window: Config tab, Settings tab, Connection settings

    Username

    If the physical MQ telemetry transport broker requires a user name and password for authentication, enter the user name in the field provided.

    Password

    If the physical MQ telemetry transport broker requires a user name and password for authentication, enter the password in the field provided.

    Client ID Pattern

    A client identifier is a 23-byte string that identifies an MQ telemetry transport client. Each client identifier must be unique to only one connected client at a time.

    It is important to have a procedure for allocating client identifiers. In Test Integrations and APIs, the options are as follows:
    • Enter a regular expression that Test Integrations and APIs will use to generate client identifiers of a specific pattern for all connections to the physical MQ telemetry transport broker.
    • Alternatively, if you leave the field blank, Test Integrations and APIs will generate a random client identifier for each connection to the physical MQ telemetry transport broker.

    Max Connections

    The MQTT protocol does not impose any limits on the number of client connections that a physical MQ telemetry transport broker can support.

    However, individual physical MQ telemetry transport brokers may have limits because of hardware or other resource constraints.

    If applicable, enter the maximum number of client connections that this MQ telemetry transport can support.

  5. Click SSL to configure the secure socket layer settings for the transport.
    Click SSL to configure the secure socket layer (SSL) settings for the transport. The SSL settings are described in the following table:
    Field Description
    Use SSL Select this check box to enable security for the transport.

    Selecting the check box makes the other controls on the SSL tab available. You can enable security for Testing (Client) or Virtualization (Server) or both.

    Server certificates to trust All available identity stores are displayed in the drop-down list. Select one of the following menu items:
    Field Description
    Trust All

    To accept any certificate presented by the server, regardless of its validity. This option is the default and assumes you are focused on testing an application rather than the security of the server.

    New

    To define a new identity store.

    Identity store To specify an identity store, that contains certificates that the client is to trust.
    Client identities to give to the server All available identity stores are displayed in the drop-down list. If you use mutual authentication, a suitable identity is selected from the chosen identity store. Select one of the following menu items:
    Field Description
    None

    If the server does not request an identity.

    New

    To define a new identity store.

    Identity store

    To use an existing identity store. Specify an alias in the Identity field.

    Certificate source All available identity stores are displayed in the drop-down list. You can select one of the following menu items:
    Field Description
    Generated

    To use a certificate that Test Integrations and APIs generates for you. The source for that certificate is displayed in the Signed by field.

    New

    To define a new identity store.

    Identity store

    To use a certificate from an identity store.

    Signed by If you chose Generated in the Certificate source field, this field holds the location of a certificate within the Test Integrations and APIs installation directory that is used to generate the new certificate. This is a read-only field.
    Identity If you specified an identity store in the Certificate source field, use this field to specify the alias of a key in that identity store.
    Certificate Authorities a stub will trust All available identity stores are displayed in the drop-down list. You can select one of the following menu items:
    Field Description
    Trust All

    To accept any certificate presented by the client.

    New

    To define a new identity store.

    Identity store

    To specify an identity store that contains certificates that the stub is to trust.

    Override default protocols If you are required to use a specific version of the secure sockets protocol, such as SSLv2 or TLSv1.2, enter that algorithm name here.
    Note: To complete the configuration of SSL for the transport, set the Port field under Broker to 8883.
  6. Optional: Click Stubbing to configure the mode used by the transport for routing messages.
    The Stubbing Mode list options are described in the following table:
    Table 4. MQTT Broker window: Config tab, Stubbing tab, Stubbing Mode options

    Direct

    If this option is selected, Test Integrations and APIs subscribes to a topic like any other MQ telemetry transport client and consumes messages directly.

    Use Sift & Pass-through with Proxy

    If this option is selected, a suitably configured proxy routes messages to Test Integrations and APIs instead of presenting them to the broker.

    For each message received, Test Integrations and APIs either discards the message if a stub cannot process it and thus not send any reply or sends the message for onward processing to the original destination.

  7. Click Test Transport to verify that the connection works.
  8. Click OK.

Results

The new physical MQ telemetry transport broker is added to your project.