Release Notes for Red Hat Fuse 7.11
What's new in Red Hat Fuse
Abstract
Making open source more inclusive Copy linkLink copied to clipboard!
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.
Chapter 1. Fuse 7.11 Product Overview Copy linkLink copied to clipboard!
1.1. Fuse distributions Copy linkLink copied to clipboard!
Fuse 7.11 is provided in the form of three different distributions, as follows:
- Fuse standalone
The classic distribution of Fuse, supported on multiple operating systems. This distribution is supported for the following container types:
- Apache Karaf
- JBoss Enterprise Application Platform (EAP)
- Spring Boot
- Fuse on OpenShift
The distribution of Fuse for running integration applications on OpenShift (supported on the Red Hat Enterprise Linux operating system). In this case, the supported container types are provided in the form of docker-formatted container images:
- Java image (for Spring Boot)
- Apache Karaf image
- JBoss EAP image
- Fuse Online
The distribution of Fuse for non-expert integrators with a simplified workflow accessed through a browser based UI. This distribution is available for the following kinds of deployment:
- On an OpenShift Dedicated (OSD) cluster.
- For installation on an on-premises OpenShift cluster
1.2. New features Copy linkLink copied to clipboard!
Fuse 7.11 includes several major component upgrades and a large selection of new features. For details, consult the new features sections for each of the Fuse distributions:
1.3. Fuse 7.11.1 Notes Copy linkLink copied to clipboard!
For Fuse on OpenShift 7.11.1, the BASEURL for image streams is https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/.
For Fuse Online, to upgrade from Fuse 7.10 to 7.11.1, follow the instructions in Section 2.4, “Upgrading from Fuse Online 7.10.x to 7.11.x requires manual upgrade steps”.
For Fuse standalone, set the 7.11.1 fuse.version property to the corresponding BOM version as listed in Section 4.4.1, “BOM File for Fuse 7.11.1”.
See also Section 8.5, “Bugs resolved in Fuse 7.11 and 7.11.1”.
1.4. Important Notes Copy linkLink copied to clipboard!
- CVE-2020-8908 guava
- A temp directory creation vulnerability exist in Guava versions prior to 30.0. We recommend updating Guava to version 30.0 or later, or update to Java 7 or later, or to explicitly change the permissions after the creation of the directory if neither are possible.
- Red Hat CodeReady studio is scheduled for sunset
- Red Hat CodeReady studio is scheduled for sunset. JBoss Tools(community) is the succeeding toolkit.
1.5. Supported Configurations Copy linkLink copied to clipboard!
For running Fuse in Apache Karaf, we recommend OpenJDK 8u282 or OpenJDK 8u302. Do not use OpenJDK 8u292, which has a known issue affecting the credential store (see ENTESB-16417). OracleJDK 1.8.0_291 is also affected by this issue.
For information about supported configurations, standards, and components in version 7.11, see the following Customer Portal articles:
Chapter 2. Fuse Online Copy linkLink copied to clipboard!
Fuse Online provides a web browser interface that lets a business expert integrate two or more different applications or services without writing code. It also provides features that allow the addition of code if it is needed for complex use cases.
Fuse Online runs an integration on OpenShift as a Spring Boot application that uses Apache Camel.
2.1. About Fuse Online distributions Copy linkLink copied to clipboard!
Fuse Online is Red Hat’s web-based integration platform. Syndesis is the open source project for Fuse Online. Fuse Online runs in these OpenShift environments:
| Host Environment | Installation |
| OpenShift Dedicated | Red Hat installs and provisions Fuse Online on Red Hat infrastructure. |
| OpenShift Container Platform | Customer installs and manages. |
2.2. New features in Fuse Online 7.11 Copy linkLink copied to clipboard!
These features are new in Fuse Online 7.11:
Support for connecting to Red Hat Managed Kafka
To support connecting to Red Hat Managed Kafka, the Kafka Message Broker connector includes the following fields:
- Security Protocol
- SASL Mechanism
- Username
- Password
- SASL Login Callback Handler Class
OAuth Token Endpoint URI
For more information, see Chapter 15, "Connecting to Kafka" in Connecting Fuse Online to Applications and Services.
Integration labels
When you save an integration, you can apply one or more labels to it. A label is a key-value pair tag that you can apply to an integration (or other OpenShift resource) for later filtering and selecting in OpenShift. For example, an OpenShift admin user can filter the list of running pods or deployments by label.
Integration environment variables
Optionally, when you save an integration, you can set one or more environment variables that Fuse Online applies to the integration Pod. You can use these environment variables to set Spring Boot configuration options, for example, to set
SERVER_MAX_HTTP_HEADER_SIZE. Existing environment variables set manually are preserved.Note that setting these environment variables in Fuse Online when you save an integration does not change or impact any other environment settings set manually, for example, through the OpenShift web console interface.
Maven mirror setting
You can specify the Maven repository that you want Fuse Online to use for accessing Maven artifacts when it builds integrations. In the Syndesis custom resource, specify the Maven repository as the value of the
components:server:features:maven:mirrorsetting.
2.3. Changes in Fuse Online 7.11 Copy linkLink copied to clipboard!
Fuse Online 7.11 changes Fuse Online 7.10 features as follows:
To install the AMQ Broker, use the
todo addonoptionIn previous releases, the AMQ Broker was installed with Fuse Online by default. Starting with Fuse Online 7.11, if you want to install the AMQ Broker, set the Fuse Online
todo addonoption totrue. This option also enables the sampleTodoapp, the sample PostgreSQL database, and connector for testing integrations. For more information about setting thetodo addonoption, see Adding sample data to a Fuse environment running on OCP in Installing and Operating Fuse Online on OpenShift Container Platform.Data Mapper supports CSV data
For any Fuse Online connector that has an action for which you can define a data shape, you now have the option to specify a CSV instance (in addition to the options to specify JSON schema, JSON instance, XML schema, or XML instance). For example, in a Webhook connection, you can specify a CSV file as a data output type for an action.
2.4. Upgrading from Fuse Online 7.10.x to 7.11.x requires manual upgrade steps Copy linkLink copied to clipboard!
If you installed Fuse Online 7.10.x and want to upgrade to Fuse Online 7.11.x.x, you must manually upgrade to Fuse Online 7.11.x.0.
- In the Administrator perspective of the OpenShift Container Platform web console, navigate to Operators > Installed Operators.
- Click the Red Hat Integration Fuse Online 7.10.2 Operator.
- Click the Subscription tab.
Verify that Update approval is set to Manual:
- If Update approval is set to Manual, skip to the next step.
If Update approval is set to Automatic:
- Click Automatic.
- In the Change Update Approval Strategy dialog, select Manual and click Save.
- Under Update channel, click 7.10.2.
For the Change subscription update channel, select 7.11.x.
Note: The
latest,candidate, andstablechannels are Technology Preview features.- Under Upgrade status, click Upgrade available.
- Click Preview InstallPlan and then Approve.
Verify that the operator has fully completed the upgrade to Fuse Online 7.11.0:
- Navigate to the Operators > Installed Operators page and click Red Hat Integration Fuse Online. The Operator Details page opens.
-
Select the Syndesis tab. The status for the Fuse Online instance (the default name is app) initially shows
Installed(to indicate that Fuse Online 7.11.0 is installed). It then progresses through several phases (Installing,Starting, andInstalled). When it reaches theInstalledphase again, the upgrade to 7.11.0 is complete.
- Navigate back to the Operators > Installed Operators page, and then click Upgrade available for the Red Hat Integration Fuse Online operator.
- Click Preview InstallPlan and then Approve.
Verify that the operator has fully completed the upgrade to Fuse Online 7.11.x:
-
Navigate to Networking > Routes and click on the location link for
syndesisto open the Fuse Online web console. - In the upper right corner of the Fuse Online console, click the ? icon and then select About.
-
Verify that the About page includes
7_11_xin the version number.
-
Navigate to Networking > Routes and click on the location link for
2.5. Upgrading Fuse Online integrations Copy linkLink copied to clipboard!
To upgrade a Fuse Online environment that is running on OCP on-site, you must update Fuse Online by using the operator and then republish any running integrations as described in Upgrading Fuse Online.
On OCP 4.9, when you upgrade to 7.10 by using the operator, the following warning is displayed during the Fuse Online Operator upgrade process:
W1219 18:38:58.064578 1 warnings.go:70] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
This warning appears because clients (that Fuse Online uses for the Kubernetes/OpenShift API initialization code) access a deprecated Ingress version. This warning is not an indicator of complete use of deprecated APIs and there is no issue with upgrading to Fuse Online 7.10.
2.6. Important notes for Fuse Online Copy linkLink copied to clipboard!
Important notes for the Fuse 7.11 release of the Fuse Online distribution:
- Support for Fuse Online is now deprecated as Fuse 7 is now in the maintenance support. There will not be any future development for Fuse Online when Fuse 7 moves out of support.
- Installation of Fuse Online is no longer supported on OCP 3.11.
- Fuse Online no longer supports Camel K runtime or the KNative connector.
- When Fuse Online is installed and provisioned on Red Hat infrastructure, the account is limited to a specific number of integrations that can be running at one time. For details, see the pricing plan.
- An OpenAPI schema that you upload to Fuse Online might not define input/output types. When Fuse Online creates a custom API client from an OpenAPI schema that does not specify input/output types then it is not possible to create an integration that maps integration data to fields that the API client can process or from fields that the API client processed. If an integration requires data mapping to or from a custom API, then when you upload the OpenAPI schema, click Review/Edit to open API Designer, which is an API editing tool, and add input/output type specifications.
- Since Fuse 7.8, an OpenAPI document that you use for a custom API client connector or for an API provider integration cannot have cyclic schema references. For example, a JSON schema that specifies a request or response body cannot reference itself as a whole nor reference any part of itself through any number of intermediate schemas.
On OCP 4.9 (or later), the
application-monitoringproject no longer works. It is a prerequisite for monitoring Fuse Online integrations and infrastructure components with Prometheus and Grafana.To work around this issue, you can use the built-in monitoring stack (in the
openshift-monitoringnamespace) to use theopenshift-user-workload-monitoringfeature and thegrafana-operatorto use theops addonas described in the following Adding Fuse Online monitoring resources (Prometheus and Grafana) on OCP 4.9 (or later) procedure.
2.6.1. Adding Fuse Online monitoring resources (Prometheus and Grafana) on OCP 4.9 (or later) Copy linkLink copied to clipboard!
Prerequisites
- Fuse Online is installed and running on OCP 4.9 (or later) on-site.
-
The
occlient tool is installed and it is connected to the OCP cluster in which Fuse Online is installed. -
You have
adminaccess to the OCP cluster. Your Fuse Online installation is configured with the
ops addonenabled. If required, you can enable it with this command:oc patch syndesis/app --type=merge -p '{"spec": {"addons": {"ops": {"enabled": true}}}}'oc patch syndesis/app --type=merge -p '{"spec": {"addons": {"ops": {"enabled": true}}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Procedure
If there is an existing
openshift-monitoringconfiguration, skip to Step 2.Otherwise, create an
openshift-monitoringconfiguration, that sets the user workload monitoring option totrueand then skip to Step 3:Copy to Clipboard Copied! Toggle word wrap Toggle overflow If there is an existing
openshift-monitoringconfiguration:Check the existing
openshift-monitoringconfiguration to determine whether the user workload monitoring option is set to true:oc get -n openshift-monitoring cm/cluster-monitoring-config -ojsonpath='{.data.config\.yaml}'oc get -n openshift-monitoring cm/cluster-monitoring-config -ojsonpath='{.data.config\.yaml}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow If the result is
enableUserWorkload: true, the user workload monitoring option is set to true. Skip to Step 3.If the result shows any other configurations, continue to the next step to enable the monitoring of user workloads by editing the ConfigMap.
Open the ConfigMap file in an editor, for example:
oc -n openshift-monitoring edit cm/cluster-monitoring-config
oc -n openshift-monitoring edit cm/cluster-monitoring-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow Set enableUserWorkload to true. For example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the ConfigMap file.
Use the following command to watch the status of the pods in the
openshift-user-workload-monitoringnamespace:oc -n openshift-user-workload-monitoring get pods -w
oc -n openshift-user-workload-monitoring get pods -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow Wait until the status of the pods is Running, for example:
prometheus-operator-5d989f48fd-2qbzd 2/2 Running prometheus-user-workload-0 5/5 Running prometheus-user-workload-1 5/5 Running thanos-ruler-user-workload-0 3/3 Running thanos-ruler-user-workload-1 3/3 Running
prometheus-operator-5d989f48fd-2qbzd 2/2 Running prometheus-user-workload-0 5/5 Running prometheus-user-workload-1 5/5 Running thanos-ruler-user-workload-0 3/3 Running thanos-ruler-user-workload-1 3/3 RunningCopy to Clipboard Copied! Toggle word wrap Toggle overflow Verify that the Fuse Online alert rules are enabled in Prometheus:
Access the internal prometheus instance
oc port-forward -n openshift-user-workload-monitoring pod/prometheus-user-workload-0 9090
oc port-forward -n openshift-user-workload-monitoring pod/prometheus-user-workload-0 9090Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Open your browser to
localhost:9090 -
Select Status> Targets. You should see three
syndesisendpoints. -
Press CTRL-C to terminate the
port-forwardprocess.
-
From the OperatorHub, install the Grafana Operator 4.1.0 to a namespace of your choosing, for example, to the
grafana-middlewarenamespace. Add a cluster role and a cluster role binding to allow the
grafana-operatorto list nodes and namespaces:Download the cluster role YAML file from the
grafana-operatorwebsite:curl https://raw.githubusercontent.com/grafana-operator/grafana-operator/master/deploy/cluster_roles/cluster_role_grafana_operator.yaml > tmp_role.yaml
curl https://raw.githubusercontent.com/grafana-operator/grafana-operator/master/deploy/cluster_roles/cluster_role_grafana_operator.yaml > tmp_role.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Add cluster permission for the
grafana-operatorto read other namespaces and nodes:Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f tmp_role.yaml
oc apply -f tmp_role.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Enable the
grafana-operatorto read Grafana dashboards from other namespaces by using theDASHBOARD_NAMESPACES_ALLenvironment variable to limit the namespaces:oc -n grafana-middleware patch subs/grafana-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"DASHBOARD_NAMESPACES_ALL","value":"true"}]}}}'oc -n grafana-middleware patch subs/grafana-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"DASHBOARD_NAMESPACES_ALL","value":"true"}]}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Check that the
grafanapods are recreated:oc -n grafana-middleware get pods -w
oc -n grafana-middleware get pods -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow Optionally, view the
grafana-operatorlogs:oc -n grafana-middleware logs -f `oc -n grafana-middleware get pods -oname|grep grafana-operator-controller-manager` -c manager
oc -n grafana-middleware logs -f `oc -n grafana-middleware get pods -oname|grep grafana-operator-controller-manager` -c managerCopy to Clipboard Copied! Toggle word wrap Toggle overflow Add a Grafana custom resource to start a Grafana server pod, for example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Allow the
grafana-operatorto read monitoring information:oc -n grafana-middleware adm policy add-cluster-role-to-user cluster-monitoring-view -z grafana-serviceaccount
oc -n grafana-middleware adm policy add-cluster-role-to-user cluster-monitoring-view -z grafana-serviceaccountCopy to Clipboard Copied! Toggle word wrap Toggle overflow Add a
GrafanaDatasourceto querythanos-querier:Copy to Clipboard Copied! Toggle word wrap Toggle overflow View the grafana server log:
oc logs -f `oc get pods -l app=grafana -oname`
oc logs -f `oc get pods -l app=grafana -oname`Copy to Clipboard Copied! Toggle word wrap Toggle overflow Access the grafana URL and view the Fuse Online dashboards:
echo "https://"$(oc -n grafana-middleware get route/grafana-route -ojsonpath='{.spec.host}')echo "https://"$(oc -n grafana-middleware get route/grafana-route -ojsonpath='{.spec.host}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7. Obtaining technical support for Fuse Online Copy linkLink copied to clipboard!
To obtain technical support, in the Fuse Online console, in the left navigation panel, click Support. Use the Support page to download diagnostic information for all integrations or for one or more integrations that you choose. The page also provides a link for opening a support ticket and providing the diagnostic information that you downloaded.
2.8. Technology Preview features in Fuse Online Copy linkLink copied to clipboard!
This release includes the Technology Preview features that are listed below.
Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and 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, see Red Hat Technology Preview features support scope.
Fuse Online auditing
Fuse Online supports basic auditing for changes made by any user to the following Fuse Online components:
-
Connections - The
Nameand any other fields shown on the connector’s Details page in the Fuse Online web console. -
Connectors - The
Namefield. -
Integrations - The
Namefield.
-
Connections - The
Conditional expressions for mapping data fields
In the data mapper, you can specify a conditional expression and apply it to a data mapping. For example, a conditional expression can specify evaluation of a source field and how to populate the target field if the source field is empty. The limited set of expressions that you can specify are similar to Microsoft Excel expressions.
Document scope for user-defined properties in data mapper
In the data mapper, you can specify a scope for properties that you define for source and target mappings. In the Mapping Details panel, click Add (+) next to Properties. In the Create Property dialog. for the new Scope option, you can select the current message header, a message header from a previous step, or Camel Exchange Property for Camel-specific properties.
For a REST API client that uses OAuth, when you create an API client connector, you can change the default OAuth2 behavior of connections that you create from that connector. Fuse Online vendor extensions to the OpenAPI specification support the following:
- Providing client credentials as parameters.
- Obtaining a new access token based on HTTP response status codes.
Chapter 3. Fuse on OpenShift Copy linkLink copied to clipboard!
Fuse on OpenShift enables you to deploy Fuse applications on OpenShift Container Platform.
3.1. Supported version of OpenShift Copy linkLink copied to clipboard!
For details of the supported version (or versions) of OpenShift Container Platform to use with Fuse on OpenShift, see the Supported Configurations page.
3.2. Supported images Copy linkLink copied to clipboard!
Fuse on OpenShift provides the following Docker-formatted images:
| Image | Platform | Supported architectures |
|---|---|---|
|
| Spring Boot | AMD64 and Intel 64 (x86_64) |
|
| Spring Boot | AMD64 and Intel 64 (x86_64) |
|
| Spring Boot |
IBM Z and LinuxONE (s390x) |
|
| Apache Karaf | AMD64 and Intel 64 (x86_64) |
|
| Apache Karaf | AMD64 and Intel 64 (x86_64) |
|
| Red Hat JBoss Enterprise Application Platform | AMD64 and Intel 64 (x86_64) |
|
| Red Hat JBoss Enterprise Application Platform | AMD64 and Intel 64 (x86_64) |
|
| Fuse console |
AMD64 and Intel 64 (x86_64) |
|
| Fuse console operator |
AMD64 and Intel 64 (x86_64) |
|
| Apicurito REST application generator | AMD64 and Intel 64 (x86_64) |
|
| Apicurito REST API editor | AMD64 and Intel 64 (x86_64) |
|
| API Designer Operator | AMD64 and Intel 64 (x86_64) |
3.3. New features in Fuse 7.11 on OpenShift Copy linkLink copied to clipboard!
Fuse on OpenShift provides following new features in version 7.11:
Fuse Console performance tuning (OpenShift 4.x only)
You can tune the performance of the Fuse Console by setting any of the
clientBodyBufferSize,proxyBuffers, andsubrequestOutputBufferSizeenvironment variables.Note: This feature is not supported on OpenShift 3.11.
Support for JDK 11
Fuse 7.11 offers support for building the Fuse on OpenShift quickstarts using JDK 11.
Running quickstarts with
openshift-maven-pluginFuse 7.11 uses new
openshift-maven-pluginwhen building and running the Fuse on OpenShift quickstarts with Maven archtypes.Support for IBM Power Systems, IBM Z, and LinuxONE
Fuse 7.11 adds support for IBM Power Systems(ppc64le), IBM Z, and LinuxONE (s390x) on Red Hat OpenShift Container Platform 4.9 and later.
NoteIn Fuse 7.11, installing the Fuse on OpenShift imagestreams and templates on IBM Power Systems, IBM Z, and LinuxONE is not supported. Only the components that can be installed with Fuse on OpenShift Operators are supported on IBM Power Systems, IBM Z, and LinuxONE.
3.4. Important notes Copy linkLink copied to clipboard!
Important notes for the Fuse 7.11 release of the Fuse on OpenShift distribution:
- Support for Fuse 7.11 on OpenShift Container Platform (OCP) 4.9 or later
- Fuse 7.11 contains updates that enable it to work with OpenShift Container Platform (OCP) 4.9 or later. If you plan to upgrade to OCP 4.10, you must upgrade Fuse to version 7.11 before you upgrade OCP to version 4.10. Earlier versions of Fuse (prior to 7.10) do not support OCP 4.9 or later.
- Data Virtualization has been removed
- Data Virtualization is deprecated since Fuse 7.7 and has been removed from Fuse 7.8.
- Spring Boot 1 is has been removed
- Spring Boot 1 is deprecated since Fuse 7.7 and has been removed from Fuse 7.8. We recommend that you migrate your Spring Boot applications to Spring Boot 2, following the guidance in the Spring Boot 2.0 Migration Guide.
- Fabric8 Maven plugin is removed
- Fabric8 Maven plugin is completely removed from Fuse 7.10 and replaced with OpenShift Maven plugin since Fuse 7.10. Use OpenShift Maven plugin to build and deploy your applications.
- Running quickstarts with JDK11
- Use the correct JDK11 profile during the compile time if you want to use JDK11 based image at runtime. When building and deploying the quickstarts using JDK11, ensure that you have installed JDK11 on your build machine and then build your quickstarts using the correct JDK11 profile.
- Changes in spring-boot artifact Id
-
In Fuse 7.11, Spring Boot is upgraded to 2.5.13. In this new version
spring-cloud-starter-kubernetes-configartifact id is changed tospring-cloud-starter-kubernetes-client-config.
Quickstart Spring-Boot RHOSAK fails because of spring-boot upgrade
- The
eap-camel-jpaquickstart has been removed -
The
eap-camel-jpaquickstart has been removed from Fuse 7.8 due to an issue with a dependency. - Jolokia not externally accessible since Fuse 7.8
- Starting in Fuse 7.8, Jolokia default protocol is switched from HTTP to HTTPS.
- FIPS-enabled Jolokia agent becomes unavailable
- In OCP FIPS-enabled Jolokia agent becomes unavailable due to unsupported security encoding.
Chapter 4. Fuse Standalone Copy linkLink copied to clipboard!
4.1. Supported containers Copy linkLink copied to clipboard!
Fuse standalone 7.11 is supported on the following runtime containers:
- Spring Boot 2 (standalone)
- Apache Karaf
- Red Hat JBoss Enterprise Application Platform (JBoss EAP)
4.2. New features in Fuse 7.11 Copy linkLink copied to clipboard!
The main new features of Fuse standalone in version 7.11 are:
- Java 11 is supported for Apache Karaf
- Java 11 is now supported on the Apache Karaf runtime.
4.3. Technology Preview features Copy linkLink copied to clipboard!
The following features of Fuse standalone are Technology Preview only and are not supported in Fuse 7.11:
- Saga EIP
- The Saga Enterprise Integration Pattern (EIP) is a technology preview feature and features only the In-Memory Saga service (which is not suitable for a production environments). The LRA Saga service is not supported. For more details, see section Saga EIP of the "Apache Camel Development Guide".
4.3.1. Fuse Tooling support for Apache Camel Copy linkLink copied to clipboard!
Fuse Tooling provides a cross-platform, cross-IDE approach to Camel application development, with Apache Camel language support extensions or plugins for Visual Studio Code, Eclipse IDE, and Eclipse Che.
Visual Studio Code features
VS Code Apache Camel extensions are community features. They are not supported by Red Hat.
The Language Support for Apache Camel extension provides features for Camel URIs, such as the following:
For XML DSL and Java DSL:
- You can navigate to endpoints in the VS Code Outline panel and in the Go > Go to Symbol in File navigation panel.
- When you type, the editor provides code completion for Camel components, attributes, and the list of attribute values.
- When you hover over a Camel component, the editor shows a brief description of the component (from the Apache Camel component reference).
- As you edit the file, the editor performs an Apache Camel validation check on the Camel code.
- You can specify a specific Camel Catalog version by selecting File → Preferences → Settings → Apache Camel Tooling → Camel catalog version.
- You can use "Quick fix" features to address invalid enum values and unknown Camel URI component properties.
For XML DSL only:
- You can navigate to Camel contexts and routes in the VS Code Outline panel and in the Go > Go to Symbol in File navigation panel.
-
When you type, the editor provides code completion for referenced IDs of
direct,direct VM,VMandSEDAcomponents. -
You can find references for
directanddirect VMcomponents in all open Camel files.
For Properties:
- Completion for Camel component property
- Diagnostic
To access the Language Support for Apache Camel features, you add one or more extensions.
The Apache Camel Extension Pack installs the following VS Code extensions:
Optionally, you can install the extensions individually.
For more details, see the following readme files:
- Readme for Apache Camel Extension Pack
- Readme for Apache Camel Language Server Protocol for Visual Studio Code
- Readme for AtlasMap Data Transformation editor
Eclipse IDE features
The Language Support for Apache Camel Eclipse plug-in provides the following features for Camel URIs:
In the generic Eclipse text editor for both XML DSL and Java DSL:
- When you type, the editor provides code completion for Camel components, attributes, and the list of attribute values.
- When you hover over a Camel component, the editor shows a brief description of the component (from the Apache Camel component reference).
To access the Language Support for Apache Camel features, you install the Eclipse plug-in from the Eclipse Marketplace. For more details, see the readme file for Apache Camel Language Server Protocol for Eclipse IDE.
Eclipse Che features
The Language Support for Apache Camel plugin for Eclipse Che 7 provides features for Camel URIs in XML DSL and Java DSL.
- When you type, the editor provides code completion for Camel components, attributes, and the list of attribute values.
- When you hover over a Camel component, the editor shows a brief description of the component (from the Apache Camel component reference).
- When you save the file, the editor performs an Apache Camel validation check on the Camel code.
To activate this plugin for Eclipse Che, you can use the "Apache Camel based on Spring Boot" stack or edit your workspace configuration.
4.4. BOM files for Fuse 7.11 and Fuse 7.11.1 Copy linkLink copied to clipboard!
To configure your Maven projects to use the supported Fuse 7.11 or 7.11.1 artifacts, use the BOM versions documented in this section.
4.4.1. BOM File for Fuse 7.11.1 Copy linkLink copied to clipboard!
To upgrade your Fuse standalone applications to use the 7.11.1 dependencies, edit the Maven pom.xml and change the versions of the BOMs and Maven plugins listed in the following table:
| Container Type | Maven BOM or Plugin Artifact groupId/artifactId | Version for Fuse 7.11.1 |
|---|---|---|
| Spring Boot 2 |
|
|
|
|
| |
| Apache Karaf |
|
|
|
|
| |
| JBoss EAP |
|
|
For more details about using the BOM, see the Migration Guide.
4.4.2. BOM File for Fuse 7.11 Copy linkLink copied to clipboard!
To upgrade your Fuse standalone applications to use the 7.11 dependencies, edit the Maven pom.xml and change the versions of the BOMs and Maven plugins listed in the following table:
| Container Type | Maven BOM or Plugin Artifact groupId/artifactId | Version for Fuse 7.11 |
|---|---|---|
| Spring Boot 2 |
|
|
|
|
| |
| Apache Karaf |
|
|
|
|
| |
| JBoss EAP |
|
|
For more details about using the BOM, see the Migration Guide.
4.5. Important notes Copy linkLink copied to clipboard!
Important notes for the Fuse 7.11 release of the Fuse standalone distribution:
- Java 11 is supported for Apache Karaf
- The Fuse 7.11 release supports Java 11 on the Apache Karaf runtime.
- Support for Karaf runtimes and JBoss EAP is deprecated
- Support for Karaf runtimes and JBoss EAP is deprecated as Fuse 7 will move out of support with the release of Fuse 7.11.
- Creating a connection to MongoDB using the MongoClients factory
From Fuse 7.10 and later versions, use
com.mongodb.client.MongoClientinstead ofcom.mongodb.MongoClientto create a connection to MongoDB (note the extra .client sub-package in the full path).This affects any user applications that use
camel-mongodb, which will now need to create a connection bean as acom.mongodb.client.MongoClientinstance. Moreover, the methods exposed by this class are not exactly the same as the old class which could require more refactoring of user code.For example, create a connection to MongoDB as follows:
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClient;Copy to Clipboard Copied! Toggle word wrap Toggle overflow You can then create the MongoClient bean as shown in following example:
return MongoClients.create("mongodb://admin:password@192.168.99.102:32553");return MongoClients.create("mongodb://admin:password@192.168.99.102:32553");Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Chapter 5. Deprecated and Removed Features Copy linkLink copied to clipboard!
If you need any assistance or have any questions about the upcoming changes in Fuse 7, contact support@redhat.com.
5.1. Deprecated Copy linkLink copied to clipboard!
The following features are deprecated in Fuse 7.11 and may be removed in a future release:
- Support for Fuse Online is deprecated
- Support for Fuse Online is now deprecated as Fuse 7 is now in the maintenance support. There will not be any future development for Fuse Online when Fuse 7 moves out of support.
- Support for Karaf OSGi runtime and JBoss Enterprise Application Platform (EAP) is deprecated
- support for the Karaf OSGi runtime and for JBoss Enterprise Application Platform (EAP) will stop when Fuse 7 moves out of support on June 30, 2024. Camel will no longer be supported on Karaf OSGi or JBoss EAP when Fuse 7 moves out of support.
- OpenWire protocol is deprecated
- Since Fuse 7.10, use of the OpenWire protocol (which could be used to connect AMQ Broker instances) is deprecated. Note that the OpenWire protocol is also deprecated in AMQ Broker since AMQ Broker version 7.9.0.
wsdl2resttool is deprecated-
Since Fuse 7.10, the
wsdl2restcommand line tool is deprecated. The WSDL 2 Camel Rest DSL extension for VS Code is also deprecated. - Fuse Online install script for installation on OCP 4
- Since Fuse 7.8, the Fuse Online install script is deprecated for installing Fuse Online on OpenShift Container Platform (OCP) 4.x versions. On OCP 4.x versions, we recommend that you use the Fuse Online Operator.
- PHP, Python, and Ruby scripting languages are deprecated in Camel applications
- The PHP, Python, and Ruby scripting languages are deprecated in Camel applications since Fuse 7.4 and will be removed in a future release. The Camel community has deprecated PHP, Python, and Ruby since Camel 2.19 (see CAMEL-10973). This applies to all Fuse containers types: Apache Karaf, JBoss EAP, and Spring Boot.
- HP-UX OS is deprecated
- The HP-UX operating system is deprecated since Fuse 7.2 and support for this operating system could be removed in a future release of Fuse. In particular, note that the JBoss EAP 7.2 container has already dropped support for HP-UX and, consequently, any future version of Fuse on JBoss EAP that runs on JBoss EAP 7.2 will not be supported on HP-UX.
- Camel MQTT component is deprecated
- The Camel MQTT component is deprecated in Fuse 7.0 and will be removed in a future release of Fuse. You can use the Camel Paho component instead, which supports the MQTT messaging protocol using the popular Eclipse Paho library.
- Camel LevelDB component is deprecated on all operating systems except for Linux
-
Since Fuse 6.3, the Camel LevelDB (
camel-leveldb) component is deprecated on all operating systems except for Red Hat Enterprise Linux. In the future, the Camel LevelDB component will be supported only on Red Hat Enterprise Linux. - BatchMessage class from the Camel SJMS component is deprecated
- The BatchMessage class from the Camel SJMS component is deprecated in Fuse 7 (deprecated in Apache Camel since version 2.17) and may be removed from a future version of Apache Camel and Fuse.
5.2. Removed in Fuse 7.11 Copy linkLink copied to clipboard!
- Installation of Fuse Online on OCP 3.11
- Installing Fuse online environment 7.11 on OCP 3.11 is not supported. The Fuse Online install script is completely removed for installing Fuse Online on OCP 3.11.
- RSA/SHA-1 Ciphers Not Supported by Default by camel-ftp and camel-ssh
From Fuse 7.11, the
camel-ftpandcamel-sshcomponents will no longer support TLS with RSA/SHA-1 cipher by default. Other Camel components that depend on the JSch library may also be affected.For more information, see this Red Hat Customer Portal Article.
5.3. Removed in Fuse 7.10 Copy linkLink copied to clipboard!
- fabric8-maven-plugin
-
The
fabric8-maven-pluginhas been completely removed from Fuse 7.10. We recommend that you use theopenshift-maven-plugininstead for building and deploying Maven projects in Fuse on OpenShift. The plugin is maintained by Eclipse JKube, which provides extensive documentation for the plugin.
5.4. Removed in Fuse 7.8 Copy linkLink copied to clipboard!
- Spring Boot 1
- Spring Boot 1 is no longer supported in Fuse 7.8. We recommend that you migrate your Spring Boot applications to Spring Boot 2, following the guidance in the Spring Boot 2.0 Migration Guide.
- Camel K runtime in Fuse Online
- Camel K runtime in Fuse Online (technology preview feature) is no longer supported in Fuse 7.8.
- Camel XmlJson component has been removed in 7.8
-
The Camel XmlJson (
camel-xmljson) component has been removed in Fuse 7.8.
5.5. Removed in Fuse 7.5 Copy linkLink copied to clipboard!
The following features were removed in Fuse 7.5:
- Support for integration with MS SQL Server 2014 has been dropped in 7.5
- MS SQL Server 2014 is no longer tested and supported for integrations with Fuse 7.5. We recommend that you use one of the more recent versions of MS SQL Server instead — for example, MS SQL Server 2016 or 2017.
- Camel LinkedIn component has been removed in 7.5
The
camel-linkedincomponent has been removed in Fuse 7.5.ImportantAlthough removed from Fuse 7.5, the
camel-linkedincomponent is likely to be restored in a later release.
5.6. Removed in Fuse 7.3 Copy linkLink copied to clipboard!
The following features were removed in Fuse 7.3:
- Camel YQL component has been removed in 7.3
- The Camel YQL component has been removed in Fuse 7.3.
- OpenJPA and OpenJPA3 Karaf features have been removed in 7.3
-
The
openjpafeature and theopenjpa3feature have been removed from the Apache Karaf container in 7.3. For a Java Persistence Architecture (JPA) implementation, use the supportedhibernatefeature instead. - camel-jetty Karaf feature has been removed in 7.3
-
The
camel-jettyfeature has been removed from the Apache Karaf container in 7.3, because it uses Jetty 8. Use thecamel-jetty9feature instead. - pax-jms-oracleaq Karaf feature has been removed in 7.3
-
The
pax-jms-oracleaqfeature has been removed from the Apache Karaf container in 7.3, because it requires 3rd party, non-free Oracle AQ libraries. - camel-elasticsearch component has been removed from Fuse on EAP (Wildfly Camel) in 7.3
-
The
camel-elasticsearchcomponent has been removed from Fuse on EAP (Wildfly Camel) in 7.3. Use the newercamel-elasticsearch-restcomponent instead.
5.7. Removed in Fuse 7.2 Copy linkLink copied to clipboard!
The following features were removed in Fuse 7.2:
- Camel XMLRPC component has been removed in 7.2
- The Camel XMLRPC component has been removed in Fuse 7.2.
- Camel Netty component has been removed in 7.2
- The Camel Netty component has been removed in Fuse 7.2. It is recommended that you use the Camel Netty4 component instead.
5.8. Removed in Fuse 7.0 Copy linkLink copied to clipboard!
The following features were removed in Fuse 7.0:
- Support for Red Hat JBoss Operations Network (JON) has been removed in 7.0
- Since Fuse 7.0, Fuse on Karaf no longer supports JON and no longer provides JON plugins for integrating with the JON runtime.
- Embedded ActiveMQ broker has been removed in 7.0
- Since Fuse 7.0, Fuse on Karaf no longer provides an embedded ActiveMQ Broker. Customers should connect to a supported remote broker directly. For more information on our supported brokers, refer to the "Supported Messaging Providers" section of the Red Hat Fuse Supported Configurations page.
- Fuse integration pack has been removed in 7.0
- Support for running rules and processes is provided by components shipped with Red Hat JBoss BPM Suite and Red Hat JBoss BRMS.
- Karaf console commands for child container administration have been removed in 7.0
Since Fuse 7.0, the Karaf console commands for child container administration are not supported. That is, the console commands prefixed by
instance:(Karaf 4.x syntax) and the console commands prefixed byadmin:(Karaf 2.x syntax) are not supported.NoteIn the Fuse 7.0 GA release, the
instance:commands are not removed. This is a known issue.- SwitchYard has been removed in 7.0
- Since Fuse 7.0, SwitchYard has been removed, and you should use Apache Camel directly instead. For more detailed information, see the knowledge base article, SwitchYard Support Plan After Releasing Fuse 7.
- Support for Fabric8 1.x has been removed in 7.0
Since Fuse 7.0, Fabric8 v1 has been replaced by Fuse on OpenShift (previously, Fuse Integration Services), which includes components of Fabric8 v2 technology. Fuse on OpenShift provides a set of tools and Docker-formatted images that enable development, deployment, and management of integration microservices within OpenShift.
Although Fuse on OpenShift has a different architecture, it fulfills the same provisioning, automation, central configuration and management requirements that Fabric8 v1 provides. For more information, see Fuse on OpenShift Guide.
- Camel components for Google App Engine have been removed in 7.0
-
The Camel components for Google App Engine (
camel-gae) have been removed in Fuse 7.0. - Camel jBPM component has been removed in 7.0
-
The Camel jBPM component (
camel-jbpm) has been removed in Fuse 7.0. - Tanuki based wrapper for installing Fuse as a service has been removed in 7.0
-
The Tanuki based wrapper scripts — generated using the
wrapper:installKaraf console command — for installing Fuse as a service have been removed in Fuse 7.0. To install the Apache Karaf container as a service, it is recommended that you use the newkaraf-service-*.shscripts from thebin/contribdirectory instead. - Smooks has been removed in 7.0
- Since Fuse 7.0, the Smooks component for SwitchYard has been removed.
- BPEL has been removed in 7.0
- BPEL (based on the Riftsaw project) has been removed from Fuse 7.0. If you are currently using BPEL, it is recommended that you consider migrating to the Red Hat JBoss BPM Suite.
- Design Time Governance has been removed in 7.0
- The Design Time Governance component has been removed in 7.0.
- Runtime Governance has been removed in 7.0
- Since Fuse 7.0, the Runtime Governance (RTGov) component has been removed.
- S-RAMP has been removed in 7.0
- The SOA Repository Artifact Model and Protocol (S-RAMP) component has been removed in Fuse 7.0.
- bin/patch script has been removed in 7.0
-
The
bin/patchscript (bin\patch.baton Windows O/S) has been removed in a Fuse 7.0. - Spring Dynamic Modules (Spring-DM) is not supported in 7.0
- Spring-DM (which integrates Spring XML with the OSGi service layer in Apache Karaf) is not supported in Fuse 7.0 and you should use the Blueprint framework instead. Using Blueprint XML does not prevent you from using the Java libraries from the Spring framework: the latest version of Spring is compatible with Blueprint.
- Apache OpenJPA is not supported in 7.0
- The Apache OpenJPA implementation of the Java Persistence API (JPA) is not supported in Fuse7.0. It is recommended that you use the Hibernate implementation instead.
5.9. Replaced in Fuse 7.0 Copy linkLink copied to clipboard!
The following features were replaced in Fuse 7.0:
- Geronimo transaction manager has been replaced in 7.0
- In Fuse 7.0, the Geronimo transaction manager in the Karaf container has been replaced by Narayana.
- Jetty container has been replaced in 7.0
- In Fuse 7.0, the Jetty container has been replaced by Undertow. Initially, this change applies only to internal use of the Jetty container (for example, in the Karaf container). Other Jetty components might be removed in a future release.
Chapter 6. Unsupported Features in Fuse 7.11 Copy linkLink copied to clipboard!
The following features are unsupported in Red Hat Fuse 7.11.
camel-leveldbcomponent is not supported for Fuse on the IBM PowerPC and Z platforms- When Fuse is installed on the IBM PowerPC or IBM Z platforms, the Camel LevelDB component is not supported.
- Installing and running Fuse Online is not supported on OpenShift Container Platform (OCP) 3.11
- Installing and running Fuse Online is not supported on OpenShift Container Platform (OCP) 3.11, since Fabric8 Maven Plugin is deprecated in favor of OpenShift Maven Plugin.
- Installing Fuse Console using the Operator is not supported on OCP 3.11
- Installing Fuse Console using the Operator is not supported and does not work on OpenShift Container Platform (OCP) 3.11. The recommended way to install Fuse Console on OCP 3.11 is to use templates.
- Apache Karaf EclipseLink feature is unsupported
- The Apache Karaf EclipseLink feature is not supported in Fuse, because this feature depends on JPA 2.2, while the Karaf container for Fuse 7.2 is aligned with JPA 2.1.
- Apache Aries Blueprint Web module is unsupported
- The Apache Aries Blueprint Web module is not supported in Fuse. The presence of an example featuring Blueprint Web in the community edition of Apache Camel (provided as a separate download) does not imply that this feature is supported in Fuse.
- The PHP scripting language is not supported in Apache Camel on Apache Karaf
- The PHP scripting language is not supported in Camel applications on the Apache Karaf container, because there is no OSGi bundle available for PHP. The PHP scripting language is deprecated in Camel applications on the JBoss EAP container and on the Spring Boot container.
- The Python scripting language is not supported in Apache Camel on Apache Karaf
- The Python scripting language is not supported in Camel applications on the Apache Karaf container, because there is no OSGi bundle available for Python. The Python scripting language is deprecated in Camel applications on the JBoss EAP container and on the Spring Boot container.
Chapter 7. Known Issues Copy linkLink copied to clipboard!
The following subsections describe the known issues in version 7.11.
7.1. CVE Security Vulnerabilities Copy linkLink copied to clipboard!
As a middleware integration platform, Fuse can potentially be integrated with a large number of third-party components. It is not always possible to exclude the possibility that some third-party dependencies of Fuse could have security vulnerabilities. This section documents known common vulnerabilities and exposures (CVEs) related to security that affect third-party dependencies of Fuse 7.11.
- CVE-2020-13936 CVE-2020-13936 velocity: arbitrary code execution when attacker is able to modify templates
An attacker that is able to modify Velocity templates may execute arbitrary Java code or run arbitrary system commands with the same privileges as the account running the Servlet container. This applies to applications that allow untrusted users to upload/modify velocity templates running Apache Velocity Engine versions up to 2.2.
Fuse 7.9 (and later) has modified its dependencies to ensure that it uses only the Velocity version (that is, version 2.3) that has been fixed to protect against this security vulnerability. If your application code has any explicit dependencies on the Apache Velocity component, we recommend that you upgrade these dependencies to use the fixed version.
- ENTESB-8113 CVE-2018-10237 guava: Unbounded memory allocation in AtomicDoubleArray and CompoundOrdering classes allow remote attackers to cause a denial of service [fuse-7.0.0]
Google Guava versions 11.0 through 24.1 are vulnerable to unbounded memory allocation in the
AtomicDoubleArrayclass (when serialized with Java serialization) and theCompoundOrderingclass (when serialized with GWT serialization). An attacker could exploit applications that use Guava and deserialize untrusted data to cause a denial of service — for more details, see CVE-2018-10237.To avoid this security vulnerability, we recommend that you:
-
Never deserialize an
AtomicDoubleArrayinstance or aCompoundOrderinginstance from an unknown source. - Avoid using Guava versions 24 and earlier (although in some cases it is not possible to avoid the earlier versions).
To make it easier to avoid the earlier (vulnerable) versions of Guava, Fuse 7.7 (and later) has configured its Maven Bill of Materials (BOM) files for all containers to select Guava 27 by default. This means that if you incorporate a Fuse BOM into your Maven project (by adding a dependency on the BOM to the
dependencyManagementsection of your POM file) and then specify a dependency on the Guava artifact without specifying an explicit version, the Guava version will default to the version specified in the BOM, which is version 27 for the Fuse 7.7 BOMs.But there is at least one common use case involving the Apache Karaf (OSGi) container, where it is not possible to avoid using a vulnerable version of Guava: if your OSGi application uses Guava and Swagger together, you are obliged to use Guava 20, because that is the version required by Swagger. Here we explain why this is the case and how to configure your POM file to revert the earlier (vulnerable) Guava 20 library. First, you need to understand the concept of a double OSGi chain.
Double OSGi chain
Bundles in the OSGi runtime are wired together using package constraints (package name + optional version/range) — imports and exports. Each bundle can have multiple imports and usually those imports wire a given bundle with multiple bundles. For example:
BundleA +-- BundleB | +-- BundleCa +-- BundleCb
BundleA +-- BundleB | +-- BundleCa +-- BundleCbCopy to Clipboard Copied! Toggle word wrap Toggle overflow Where
BundleAdepends onBundleBandBundleCb, whileBundleBdepends onBundleCa.BundleCaandBundleCbshould be the same bundle, if the export the same packages, but due to version (range) constraints,BundleBuses (wires to) a different revision/version ofBundleCthanBundleA.Rewriting the preceding diagram to reflect what happens when you include dependencies on both Guava and Swagger in an application:
org.jboss.qe.cxf.rs.swagger-deployment +-- Guava 27 +-- Swagger 1.5 +-- reflections 0.9.11 +-- Guava 20org.jboss.qe.cxf.rs.swagger-deployment +-- Guava 27 +-- Swagger 1.5 +-- reflections 0.9.11 +-- Guava 20Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you try to deploy this bundle configuration, you get the error,
org.osgi.framework.BundleException: Uses constraint violation.Reverting to Guava 20
If your project uses both Guava and Swagger libraries (directly or indirectly), you should configure the
maven-bundle-pluginto use an explicit version range (or no range at all) for the Guava bundle import, as follows:<Import-Package> com.google.common.base;version="[20.0,21.0)", com.google.common.collect;version="[20.0,21.0)", com.google.common.io;version="[20.0,21.0)" </Import-Package><Import-Package> com.google.common.base;version="[20.0,21.0)", com.google.common.collect;version="[20.0,21.0)", com.google.common.io;version="[20.0,21.0)" </Import-Package>Copy to Clipboard Copied! Toggle word wrap Toggle overflow This configuration forces your OSGi application to revert to the (vulnerable) Guava 20 library. It is therefore particularly important to avoid deserializing
AtomicDoubleArrayinstances in this case.-
Never deserialize an
- CVE-2017-12629 Solr/Lucene -security bypass to access sensitive data - CVE-2017-12629
Apache Solr is a popular open source search platform that uses the Apache Lucene search engine. If your application uses a combination of Apache Solr with Apache Lucene (for example, when using the Camel Solr component), it could be affected by this security vulnerability. Please consult the linked security advisory for more details of this vulnerability and the mitigation steps to take.
NoteThe Fuse runtime does not use Apache Solr or Apache Lucene directly. The security risk only arises, if you are using Apache Solr and Apache Lucene together in the context of an integration application (for example, when using the Camel Solr component).
- CVE-2021-30129 mina-sshd-core: Memory leak denial of service in Apache Mina SSHD Server
A vulnerability in sshd-core of Apache Mina SSHD allows an attacker to overflow the server causing an OutOfMemory error. This issue affects the SFTP and port forwarding features of Apache Mina SSHD version 2.0.0 and later versions. It was addressed in Apache Mina SSHD 2.7.0
This vulnerability in Apache Mina SSHD was addressed by SSHD-1004, which deprecates certain cryptographic algorithms that have this vulnerability. In Fuse 7.10 on Karaf and Fuse 7.10 on JBoss EAP, these deprecated algorithms are still supported (for reasons of backwards compatibility). However, if you are using one of these deprecated algorithms, it is strongly recommended that you refactor your application code to use a different algorithm instead.
In Fuse 7.10, the default cipher algorithms have changed as follows.
Expand Fuse 7.9 Fuse 7.10 Deprecated in Fuse 7.10? aes128-ctraes128-ctraes192-ctraes256-ctraes128-gcm@openssh.comaes256-gcm@openssh.comarcfour128arcfour128yes
aes128-cbcaes128-cbcaes192-cbcaes256-cbc3des-cbc3des-cbcyes
blowfish-cbcblowfish-cbcyes
In Fuse 7.10, the default key exchange algorithms have changed as follows.
Expand Fuse 7.9 Fuse 7.10 deprecated in 7.10? diffie-hellman-group-exchange-sha256diffie-hellman-group-exchange-sha256ecdh-sha2-nistp521ecdh-sha2-nistp521ecdh-sha2-nistp384ecdh-sha2-nistp384ecdh-sha2-nistp256ecdh-sha2-nistp256diffie-hellman-group18-sha512diffie-hellman-group17-sha512diffie-hellman-group16-sha512diffie-hellman-group15-sha512diffie-hellman-group14-sha256diffie-hellman-group-exchange-sha1diffie-hellman-group-exchange-sha1yes
diffie-hellman-group1-sha1diffie-hellman-group1-sha1yes
7.2. Fuse Online Copy linkLink copied to clipboard!
The Fuse Online distribution has the following known issues:
- ENTESB-17674 Monitoring Fuse Online with Prometheus and Grafana on OCP 4.9 (or later) requires workaround
On OCP 4.9 (or later), the
application-monitoringproject no longer works. It is a prerequisite for monitoring Fuse Online integrations and infrastructure components with Prometheus and Grafana.To work around this issue, you can use the built-in monitoring stack (in the
openshift-monitoringnamespace) to use theopenshift-user-workload-monitoringfeature and thegrafana-operatorto use theops addonas described in the Important notes for Fuse Online section of these release notes.- ENTESB-14518 Jaeger operator installed by Syndesis 1.11 affects other namespaces
-
Since Fuse 7.8, when you install Fuse 7.8 Online (Syndesis 1.11) on an OpenShift cluster, the Jaeger Operator (which gets installed along with Fuse Online) is configured to manage All namespaces by default. A side effect of this behavior is that, in the case where you already have Fuse 7.7 Online (Syndesis 1.10) installed on a cluster and then you install Fuse 7.8 Online in a different namespace, the Jaeger Operator installed with Fuse 7.8 Online tries to manage the (older) Jaeger instance installed on the Fuse 7.7 Online namespace. The result is that a new
syndesis-jaegerpod — in addition to the existingsyndesis-jaegerpod — appears in the Fuse 7.7 Online namespace and the newsyndesis-jaegerpod enters theCrashLoopBackOffstate. The original Fuse 7.7 Online instance is not affected and the crashedsyndesis-jaegerpod can be safely ignored. - ENTESB-13966 Discovery of deployed integration API seems disabled but not really
- Starting in Fuse 7.7, after creating a new integration containing an API, the integration detail page wrongly implies that 3scale discovery is disabled for this integration. Additionally, the integration detail page does not show the API URL. By clicking this button three times (click Enable, then click Disable, then click Enable), you can resynchronize the page so that 3scale discovery is enabled and the API URL is displayed.
7.3. Fuse on OpenShift Copy linkLink copied to clipboard!
This section lists issues that affect the deployment of Fuse applications on OpenShift. For details of issues affecting specific containers, see also the sections for Spring Boot, Fuse on Apache Karaf, and Fuse on JBoss EAP. The Fuse on OpenShift distribution has the following known issues:
- ENTESB-21335
patch-maven-plugindoes not work with Maven 3.9 Maven 3.9.2 does not explicitly pass
org.apache.maven.plugin.internal.PlexusUtilsInjectoras dependency graph transformer.See the Maven issue MNG-6965 for more information.
As a workaround, you an add
plexus-utilsas apatch-maven-plugindependency:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ENTESB-17895 [ Fuse Console ] Upgrade subscription does not update Hawtio
- In Fuse 7.10, if you update the Fuse Console by changing the Operator subscription channel to version 7.10, the Fuse Console remains on vesion 7.9. Even if the the Fuse Console containers and pods have the label 7.10, they are still using the 7.9 images. To work around this problem, perform the upgrade by removing the older version of Fuse Console and then making a fresh install of Fuse Console version 7.10.
- ENTESB-17861 Apicurito generator cannot generate Fuse Camel Project
In Fuse 7.10, the API Designer (Apicurito) does not work properly, if it is installed via the Apicurito Operator (giving an Invalid Cert Error). To work around this problem:
Open a new tab to
htps://apicurito-service-generator-apicurito.apps.cluster-name.openshift.com(Replace
cluster-name.openshift.comwith your cluster name.)- Accept the certificates.
- Switch to the application and click on the generate button again.
- ENTESB-17836 [ Fuse Console ] A newly added route is not displayed in the Camel tree
- In Fuse 7.10, after deploying an application, the route (or routes) is not displayed in the Camel tree on the Fuse Console. You can work around this issue by refreshing the page, which should make the route appear.
ENTESB-19351 FIPS on OCP - Jolokia agent doesn’t start due to unsupported security encoding
In Fuse 7.11, in OCP FIPS-enabled Jolokia agent becomes unavailable due to unsupported security encoding.
ENTESB-19352 FIPS on OCP - karaf-maven-plugin assembly goal fails to unsupported security provider
In Fuse 7.11, a binary stream deploy strategy fails on OCP FIPS enabled, with Karaf applications, if we use karaf-maven-plugin with assembly goal.
7.4. Fuse on Apache Karaf Copy linkLink copied to clipboard!
Fuse on Apache Karaf has the following known issues:
- ENTESB-16417 Credential store is using PBEWithSHA1AndDESede by default
- The security API in OpenJDK 8u292 and in OracleJDK 1.8.0_291 returns an incomplete list of security providers, which causes the credential store in Apache Karaf to fail (because the required security provider appears to be unavailable). The underlying issue that causes this problem is https://bugs.openjdk.java.net/browse/JDK-8249906. We recommend that you use the earlier OpenJDK version, OpenJDK 8u282, or the later OpenJDK version, OpenJDK 8u302, which do not have this bug.
- ENTESB-16526 fuse-karaf on Windows cannot restart during patch:install
While running
patch:installin the Apache Karaf container on the Windows platform, under certain circumstances you might encounter the following error when thepatch:installcommand attempts an automatic restart of the container:Copy to Clipboard Copied! Toggle word wrap Toggle overflow If you encounter this error, simply restart the Karaf container manually.
- ENTESB-8140 Start level of hot deploy bundles is 80 by default
Starting in the Fuse 7.0 GA release, in the Apache Karaf container the start level of hot deployed bundles is 80 by default. This can cause problems for the hot deployed bundles, because there are many system bundles and features that have the same start level. To work around this problem and ensure that hot deployed bundles start reliably, edit the
etc/org.apache.felix.fileinstall-deploy.cfgfile and change thefelix.fileinstall.start.levelsetting as follows:felix.fileinstall.start.level = 90
felix.fileinstall.start.level = 90Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ENTESB-7664 Installing framework-security feature kills karaf
The
framework-securityOSGi feature must be installed using the--no-auto-refreshoption, otherwise this feature will shut down the Apache Karaf container. For example:feature:install -v --no-auto-refresh framework-security
feature:install -v --no-auto-refresh framework-securityCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.5. Fuse on JBoss EAP Copy linkLink copied to clipboard!
Fuse on JBoss EAP has the following known issues:
- ENTESB-13168 Camel deployment on EAP domain mode is not working on Windows
- Starting in Fuse 7.6.0, for Fuse on JBoss EAP, the Camel subsystem cannot be deployed on JBoss EAP in domain mode on Windows OS.
7.6. Fuse Tooling Copy linkLink copied to clipboard!
Fuse Tooling has the following known issues:
- ENTESB-17705 [ Hawtio ] Logout button disappears
- In Fuse 7.10, after logging in and logging out several times in a row, the Logout button is not shown. To work around this issue, you can refresh the page one or more times and the Logout button should reappear.
- ENTESB-17839 Fuse + AtlasMap: Unrecognized field "dataSourceType"
- In Fuse 7.11, if user wants to use AtlasMap vscode extension, then they must use version 0.0.9 as Fuse 7.11 is with AtlasMap 2.3.x. Otherwise use AtlasMap standalone 2.3.x but not the vscode-extension.
7.7. Apache Camel Copy linkLink copied to clipboard!
Apache Camel has the following known issues:
- ENTESB-19361 / UNDERTOW-2206 Access logging support by cxf with embedded undertow server on karaf does not log URI
If the
DECODE_URLoption istrue(this is the default value for Fuse 7.11.1 karaf runtime), and useHttpServerExchangeto decoderelativePathandrequestPath, therequestURIparameter remains encoded.The dispatch methods (
forward, include,asyncanderror) assign the path without decoding it, forrequestPathandrelativeURL, which causes dispatching to a path such as/some%20thing.- ENTESB-15343 XSLT component not working properly with IBM1.8 JDK
-
In Fuse 7.8, the Camel XSLT component does not work properly with the IBM 1.8 JDK. The problem occurs because the underlying Apache Xerces implementation of XSLT does not support the
javax.xml.XMLConstants#FEATURE_SECURE_PROCESSINGproperty (see XERCESJ-1654). - ENTESB-11060 [ camel-linkedin ] V1 API is no longer supported
- Since Fuse 7.4.0, the Camel LinkedIn component is no longer able to communicate with the LinkedIn server, because it is implemented using the LinkedIn Version 1.0 API, which is no longer supported by LinkedIn. The Camel LinkedIn component will be updated to use the Version 2 API in a future release of Fuse.
- ENTESB-7469 Camel Docker component cannot use Unix socket connections on EAP
-
Since Fuse 7.0, the
camel-dockercomponent can connect to Docker only through its REST API, not through UNIX sockets. - ENTESB-5231 PHP script language does not work
- The PHP scripting language is not supported in Camel applications on the Apache Karaf container, because there is no OSGi bundle available for PHP.
- ENTESB-5232 Python language does not work
- The Python scripting language is not supported in Camel applications on the Apache Karaf container, because there is no OSGi bundle available for Python.
- ENTESB-2443 Google Mail API - Sending of messages and drafts is not synchronous
- When you send a message or draft, the response contains a Message object with an ID. It may not be possible to immediately get this message via another call to the API. You may have to wait and retry the call.
- ENTESB-2332 Google Drive API JSON response for changes returns bad count of items for the first page
-
Google Drive API JSON response for changes returns bad count of items for the first page. Setting
maxResultsfor a list operation may not return all the results in the first page. You may have to go through several pages to get the complete list (that is by settingpageTokenon new requests).
Chapter 8. Fixed Issues in Fuse 7.11, 7.11.1 and {version-micro-1-patch-1} Copy linkLink copied to clipboard!
The following sections list the issues that have been fixed in Fuse 7.11:
8.1. Enhancements in Fuse {version-micro-1-patch-1} Copy linkLink copied to clipboard!
| Issue | Description |
|---|---|
| Ability to patch fuse-karaf-framework Review patch-maven-plugin → karaf-maven-plugin communication |
8.1.1. Fuse Online {version-micro-1-patch-1} Copy linkLink copied to clipboard!
With the fix in ENTESB-18335, you can use patching information from the patch-maven-plugin in a Maven project that builds a custom Karaf distribution.
You can do this by passing patch metadata information between org.jboss.redhat-fuse/patch-maven-plugin and org.jboss.redhat-fuse/karaf-maven-plugin (a repackaged org.apache.karaf.tooling/karaf-maven-plugin). However, the format of this information is not compatible with org.apache.maven.plugins/maven-surefire-plugin.
Using org.jboss.redhat-fuse/karaf-maven-plugin
8.1.1.1. Normal scenario Copy linkLink copied to clipboard!
When using Fuse Karaf, Fuse Spring Boot, and Fuse EAP, it is important to use a relevant BOM, as shown in the following examples:
Fuse Karaf
Fuse EAP
Fuse SpringBoot
With these BOMS, you typically declare karaf-maven-plugin like this:
Sample karaf-maven-plugin declaration
8.1.1.2. Using org.jboss.redhat-fuse/karaf-maven-plugin for patching Copy linkLink copied to clipboard!
The benefit of using org.jboss.redhat-fuse/karaf-maven-plugin is that you can use the same version of the BOM and declare another plugin - the patch-maven-plugin:
Sample patch-maven-plugin declaration
With the patch-maven-plugin extension, every build is compared to available CVE fixes in Red Hat’s Maven repository, meaning every build can be patched according to the metadata provided by the CVE metadata.
8.1.1.3. Fixing the problem of patch-maven-plugin → maven-surefire-plugin incompatibility Copy linkLink copied to clipboard!
The fixes to the plugins (patch-maven-plugin and karaf-maven-plugin) are available in versions that are different from the BOM version.
For a Karaf Maven project, this means the setup can contain different versions in the fuse and plugins properties:
Sample Karaf Maven Project
While the BOM version doesn’t change, a new version of the BOM is necessary for the patch-maven-plugin and the karaf-maven-plugin.
8.2. Enhancements in Fuse 7.11 and 7.11.1 Copy linkLink copied to clipboard!
The following table lists the enhancements in Fuse 7.11 and Fuse 7.11.1.
| Issue | Description |
|---|---|
| Performance improvements on Camel File component |
| Issue | Description |
|---|---|
| Remove deprecated algorithms from karaf ssh | |
| More flexible Fuse-Karaf feature patching | |
| Viewing AMQ Brokers from Fuse Console as a GA functionality |
8.3. Feature requests in Fuse 7.11 Copy linkLink copied to clipboard!
The following table lists the features requests in Fuse 7.11.
| Issue | Description |
|---|---|
| CSV Support in Atlasmap | |
| Add option to not install AMQ Broker | |
| OCP and RHEL FIPS support in Fuse [Standalone/FoO]] | |
| "Create ""latest"" OLM channel" | |
| [Fuse Console] Add a preference to toggle on/off the side nav by default | |
| [Fuse Console] Spring Boot Info view |
8.4. Component Upgrades in Fuse 7.11 and 7.11.1 Copy linkLink copied to clipboard!
The following table lists the component upgrades in Fuse 7.11.1.
| Issue | Description |
|---|---|
| Upgrade to BouncyCastle 1.72 | |
| Upgrade Artemis plugin to AMQ 7.10.1 |
The following table lists the component upgrades in Fuse 7.11.
| Issue | Description |
|---|---|
| Align to EAP 7.4.4 | |
| Align to Spring Boot 2.5.12 / Spring Framework 5.3.18 / Spring Security 5.5.5 | |
| Upgrade to camel-2.23.2.fuse-7_11_0-00012 | |
| Align to EAP 7.4.5 | |
| Upgrade to Xerces 2.12.2 / SMX 2.12.2_1 | |
| Align to ActiveMQ 5.11.0.redhat-630516 (6.3.0.R20) | |
| Upgrade to felix.fileinstall 3.7.x | |
| Fuse Online 7.11 Component Alignment | |
| Upgrade to Undertow 2.2.16 | |
| Align to A-MQ 7.8.4 | |
| Upgrade to xchange 5.0.11 |
8.5. Bugs resolved in Fuse 7.11 and 7.11.1 Copy linkLink copied to clipboard!
The following tables list the resolved bugs in Fuse 7.11, and 7.11.1.
| Issue | Description |
|---|---|
| CVE-2022-42889 commons-text: apache-commons-text: variable interpolation RCE [fuse-7] | |
| EMPTY TAGS IN XML AND NULL VALUES IN JSON VR.2.3.17 | |
| Transforming a json body via JSONPath returns a string where the json object keys aren’t quoted | |
| CXF client sends the SOAPAction header without quotes | |
| The MBeanInvocationHandler fix in JIRA ENTESB-19690 was incomplete and it ends up with an UndeclaredThrowableException being thrown. ] | |
| Backport KARAF-7234 fix for MBeanInvocationHandler | |
| mimeMultipart dataformat is not included in the XML DSL for marshal/unmarshal | |
| [Hawtio] 014 Missing setting allows cookies to be sent from third parties | |
| [Hawtio] 009 Insecure CORS policy may allow malicious scripts to steal user data | |
| [Hawtio] 005 Web server responses missing referrer-policy header | |
| [Hawtio] 001 Misconfiguration may expose users to Click-jacking | |
| java.lang.ClassNotFoundException: com.mongodb.event.ConnectionPoolCreatedEvent | |
| Review Bootstrap CVEs reported by UPS | |
| Micrometer Dependency Issue wrt Spring Boot and Camel | |
| AutomaticRecovery from RabbitMQ Connection Factory doesn’t recover from everythin | |
| fabric8-camel:validate fails downloading the right camel version | |
| Create api connector from wsdl throws Missing property portName | |
| In the split(), camel-jpa producer creates a new EntityManager and does not obtain one from the current transaction | |
| camel-jpa producer does not reuse existing EntityManager in transaction and create its own one | |
| Operator fails to create an Apicurito CR with a route hostname option configured | |
| com.jcraft.jsch module missing bouncycastle dependency | |
| CVE-2022-31129 moment: inefficient parsing algorithm resulting in DoS [fuse-7] | |
| Cannot build Fuse 7 project with spring-boot-starter-webflux | |
| The "fuse-pax-transx-tm-narayana" bundle is missing "javax.security.cert" import packages | |
| CVE-2022-33980 commons-configuration2: apache-commons-configuration: Apache Commons Configuration insecure interpolation defaults [fuse-7] | |
| For a springboot CXF deployment, "server.shutdown=graceful" does not work as expected | |
| CVE-2021-31684 json-smart: Denial of Service in JSONParserByteArray function [fuse-7] | |
| Multibyte characters garbled when importing a json file by API Designer | |
| access logging support by cxf with embedded undertow server on karaf does not log URI | |
| CVE-2022-2053 undertow: Large AJP request may cause DoS [fuse-7] | |
| Errors when deploying the .kar file | |
| camel-salesforce throwing java.lang.IllegalArgumentException: Buffering capacity 4194304 exceeded | |
| Cannot use a custom route in Fuse Console deployed by Operator | |
| CVE-2022-24785 Moment.js: Path traversal in moment.locale [fuse-7] |
| Issue | Description |
|---|---|
| camel-sftp: check for existance of remote directory using ls is very slow | |
| "Fuse console on OCP — broker management feature is unusable | |
| Fuse Online is not able to be installed on OpenShift 4.11 (nightly build) | |
| Viewing AMQ Brokers from Fuse Console as a GA functionality | |
| Camel Kafka Component unable to load Kerberos LoginModule | |
| "statistics Level ""RoutesOnly"" include processors metrics" | |
| AMQP connection failover doesn’t work when connecting to AMQ Broker via OpenShift routes | |
| CVE-2022-22968 in Fuse 7 | |
| Unable to install 6 Karaf features | |
| Attempts to get / read entities fail when using an external transaction context | |
| EntityManager not shared with parent context. | |
| camel-jms - InOut with reply-to-type shared - race condition | |
| CVE-2020-36518 jackson-databind: denial of service via a large depth of nested objects [fuse-7] | |
| enricher causes connection leak | |
| Fuse console operator installed from Operator Hub does not define resource requests or limits | |
| CVE-2022-23913 artemis-commons: Apache ActiveMQ Artemis DoS [fuse-7] | |
| camel-openapi-java - Schema Definitions not generating correctly | |
| "ROUTE_HOSTNAME is not available with the Operator ""Red Hat Integration - API Designer""" | |
| Fuse Online Installation Fails on OpenShift 4.6 and Succeeds on OpenShift 4.8 With Same Hardware and Resources | |
| left/right/end keys do not work in Fuse/karaf shell on Windows through SSH | |
| CVE-2021-22060 springframework: Additional Log Injection in Spring Framework (follow-up to CVE-2021-22096) [fuse-7] | |
| Log4j2 in 7.x is slower than Log4j in 6.x | |
| CVE-2022-21724 jdbc-postgresql: Unchecked Class Instantiation when providing Plugin Classes [fuse-7] | |
| Issue with the ref endpoint | |
| CVE-2021-22569 protobuf-java: potential DoS in the parsing procedure for binary data [fuse-7] | |
| CVE-2022-23181 tomcat: local privilege escalation vulnerability [fuse-7] | |
| toCharArray fails when used with property in fuse on Windows | |
| input Streeam not closed when jmsMessageType=Stream | |
| Suboptimal locking in CXF | |
| CVE-2021-42550 logback-classic: logback: remote code execution through JNDI call from within its configuration file [fuse-7] | |
| Fuse 7 BlueprintPropertiesParser ConcurrentModificationException | |
| Spring security implementation using aries-blueprint-spring feature | |
| camel-cxf mtomEnabled property is wrongly override | |
| Fuse 7 on EAP 7: ClassNotFoundException: org.springframework.web.context.support.WebApplicationContextUtils | |
| CVE-2021-22096 springframework: malicious input leads to insertion of additional log entries [fuse-7] | |
| The camel-core 2.23.2.fuse-7_10_0-00020-redhat-00001 has jaxb 2.3.0 dependency | |
| Problem parsing JDBC URL for DB2 with properties in pax-jdbc-db2 | |
| [CAMEL-14372] Validator component fails with java.lang.IllegalArgumentException: protocol = http host = null | |
| [7.x] NPEs logged when a field is empty/null in SAP Document | |
| CXF producer can not process payloads worth more than 16KB if streaming is off and maxRetransmits > 1 | |
| "[7.x] The pax-web-jetty library disabled HTTP TRACE method by incorrectly exposing ""javax.servlet.ServletException""" | |
| Atlas Map - The custom transformation doesn’t appear in the dropdown box | |
| Atlas Map - same name element with a different inline type in the XSD is wrongly cached | |
| LC_ALL cannot be set in Fuse Image 7.9.0 | |
| "Fuse + AtlasMap: Unrecognized field ""dataSourceType"" " | |
| [HHH-14229] javax.persistence.ForeignKey doesn’t respect ConstraintMode.NO_CONSTRAINT | |
| Fuse console client auth fails when multiple cert authorities are present in jolokia caCert file | |
| [Hawtio] Logout button disappears | |
| "On Camel MLLP component ENTESB-17673 [Hawtio] Latest chrome version differs from RHEL7 and RHEL8 | |
| CVE-2021-42340 tomcat: OutOfMemoryError caused by HTTP upgrade connection leak could lead to DoS [fuse-7] | |
| Read timeout doesn’t work on camel undertow producer |