Chapter 2. Changing the configuration of a Fuse Online environment

After you install Fuse Online on OpenShift Container Platform (OCP) on-site, you can change the configuration of the Fuse Online environment.

See the following topics for details:

2.1. Fuse Online configuration changes allowed after installation

After you install Fuse Online on OpenShift Container Platform (OCP) on-site, you can change its configuration to enable/disable some features or change some configuration settings. The following table lists the features and settings that you can change, the effect of the change, and where to find instructions for making the change.

When changes to the syndesis custom resource cause redeployment of syndesis-server, OpenShift creates a new server deployment. It takes a maximum of one to two minutes until the new server is ready. During this time, the Fuse Online console is not usable. Integrations that are running continue to run while a new server is being deployed. When the new deployment is ready, the new server loads the state of the integrations. You can use the Fuse Online console again when the syndesis-server pod status is Running and refreshing the Fuse Online console displays values for integrations, connections, messages, and uptime.

Important

Data virtualization is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.

Table 2.1. Features and settings that you can change

Feature/SettingEffect of changingInformation

3scale discovery

Redploys syndesis-server

Configuring Fuse Online to enable 3scale discovery of APIs

Backups

Adds a backup job to syndesis-operator

Backing up a Fuse Online environment

Data virtualization
(Technology Preview)

Creates a new syndesis-dv pod and updates the Fuse Online console

Descriptions of custom resource attributes that configure Fuse Online

Monitoring

Installs new OpenShift resources

Monitoring Fuse Online integrations on OCP with Prometheus

Public Fuse Online REST API endpoints

Creates syndesis-public-oauthproxy pod

Exposing Fuse Online public REST APIs for use by external tools

Sample Todo app for testing integrations

Creates new todo pod

Adding a sample app to a Fuse Online environment running on OCP

External Maven repository specifications

Redeploys syndesis-server

Descriptions of custom resource attributes that configure Fuse Online

Memory available to Fuse Online components

Redeploys component with changed memory

Number of running integrations allowed

Redeploys syndesis-server

2.2. General procedure for changing Fuse Online configuration

For a Fuse Online environment that is installed on OCP, you can change its configuration by updating its syndesis custom resource. After you save your changes, OpenShift updates syndesis-operator with your updates if they are syntactically correct. A syntax error prevents the update.

While editing the syndesis custom resource, ensure that you do not specify an invalid setting that is syntactically correct. The syndesis-operator will use the updated syndesis custom resource even if a syntactically correct setting is invalid. If you do specify an invalid setting, you learn about it only after OpenShift completes the update. During the update, OpenShift deletes invalid settings.

Prerequisites

  • Fuse Online is installed on OCP on-site.
  • The oc client tool is installed and it is connected to the OCP cluster in which Fuse Online is installed.
  • You have permission to install Fuse Online in the project for which you want to change Fuse Online configuration.
  • You consulted Descriptions of custom resource attributes that configure Fuse Online to learn which configuration changes are allowed after installation and how to update the syndesis custom resource for the configuration changes you want to make.

Procedure

  1. Log in to OpenShift with an account that has permission to install Fuse Online. For example:

    oc login -u developer -p developer

  2. Switch to the OpenShift project that is running the Fuse Online environment whose configuration you want to change. For example:

    oc project my-fuse-online-project

  3. Optional. Create a backup copy of the current settings in the syndesis custom resource, just in case you update and save incorrect content. For example, invoking the following command saves a backup in the syndesis_app_backup.yml file:

    oc get syndesis app -o yaml > syndesis_app_backup.yml

  4. Invoke the following command to open the syndesis custom resource in an editor:

    oc edit syndesis

  5. Edit the syndesis custom resource as needed.
  6. Save the resource.
  7. Wait two or three minutes, and then confirm that syndesis-operator was able to use your updates to the syndesis custom resource:

    1. Invoke the following command to display the content of the syndesis custom resource:

      oc describe syndesis/app

    2. Check the content.

      If the syndesis custom resource does not contain the settings that you need, edit it again to specify valid settings.

Results

