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:
- Section 2.1, “Fuse Online configuration changes allowed after installation”
- Section 2.2, “General procedure for changing Fuse Online configuration”.
- Section 2.3, “Configuring Fuse Online to enable 3scale discovery of APIs”
- Section 2.4, “Configuring Fuse Online to disable 3scale discovery of APIs”
- Section 2.5, “Adding a sample app to a Fuse Online environment running on OCP”
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.
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.
Feature/Setting | Effect of changing | Information |
---|---|---|
3scale discovery |
Redploys | |
Backups |
Adds a backup job to | |
Data virtualization |
Creates a new | Descriptions of custom resource attributes that configure Fuse Online |
Monitoring | Installs new OpenShift resources | |
Public Fuse Online REST API endpoints |
Creates | Exposing Fuse Online public REST APIs for use by external tools |
Sample Todo app for testing integrations |
Creates new | Adding a sample app to a Fuse Online environment running on OCP |
External Maven repository specifications |
Redeploys | 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 |
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
Log in to OpenShift with an account that has permission to install Fuse Online. For example:
oc login -u developer -p developer
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
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 thesyndesis_app_backup.yml
file:oc get syndesis app -o yaml > syndesis_app_backup.yml
Invoke the following command to open the syndesis custom resource in an editor:
oc edit syndesis
-
Edit the
syndesis
custom resource as needed. - Save the resource.
Wait two or three minutes, and then confirm that
syndesis-operator
was able to use your updates to thesyndesis
custom resource:Invoke the following command to display the content of the
syndesis
custom resource:oc describe syndesis/app
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 isRunning
. - 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:
- In the Fuse Online console, in the left panel, click Data.
- 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
Log in to OpenShift with an account that has permission to install Fuse Online. For example:
oc login -u developer -p developer
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
Edit the
syndesis
custom resource:Invoke the following command, which typically opens the resource in an editor:
oc edit syndesis
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
- Save the resource.
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
Log in to OpenShift with an account that has permission to install Fuse Online. For example:
oc login -u developer -p developer
Switch to an OpenShift project in which 3scale discovery was enabled. For example:
oc project my-fuse-online-project
Edit the
syndesis
custom resource:Invoke the following command, which typically opens the resource in an editor:
oc edit syndesis
Edit the resource by inserting a hash sign (
#
) at the beginning of the line that specifies themanagementUrlFor3scale
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
Save the resource.
This updates the
syndesis
custom resource. The update removes theOPENSHIFT_MANAGEMENT_URL_FOR3SCALE
environment variable. This change to thesyndesis
custom resource triggerssyndesis-operator
, which is responsible for installing Fuse Online, to redeploysyndesis-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 theOPENSHIFT_MANAGEMENT_URL_FOR3SCALE
environment variable. This does not work becausesyndesis-operator
reverts your change. Thesyndesis-operator
ensures that Fuse Online is deployed only and always according to thesyndesis
custom resource.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
Log in to OpenShift with an account that has permission to install Fuse Online. For example:
oc login -u developer -p developer
Switch to the project in which Fuse Online is running. For example:
oc project my-fuse-online-project
Edit the
syndesis
custom resource:Invoke the following command, which typically opens the resource in an editor:
oc edit syndesis
Ensure that the following lines are in the resource. Edit as needed.
spec: addons: todo: enabled: true
Save the resource.
Saving this change to the
syndesis
custom resource triggerssyndesis-operator
to create a newtodo
pod.
Next steps
Use the Todo app by Implementing the AMQ to REST API sample integration.