Most changes to the syndesis custom resource trigger syndesis-operator to redeploy Fuse Online (syndesis-server). This means that OpenShift creates a new server deployment. It takes a maximum of one to two minutes until the new server is ready. During this time, the Fuse Online console is not usable. Integrations that are running continue to run while a new server is being deployed. When the new deployment is ready, the new server loads the state of the integrations. You can use the Fuse Online console again when:

  • The syndesis-server pod status is Running.
  • Refreshing the Fuse Online console displays values for integrations, connections, messages, and uptime.

Some changes to the syndesis custom resource update the Fuse Online configuration but do not require redeployment of syndesis-server. For example:

  • When you update the syndesis custom resource to specify backups, it is a few seconds before the backup job is in place.
  • Updating a Fuse Online configuration to enable data virtualization requires updates to the Fuse Online console user interface and deployment of the data virtualization pod. While the console updates typically require a maximum of ten seconds, how long it takes to deploy the data virtualization pod depends on a number of variable things. To confirm that a Fuse Online environment enables data virtualization, do the following:

    1. In the Fuse Online console, in the left panel, click Data.
    2. On the Data Virtualizations page, you should be able to add data views.

The effect of each configuration change is described in Fuse Online configuration changes allowed after installation.

2.3. Configuring Fuse Online to enable 3scale discovery of APIs

If you create an API provider integration, you might want to enable discovery of the API for that integration in Red Hat 3scale. The default behavior is that APIs are not exposed for automatic discovery in 3scale. When you enable discovery, you must provide a URL for a 3scale user interface.

To configure Fuse Online to enable 3scale discovery of APIs before you install Fuse Online, see Descriptions of custom resource attributes that configure Fuse Online.

After installation, you can enable discovery by updating the syndesis custom resource. Instructions for doing this are in this topic. When you enable discovery, it applies to only the OpenShift project that you are connected to when you update the resource.

Turning on 3scale service discovery means that:

  • The default behavior is that 3scale publishes API provider integrations. When 3scale publishes an API provider integration:

    • Fuse Online does not provide an external URL for an API provider integration that is running.
    • The API is accessible only through 3scale. Configuration in 3scale is required to expose the endpoint. For details, see Red Hat 3scale API Management, Service Discovery.
  • The creator of an API provider integration can disable 3scale discovery for that integration. In other words, each API provider integration creator can choose whether that integration’s API is discoverable.

Prerequisites

  • Fuse Online is installed on OCP on-site.
  • The oc client tool is installed and it is connected to the OCP cluster in which Fuse Online is installed.
  • You have permission to install Fuse Online in the project for which you want to enable discovery of APIs.

Procedure

  1. Log in to OpenShift with an account that has permission to install Fuse Online. For example:

    oc login -u developer -p developer

  2. Switch to an OpenShift project in which Fuse Online is running. You are enabling discovery for only this project. For example:

    oc project my-fuse-online-project

  3. Edit the syndesis custom resource:

    1. Invoke the following command, which typically opens the resource in an editor:

      oc edit syndesis

    2. Edit the resource by setting managementUrlFor3scale to the URL for your 3scale user interface. The result looks like this:

      spec:
        components:
          server:
            features:
              managementUrlFor3scale: https://3scale-admin.apps.mycluster.com
    3. Save the resource.
  4. Optional. To confirm that discovery is turned on for the project that you switched to, invoke the following command:

    oc describe dc/syndesis-server

    When discovery is turned on, the output from this command shows that the OPENSHIFT_MANAGEMENT_URL_FOR3SCALE environment variable is set to the URL that you specified in the custom resource.

Results

This change to the syndesis custom resource triggers syndesis-operator, which is responsible for installing Fuse Online, to redeploy syndesis-server. In the OpenShift project that you switched to, the new default behavior is that APIs are exposed for discovery in 3scale.

Do not edit the syndesis-server DeploymentConfig object to set the OPENSHIFT_MANAGEMENT_URL_FOR3SCALE environment variable. This does not work because syndesis-operator reverts your change. The syndesis-operator ensures that Fuse Online is deployed only and always according to the syndesis custom resource.

2.4. Configuring Fuse Online to disable 3scale discovery of APIs

If you followed the procedure described in Configuring Fuse Online to enable 3scale discovery of APIs, each API provider integration creator can choose whether that integration’s API is discoverable. At some point, you might want to reconfigure the default behavior, which is that integration APIs are not discoverable in 3scale, For example, you might want to edit and test an API provider integration in Fuse Online. To do this, update the Fuse Online syndesis custom resource so that the line that specifies the managementUrlFor3scale key and value is commented out. This disables discovery by 3scale. Then republish any API provider integrations that were published with discoverable APIs.

Prerequisites

  • Fuse Online is installed on OCP on-site.
  • You have permission to install Fuse Online in the project in which you want to disable discovery.
  • The oc client tool is installed and it is connected to the OCP cluster in which Fuse Online is installed.
  • 3scale discovery was enabled in an OpenShift project as described in Configuring Fuse Online to enable 3scale discovery of APIs.

Procedure

  1. Log in to OpenShift with an account that has permission to install Fuse Online. For example:

    oc login -u developer -p developer

  2. Switch to an OpenShift project in which 3scale discovery was enabled. For example:

    oc project my-fuse-online-project

  3. Edit the syndesis custom resource:

    1. Invoke the following command, which typically opens the resource in an editor:

      oc edit syndesis

    2. Edit the resource by inserting a hash sign (#) at the beginning of the line that specifies the managementUrlFor3scale key and value. This makes the line a comment, which disables discovery. The result should look like this:

      spec:
        components:
          server:
            features:
            #  managementUrlFor3scale: https://3scale-admin.apps.mycluster.com
    3. Save the resource.

      This updates the syndesis custom resource. The update removes the OPENSHIFT_MANAGEMENT_URL_FOR3SCALE environment variable. This change to the syndesis custom resource triggers syndesis-operator, which is responsible for installing Fuse Online, to redeploy syndesis-server. The new default behavior is that APIs are no longer exposed for discovery in 3scale.

    Do not edit the syndesis-server DeploymentConfig object to remove the setting of the OPENSHIFT_MANAGEMENT_URL_FOR3SCALE environment variable. This does not work because syndesis-operator reverts your change. The syndesis-operator ensures that Fuse Online is deployed only and always according to the syndesis custom resource.

  4. Republish any API provider integration that had discovery enabled and that was created in the project in which you just disabled discovery.

    In other words, you do not need to republish an API provider integration if you disabled discovery of that integration’s API while discovery was enabled for the project in which the API provider integration was created.

Results

APIs for API provider integrations that were created in the relevant OpenShift project are no longer discoverable in 3scale.

When Fuse Online publishes (or republishes) an API provider integration that is in the relevant project, Fuse Online provides an external URL for invoking the API provider integration operations.

2.5. Adding a sample app to a Fuse Online environment running on OCP

To help new users learn how to create integrations with Fuse Online, you can add a sample app to your Fuse Online environment. The ToDo app enables users to confirm that the AMQ to REST API sample integration works as expected.

To configure Fuse Online to have the ToDo app before you install Fuse Online, see Descriptions of custom resource attributes that configure Fuse Online.

Alternatively, rather than adding the ToDo app to a Fuse Online environment, any user can request a Fuse Online evaluation environment, which contains the sample app. The new user can then create sample integrations by following instructions in Fuse Online Sample Integration Tutorials.

Prerequisites

  • Fuse Online is installed and running on OCP on-site.
  • The oc client tool is installed and it is connected to the OCP cluster in which Fuse Online is installed.
  • A user with cluster administration permissions gave you permission to install Fuse Online in any project that you have permission to access in the cluster.
  • You have a Red Hat developer account for which you know your user name and password. The installation script prompts you for these credentials so it can authenticate you against https://developers.redhat.com. For details about creating an account, see Accessing and Configuring the Red Hat Registry.

Procedure

  1. Log in to OpenShift with an account that has permission to install Fuse Online. For example:

    oc login -u developer -p developer

  2. Switch to the project in which Fuse Online is running. For example:

    oc project my-fuse-online-project

  3. Edit the syndesis custom resource:

    1. Invoke the following command, which typically opens the resource in an editor:

      oc edit syndesis

    2. Ensure that the following lines are in the resource. Edit as needed.

      spec:
        addons:
          todo:
            enabled: true
    3. Save the resource.

      Saving this change to the syndesis custom resource triggers syndesis-operator to create a new todo pod.