Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Release Notes

Red Hat Fuse 7.1

What's new in Red Hat Fuse

Fuse Documentation Team

Abstract

These notes provide an overview of the changes between Red Hat Fuse releases.

Chapter 1. Fuse 7.1 Product Overview

1.1. Fuse distributions

Fuse 7.1 is provided in the form of three different distributions, as follows:

Fuse Online
The distribution of Fuse that is provided pre-installed on the OpenShift Online Professional tier (and also available for installing on an on-premises OpenShift cluster). In this case, application development is facilitated by a browser based UI, and the workflow is simplified to make it accessible to non-expert integrators.
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 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

1.2. New features

Fuse 7.1 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. Supported Configurations

For information about supported configurations, standards, and components in version 7.1, see the following Customer Portal articles:

Chapter 2. Fuse Online

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

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 Online
OpenShift Dedicated

Red Hat installs and provisions Fuse Online on Red Hat infrastructure.

OpenShift Container Platform

Customer installs and manages.

In the Fuse 7.0 release, Fuse Online running in OpenShift Container Platform was named Ignite. With Fuse 7.1, the product name is Fuse Online regardless of where it runs. The Ignite product name is no longer used.

2.2. Changes and new features in 7.1

The changes and new features in Fuse Online 7.1 are:

  • New connectors for:

  • Updates/changes to connectors:

    • Amazon S3 connector

      • New Delete Object action is available to an Amazon S3 middle or finish connection.
      • Copy Object action now lets you specify the name of the file that you want to download.
    • Twitter connector now requires a Twitter developer account for OAuth authorization of Fuse Online as a Twitter client application.
    • In the middle of an integration, a SQL database connection that executes a SELECT statement can now obtain more than one record.
  • Data mapper updates:

    • To combine multiple source data fields into one compound target field, you can now select the target field, and then select all the source fields that you want to combine in the target field.
    • To separate a compound source field into multiple target fields, you can now select the source field and then select all the target fields that you want to separate the compound field into.
    • For a compound data field, you can now identify unwanted or missing parts of the content, and you can drag and drop the parts of a compound field to correctly order them.
    • Transformations that convert measurement units now provide From Unit and To Unit drop down menus to select from. For example, after you select the ConvertAreaUnit transformation, the From Unit drop down lets you select Square Meter, Square Mile, or Square Foot.
  • When you upload an OpenAPI specification you can now choose to review/edit the specification in Apicurio Studio, which is a visual design tool for APIs that adhere to the OpenAPI specification. You can update the specification, save it, and create an API client connector based on the updated specification.
  • When you start running an integration for the first time, Fuse Online now shows the progress of the publication process as it moves through phases for assembling, building, deploying, and starting to reach the Running state.
  • Installation of Fuse Online on OpenShift Container Platform now uses OpenShift operators.
  • As mentioned earlier, the Ignite product name is no longer used.

2.3. Upgrading existing integrations running on OpenShift Online

Around the time of the Fuse 7.1 GA, the Fuse Online infrastructure on OpenShift Online is automatically upgraded. During the infrastructure upgrade, any existing integrations running on OpenShift Online will continue to run both during and after the upgrade. However, the existing integrations will continue to run with the older versions of Fuse libraries and dependencies.

We recommend that you upgrade the existing integrations as soon as you can, which can be done simply by redeploying the integrations: go into edit mode and publish the integration again. This step forces a rebuild using the latest Fuse dependencies.

Note

The Fuse Online UI shows a warning/info, if any element of an integration has a newer dependency that needs to be updated.

2.4. Important notes

Important notes for the Fuse 7.1 release of the Fuse Online distribution:

  • A Fuse Online account is limited to a specific number of integrations that can be running at one time. For details, see the pricing plan. If you are using a Fuse Online evaluation account, then only one integration at a time can be running.
  • An OpenAPI specification that you upload to Fuse Online might not define input/output types. When Fuse Online creates a custom API client from an OpenAPI specification 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 specification, click Review/Edit to open Apicurio Studio, which is an API design tool, and add input/output type specifications.
  • Published integrations that connect to Gmail stop executing when their Gmail API access token expires. To enable the integration to execute, re-register your Fuse Online envrionment as a Gmail API client and enter the new client ID and client secret in the Fuse Online Settings page. In the next release, it is expected that Fuse Online will obtain a new access token when needed and you will not need to re-register.

2.5. Obtaining technical support

To obtain technical support, in Fuse Online, in the upper right, click InfoIcon and then click Support to display the Fuse Online support page. Use this page to download diagnostic information for all integrations or for one or more integrations that you choose. The page provides instructions for opening a support ticket and providing the diagnostic information that you downloaded.

2.6. Technology Preview features

This release includes the Technology Preview features that are listed below.

Important

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.

  • Connectors for:

    • IRC - connects to text-based Internet Relay Chat to receive and send messages.
    • Log - connects to the log where you can direct messages that are in addition to automatic logging.
    • SAP Concur - connects to SAP Concur, an expense management tool, to obtain, update, and create lists, as well as perform other operations.
    • Telegram - connects to cloud-based messaging app to receive and send messages.
    • Timer - triggers execution of an integration at an interval that you specify or based on a Unix cron expression.
  • For a REST API client that use 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 OpenAPI specifications support the following:

    • Providing client credentials as parameters.
    • Obtaining a new access token based on HTTP response status codes.

Chapter 3. Fuse on OpenShift

Fuse on OpenShift enables you to deploy Fuse applications on OpenShift Container Platform (OCP).

3.1. Supported version of OpenShift

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

Fuse on OpenShift provides the following Docker-formatted images:

  • fuse7/fuse-java-openshift — Spring Boot
  • fuse7/fuse-karaf-openshift — Apache Karaf
  • fuse7/fuse-eap-openshift — Red Hat JBoss Enterprise Application Platform
  • fuse7/fuse-console — Hawtio console

3.3. New features in Fuse 7.1

The main new features of Fuse on OpenShift in version 7.1 are:

XA transactions with scalable deployments
This feature is illustrated by the spring-boot-camel-xa quickstart and template, which demonstrates how to run a Camel service on Spring Boot that supports two external transactional resources: a JMS resource (AMQ), and a database (PostgreSQL).
End-to-end encryption for the Fuse Management Console
The Fuse Management Console now supports end-to-end TLS encryption for communication within the OpenShift cluster, ensuring that communication is encrypted along the entire route from the console.

3.4. Technology Preview features

The following features of Fuse on OpenShift are Technology Preview only and are not supported in Fuse 7.1:

Prometheus metrics
If you already have an installation of Grafana and Prometheus, you can use it to monitor Fuse applications deployed on OpenShift.

3.5. Important notes

Important notes for the Fuse 7.1 release of the Fuse on OpenShift distribution:

OCP 3.10 clusters must use OCP version 3.10.34 or later
If you are using Fuse on OpenShift with OCP 3.10, you must install OCP 3.10.34 or later to avoid encountering this known issue, Bug 1614493.
CDK 3.5 is not compatible with Fuse 7.1 on OpenShift

If you are using the Red Hat Container Development Kit (CDK), we recommend that you use CDK 3.6. Version 3.5 of CDK is affected by the following known issues:

  • ENTESB-9514 — the default version of OCP used by CDK 3.5 is incompatible with Fuse 7.1 on OpenShift.
  • Bug 1614493 — CDK 3.5 uses a version of OCP that is affected by this known issue, which causes builds to get stuck.
Deploying Maven quickstarts using the Fabric8 Maven plugin

In Fuse 7.1, the Maven quickstarts now require that you select the openshift profile when building and deploying. To build and deploy one of the Maven quickstarts, you should now use the command:

mvn fabric8:deploy -Popenshift
Redeploying an application using the Fabric8 Maven plugin

When deploying a Fuse on OpenShift application to OpenShift Container Platform using the Fabric8 Maven plugin, you cannot redeploy the application using just the command mvn fabric8:deploy. Use the following sequence of commands instead:

mvn fabric8:undeploy
mvn fabric8:deploy
Red Hat Enterprise Linux is the only supported operating system
All of the provided Fuse on OpenShift images are based on the Red Hat Enterprise Linux O/S.

Chapter 4. Fuse Standalone

4.1. Supported containers

Fuse standalone 7.1 is supported on the following runtime containers:

  • Spring Boot (standalone)
  • Apache Karaf
  • Red Hat JBoss Enterprise Application Platform (JBoss EAP)

4.2. New features in Fuse 7.1

The main new features of Fuse standalone in version 7.1 are:

  • Integration with Red Hat Single Sign-On is now fully supported in Fuse 7.1. For details, see Integration with Red Hat Single Sign-On in the Red Hat Fuse 7.1 "Security Guide".
  • On the JBoss EAP container, JAX-WS (SOAP) endpoints can now be integrated with Elytron security. The following Fuse on EAP quickstarts use Elytron security:

    camel-cxf-jaxws-secure
    camel-cxf-jaxws-cdi-secure
  • Fuse Tooling now provides a WSDL to Camel REST DSL wizard, that aids in the process of migrating WSDL (SOAP) based endpoints to a REST implementation. For details, see Migrating a SOAP application to RESTful web services in the Red Hat Fuse 7.0 "Tooling User Guide".
  • Fuse Tooling now provides a REST DSL tab, which gives a read-only graphical view of Camel REST DSL endpoints. For details, see Migrating a SOAP application to RESTful web services in the Red Hat Fuse 7.0 "Tooling User Guide".
  • The Camel Salesforce component now supports the use of Salesforce Platform Events mechanism.

4.3. BOM files for Fuse 7.1

To configure your Maven projects to use the supported Fuse 7.1 artifacts, use the BOM versions documented in this section.

4.3.1. Old-style BOM

To upgrade your Fuse standalone applications to use the 7.1 dependencies, edit the Maven pom.xml and change the versions of the BOMs and Maven plugins listed in the following table:

Table 4.1. Maven BOM and plugin versions for 7.1 using the old-style BOM

Container TypeMaven BOM or Plugin Artifact groupId/artifactIdVersion for Fuse 7.1

Spring Boot

io.fabric8/fabric8-project-bom-camel-spring-boot

3.0.11.fuse-710023-redhat-00001

io.fabric8/fabric8-maven-plugin

3.5.33.fuse-710023-redhat-00002

org.springframework.boot/spring-boot-maven-plugin

1.5.13.RELEASE

Apache Karaf

org.jboss.fuse/jboss-fuse-parent

7.1.0.fuse-710023-redhat-00001

io.fabric8/fabric8-project-bom-fuse-karaf

3.0.11.fuse-710023-redhat-00001

org.apache.karaf.tooling/karaf-maven-plugin

4.2.0.fuse-710024-redhat-00002

JBoss EAP

org.wildfly.camel/wildfly-camel-bom

5.2.0.fuse-710021-redhat-00001

4.3.2. New-style BOM

To upgrade your Fuse standalone applications to use the 7.1 dependencies, edit the Maven pom.xml and change the versions of the BOMs and Maven plugins listed in the following table:

Table 4.2. Maven BOM and plugin versions for 7.1 using the new-style BOM

Container TypeMaven BOM or Plugin Artifact groupId/artifactIdVersion for Fuse 7.1

Spring Boot

org.jboss.redhat-fuse/fuse-springboot-bom

7.1.0.fuse-710019-redhat-00002

org.jboss.redhat-fuse/fabric8-maven-plugin

7.1.0.fuse-710019-redhat-00002

org.jboss.redhat-fuse/spring-boot-maven-plugin

7.1.0.fuse-710019-redhat-00002

Apache Karaf

org.jboss.redhat-fuse/fuse-karaf-bom

7.1.0.fuse-710019-redhat-00002

org.jboss.redhat-fuse/karaf-maven-plugin

7.1.0.fuse-710019-redhat-00002

JBoss EAP

org.jboss.redhat-fuse/fuse-eap-bom

7.1.0.fuse-710019-redhat-00002

For more details about using the new-style BOM, see Migrate Maven Projects in "Migration Guide".

4.4. Important notes

Important notes for the Fuse 7.1 release of the Fuse Standalone distribution:

Known problem with building the Fuse 7.1 on JBoss EAP quickstarts

The Fuse 7.1 on JBoss EAP quickstarts cannot be built, because they are configured with an incorrect version of the Maven BOM (which is not available from the Red Hat Maven repository). To work around this problem, build the quickstarts with the additional Maven option, -Dversion.fuse=7.1.0.fuse-710019-redhat-00002. For example:

mvn clean install -Dversion.fuse=7.1.0.fuse-710019-redhat-00002

Chapter 5. Deprecated and Removed Features

If you need any assistance or have any questions about the upcoming changes in Fuse 7, contact support@redhat.com.

5.1. Deprecated

The following features are deprecated in Fuse 7.1 and may be removed in a future release:

Camel XMLRPC component is deprecated
The Camel XMLRPC component is deprecated in Fuse 7.1 and will be removed in the next release of Fuse.
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 Netty component is deprecated
The Camel Netty component is deprecated in Fuse 7.0 and will be removed in a future release of Fuse. It is recommended that you use the Camel Netty4 component instead.
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 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.0

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 messaging lifecycle.
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 by admin: (Karaf 2.x syntax) are not supported.

Note

In the Fuse 7.0 GA release, the instance: commands are not blacklisted. 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:install Karaf 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 new karaf-service-*.sh scripts from the bin/contrib directory 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/patch script (bin\patch.bat on 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.3. Replaced in Fuse 7.0

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.1

The following features are unsupported in Red Hat Fuse 7.1.

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.1 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
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 Python scripting language is not supported in Apache Camel
The Python scripting language is not supported in Camel applications on the Apache Karaf container, because there is no OSGi bundle available for Python.

Chapter 7. Known Issues

The following subsections describe the known issues in version 7.1.

7.1. CVE Security Vulnerabilities

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 security vulnerabilities affecting third-party dependencies of Fuse 7.1.

ENTESB-12489 CVE-2019-9827 - Fuse Console standalone on Amazon Web Services
Due to security concerns, you should not deploy a standalone Fuse application to Amazon Web Services (AWS). This restriction applies to all supported standalone environments (Spring Boot 1.x and 2.x, Karaf, and Red Hat JBoss Enterprise Application Platform). If you want to deploy the Fuse Console standalone on AWS, it is highly recommended that you upgrade to Fuse 7.7 or later and disable the Fuse Console’s proxy servlet by setting the hawtio.disableProxy system property to true.
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.

Note

The 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).

Multiple CVEs Multiple CVEs related to jackson-databind security vulnerability

Applications that that use the FasterXML jackson-databind library to instantiate Java objects by deserializing JSON content are potentially vulnerable to a remote code execution attack. The vulnerability is not automatic, however, and it can be avoided if you take the appropriate mitigation steps.

At a minimum, the following prerequisites must all be satisfied before an attack becomes possible:

  1. You have enabled polymorphic type handling for deserialization of JSON content in jackson-databind. There are two alternative ways of enabling polymorphic type handling in Jackson JSON:

    1. Using a combination of the @JsonTypeInfo and @JsonSubTypes annotations.
    2. By calling the ObjectMapper.enableDefaultTyping() method. This option is particularly dangerous, as it effectively enables polymorphic typing globally.
  2. There are one or more gadget classes in your Java classpath, which have not yet been blacklisted by the current version of jackson-databind. A gadget class is defined as any class that performs a sensitive (potentially exploitable) operation as a side effect of executing a constructor or a setter method (which are the methods that can be called during a deserialization). The gadget blacklist maintained by the Jackson JSON library is the last line of defence against the remote code execution vulnerability.

It is the existence of a large number of gadget classes which explains why there are many individual CVEs related to the jackson-databind vulnerability. There are different CVEs related to different kinds of gadget class.

If you do need to use the jackson-databind library in your application, the most important measure you can take to mitigate the risk is this: avoid polymorphic type handling in Jackson JSON and on no account should you call the ObjectMapper.enableDefaultTyping() method.

7.2. Fuse Online

The Fuse Online distribution has the following known issues:

1558 "Save as draft" and "Publish" buttons
Both the Save as draft button and the Publish button remain active, even after a user has clicked on one of the buttons and started stepping through the procedure.
2163 Integration Editor: Save as Draft should display notification on success
After pressing the Save as Draft button, there is no success notification when the draft is saved successfully (in the event of an error, on the other hand, there is an error notification).
698 DB Connector: SQL parser doesn’t recognize parameters for LIKE
In SQL statements containing the LIKE keyword (for example, DELETE FROM TODO WHERE task LIKE ‘:#param’), the LIKE keyword cannot be used with datamapper parameters, such as :#param.

7.3. Fuse on OpenShift

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:

Bug 1614493 [3.10] Binary builds with 'large' input hangs and never completes
When attempting to build and deploy Fuse applications on some early micro versions of OpenShift Container Platform (OCP) 3.10, it is possible that the build will hang with this error. If you encounter this problem, we recommend that you upgrade to OCP 3.10.34 (or later), where this problem is fixed.
ENTESB-9514 CDK (minishift) + quickstart with binary build doesn’t work
Red Hat Container Development Kit (CDK) 3.5 uses a version of OpenShift that has some incompatibilities with Fuse 7.1 on OpenShift (in particular, build and deployment of Fuse on OpenShift quickstarts does not work). We recommend that you use CDK 3.6 instead.

7.4. Fuse on on Apache Karaf

Fuse on Apache Karaf has the following known issues:

ENTESB-8085 rxjava-1.3.5.redhat-001 is not an osgi bundle, but rxjava-1.3.5 is
In the Fuse 7.0 GA release, the camel-hystrix and camel-rx features cannot be installed.
ENTESB-8140 Start level of hot deploy bundles is 80 by default

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.cfg file and change the felix.fileinstall.start.level setting as follows:

felix.fileinstall.start.level = 90
ENTESB-7664 Installing framework-security feature kills karaf

The framework-security OSGi feature must be installed using the --no-auto-refresh option, otherwise this feature will shut down the Apache Karaf container. For example:

feature:install -v --no-auto-refresh framework-security

7.5. Fuse on on JBoss EAP

Fuse on JBoss EAP has the following known issues:

ENTESB-9533 Fuse 7.1 on EAP doesn’t contain productized quickstarts

The Fuse 7.1 on JBoss EAP quickstarts cannot be built, because they are configured with an incorrect version of the Maven BOM (which is not available from the Red Hat Maven repository). To work around this problem, build the quickstarts with the additional Maven option, -Dversion.fuse=7.1.0.fuse-710019-redhat-00002. For example:

mvn clean install -Dversion.fuse=7.1.0.fuse-710019-redhat-00002

7.6. Apache Camel

Apache Camel has the following known issues:

ENTESB-9452 Salesforce on-create,on-update not triggered

A regression was introduced in the Salesforce Camel component, whereby a Salesforce consumer processes exchanges synchronously instead of asynchronously. So if a single Camel route uses the same Salesforce component instance in a consumer endpoint and a producer endpoint, it ends up deadlocked on the HTTP connection in the producer endpoint.

For example, the route below (whether it uses enrich or to for the producer endpoint) will deadlock in the getSObject endpoint:

from("salesforce:syn_Lead_c?sObjectClass=io.syndesis.example.Application$Id&sObjectQuery=SELECT+Id+FROM+Lead")
  .enrich("salesforce:getSObject?rawPayload=true&sObjectName=Lead")
  .convertBodyTo(String.class)
  .to("log:sf?showAll=true&multiline=true");

One workaround is to use a wireTap endpoint like this:

from("salesforce:syn_Lead_c?sObjectClass=io.syndesis.example.Application$Id&sObjectQuery=SELECT+Id+FROM+Lead")
  .wireTap("salesforce:getSObject?rawPayload=true&sObjectName=Lead")
  .convertBodyTo(String.class)
  .to("log:sf?showAll=true&multiline=true");

Another workaround is to break up the Camel route using SEDA endpoints like this:

from("salesforce:syn_Lead_c?sObjectClass=io.syndesis.example.Application$Id&sObjectQuery=SELECT+Id+FROM+Lead")
  .to("seda:sfenrich");

from("seda:sfenrich")
  .enrich("salesforce:getSObject?rawPayload=true&sObjectName=Lead")
  .convertBodyTo(String.class)
  .to("log:sf?showAll=true&multiline=true");

This issue will be fixed in the next Fuse release.

ENTESB-8088 camel-linkedin: java.lang.SecurityException: Invalid CSRF code
In the Fuse 7.0 GA release, the Camel LinkedIn component does not work. The camel-linkedin quickstart is also not working.
ENTESB-7469 Camel Docker component cannot use Unix socket connections on EAP
In Fuse 7.0, the camel-docker component 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-2458 Google Mail Component - Import of message throws sometimes SocketTimeoutException
Importing a message may throw a java.net.SocketTimeoutException if the send operation was called before. Workaround: After a send call wait for few moments before calling import.
ENTESB-2365 Google Drive API bug - Response of permission insert operation mostly does not contain emailAddress property
Response of permission insert operation sometimes does not return emailAddress property even if the value of request property type was set to user. Nevertheless the permission is successfully inserted.
ENTESB-2332 Google Drive API JSON response for changes returns bad count of items for the first page
Google Drive API JSON reponse for changes returns bad count of items for the first page. Setting maxResults for 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 setting pageToken on new requests).

Chapter 8. Issues Resolved in Fuse 7.1

The following sections list the issues that have been resolved in Fuse 7.1:

8.1. Enhancements in Fuse 7.1

The following table lists the enhancements in Fuse 7.1.

Table 8.1. Fuse 7.1 Enhancements

IssueDescription

ENTESB-4641

Need a flag using which Master component status can be known standby or active.

ENTESB-7006

event-driven salesforce updates

ENTESB-7911

camel-blueprint quickstart dependency can be set to provided scope

ENTESB-8042

Enhance the Fuse / KeyCloak integration for CXF / Camel

ENTESB-8079

New API for authentication needed on Pax-Web

ENTESB-8173

Hawtio should be aware of "blacklisted" and "overriden" properties of Karaf features and bundles

ENTESB-8197

Support for higher version of PostgreSQL

ENTESB-8774

Add favicon to Fuse console

ENTESB-8800

Use TLS re-encryt instead of edge termination in Fuse console route

ENTESB-8840

Set browser tab title from branding app name in Fuse console

ENTESB-9090

Please add camel-salesforce-maven-plugin to product BOM

ENTESB-9098

hawtio: problem with current Framework Start Level value under 70

ENTESB-9109

Add wildfly-camel-testenricher to wildfly-camel BOM

ENTESB-9129

Add SAP Quickstart demonstrating failover and load balancing

ENTESB-9147

Support 100-Continue in Undertow transport out-of-the-box

ENTESB-9150

Fuse console templates should have distinct names

ENTESB-8061

Hawtio v2: Review Connect Remote instructions text

ENTESB-9181

Use 4.0.0.Final instead of 4.0.0.Final-SNAPSHOT

ENTESB-9199

Quickstart tests should fail when it’s not properly configured

ENTESB-9212

Provide README.md for each security quickstart

ENTESB-9214

Change hard coded secrets to defaults

8.2. Feature requests in Fuse 7.1

The following table lists the features requests in Fuse 7.1.

Table 8.2. Fuse 7.1 Feature Requests

IssueDescription

ENTESB-6010

CRUD operations for CouchDB

ENTESB-7366

Update sap-quickstarts after Fuse 7.0.0 GA

ENTESB-7579

Add support for fuse-components camel-sap component on Karaf

ENTESB-7692

Add some report about progress after bundle:restart

8.3. Bugs resolved in Fuse 7.1

The following table lists the resolved bugs in Fuse 7.1.

Table 8.3. Fuse 7.1 Resolved Bugs

IssueDescription

ENTESB-7169

JPAMessageIdRepository Not Releasing Connections

ENTESB-7450

Feature repository with drools7-dependencies feature is missing

ENTESB-7716

Unable to install camel-linkedin

ENTESB-7830

Solaris11 sparc: stop,client,status,karaf print awk: can’t open /version/ {print $2}

ENTESB-7887

CVE-2018-1000130 jolokia-core: jolokia: JMX proxy mode vulnerable to remote code execution [fuse-6.3.0]

ENTESB-7888

CVE-2018-1000129 jolokia-core: jolokia: Cross site scripting in the HTTP servlet [fuse-6]

ENTESB-7938

Unable to connect pooled connectionFactory with camel-sjms and camel-sjms2

ENTESB-7945

CVE-2018-1272 spring-web: spring-framework: Multipart content pollution [fuse-7.0.0]

ENTESB-7959

Support securing Fuse CXF endpoints with Elytron

ENTESB-7967

Hawtio: direct url passes to the hawtio page without authentication

ENTESB-7982

HAWTIO:OSGI:FEATURES Can press many install buttons at the same time, but not every features will be installed

ENTESB-7991

Hawtio: unfiltered bundles table in OSGi tab after the bundle operation is processed

ENTESB-7994

Rest DSL with Jetty9 components returns 404 instead of 405, when http method is not supported

ENTESB-7995

Hawtio: bundles are selected in a random way in a filtered table

ENTESB-7996

Hawtio: wrong states and wrong buttons enabled in OSGi tab

ENTESB-7998

Rest DSL with Netty4-http components returns 404 instead of 405, when http method is not supported

ENTESB-8015

echo "\"string" ends up with Error executing command: unexpected EOT looking for matching quote: " and shutdown of karaf

ENTESB-8019

Hawtio: unable to view a chart of all attributes in endpoints in log-example-context

ENTESB-8020

Hawtio: checkbox does not work properly after actions in Camel Contexts table in Camel tab

ENTESB-8045

CVE-2018-1271 spring: spring-framework: Directory traversal vulnerability with static resources on Windows filesystems [fuse-7.0.0]

ENTESB-8054

CVE-2018-1339 camel-tika: tika: Infinite loop in ChmParser can allow remote attacker to cause a denial of service [fuse-7.0.0]

ENTESB-8055

CVE-2018-1338 camel-tika: tika: Infinite loop in BPGParser can allow remote attacker to cause a denial of service [fuse-7.0.0]

ENTESB-8064

CVE-2018-1114 undertow: File descriptor leak caused by JarURLConnection.getLastModified() allows attacker to cause a denial of service [fuse-7.0.0]

ENTESB-8066

HAWTIO:CONNECT:DISCOVER page shows only "No agents discovered".

ENTESB-8068

Unable to install camel-spring-redis

ENTESB-8076

Hawtio: wrong tab name after navigation to OSGi from the Configuration detail page

ENTESB-8078

Fuse 7 can’t be started on HP-UX

ENTESB-8092

Hawtio: wrong URL of feature dependencies in OSGi Features

ENTESB-8093

Hawtio: no success message after operations with bundles in OSGi

ENTESB-8095

Hawtio: empty Profile in OSGi Configuration

ENTESB-8096

HAWTIO:OSGI: Bundles when you refresh Jackson-annotations bundle, some of Jackson bundles will change status to resolved.

ENTESB-8097

Hawtio: strange behavior of Attributes in Camel

ENTESB-8102

CVE-2016-5397 camel: thrift: Improper file path sanitization in t_go_generator.cc:format_go_output() of the go client library can allow an attacker to inject commands [fuse-7.0.0]

ENTESB-8109

Problem while using WSS4JOutInterceptor

ENTESB-8122

EAP:HAWTIO:Login In case you will go to some path without login you will get hawtio with only Connect tab.

ENTESB-8126

Hawtio: Camel Contexts - no success message after the action is done

ENTESB-8128

Hawtio: refresh the Bundle detail page leads to lose the data

ENTESB-8133

Hawtio: undefined property in Camel route debugging

ENTESB-8141

HAWTIO:CAMEL: In cbr-example-context there is confusing charts visibility of Mbeans folders..

ENTESB-8142

HAWTIO:HELP: JMX link redirects you to hawtio.

ENTESB-8143

HAWTIO:PREFERENCES:CAMEL tab will disappear after restart preferences.

ENTESB-8144

HAWTIO:CAMEL Delete button on contexts and routes seems like do nothing.

ENTESB-8145

HAWTIO:OSGI:FEATURES cxf-xjc-runtime/3.1.11.fuse-000243-redhat-1 feature cannot be uninstalled.

ENTESB-8146

HAWTIO:OSGI:FEATURES Cannot install application-without-isolation/1.0.0

ENTESB-8147

HAWTIO:OSGI:FEATURES: If you add existed repository you will get succes message.

ENTESB-8148

HAWTIO:CAMEL You can see start/stop and start/suspend buttons as a viewer.

ENTESB-8160

Wrong uninstall instructions in camel-jms quickstart

ENTESB-8161

NullPointerException in Æsh

ENTESB-8164

Hawtio-related errors in log when running Fuse on Aix 7.2

ENTESB-8167

Typo in camel-azure-starter spring.factories

ENTESB-8169

Swapped parameters in HttpServiceProxy.registerConstraintMapping

ENTESB-8170

HAWTIO:OSGI:Bundles: When you try to stop some bundle using filter, you will stop another bundle on the same position on table without filter.

ENTESB-8178

camel:run failed to run in 6.3

ENTESB-8179

Unify jetty version on Karaf and spring-boot

ENTESB-8184

Hawtio - Deleting all camel contexts leaves the UI in an unclean state

ENTESB-8185

Backport CAMEL-12514

ENTESB-8191

Æsh keys broken with bin/client

ENTESB-8193

iPaaS - Support Page - source is not added to the export operation

ENTESB-8194

iPaaS - Support Page - risk of name clashes

ENTESB-8195

Some quickstarts are again using http instead of https for osgi xsd location

ENTESB-8198

Karaf feature 'connector' fails to install

ENTESB-8204

[camel-weather] Use geolocator with longer support

ENTESB-8208

NullPointerException in camel-cmis when using wrong credentials

ENTESB-8209

[camel-jt400] java.lang.NoClassDefFoundError: javax/crypto/SecretKey

ENTESB-8210

[camel-twilio] java.lang.ClassNotFoundException: org.apache.http.ProtocolVersion

ENTESB-8212

maven-bundle-plugin fails to parse meta-persistence

ENTESB-8223

Unresolved TODOs in README.md files

ENTESB-8224

NullPointerException in Æsh - with "]"

ENTESB-8225

Console unusable in docker

ENTESB-8248

spring-boot-cxf-jaxrs - workaround for OSFUSE-836 doesn’t work

ENTESB-8266

[OSO] FIS karaf templates memory limit unnecessarily big (2 GiB)

ENTESB-8310

Repackaged Fuse spring-boot-maven-plugin is not recognized by fabric8-maven-plugin

ENTESB-8316

karaf-camel-amq-template has wrong description

ENTESB-8363

Karaf image is using wrong version for KARAF_FRAMEWORK_VERSION

ENTESB-8399

karaf-camel-amq - wrong service amqp name

ENTESB-8404

Quickstart spring-boot-camel-rest-sql is missing

ENTESB-8416

spring-boot-cxf (jaxrs, jaxws) - ClassNotFoundException

ENTESB-8477

CVE-2018-8088 slf4j: Deserialisation vulnerability in EventData constructor can allow for arbitrary code execution [fis-2.0]

ENTESB-8505

Align documented repositories with quickstart’s repositories

ENTESB-8562

spring-boot-camel-{config,drools,teiid}-template contains non-existing url

ENTESB-8672

CVE-2018-1114 undertow: File descriptor leak caused by JarURLConnection.getLastModified() allows attacker to cause a denial of service [fis-2.0]

ENTESB-8673

karaf-camel-amq - missing log output in Openshift log

ENTESB-8713

Reflect changes in installation of EnMasse in karaf-camel-amq quickstart

ENTESB-8749

FMP: Imagestream creation doesn’t work for java project

ENTESB-8792

Add ImageStreamTag triggers to StatefulSets in fabric8-maven-plugin

ENTESB-8877

Migrate FIS quickstarts from F8 Arquillian plugin to Arquillian Cube

ENTESB-8897

[templates] k8s resource limits (same as archetypes)

ENTESB-9011

Backport changes from f-m-p 3.5.39 into product branch

ENTESB-9036

Spring-Boot - Narayana: check that resource managers have no pending transactions before scaling down

ENTESB-9059

Camel-CXF POJO dataformat with WS-Security does not work if operation has Holder type in parameter list

ENTESB-9060

camel-box - Camel Context XML contains an error

ENTESB-9066

JLine may be used instead of AEsh when reinstalling features

ENTESB-9069

[Fuse 7] Undertow unable to externalize strings containing password

ENTESB-9073

Weird behavior when ending a command with ", { or \ and hitting enter

ENTESB-9074

CVE-2018-1000180 bouncycastle: flaw in the low-level interface to RSA key pair generator [fuse-7.0.0]

ENTESB-9075

CVE-2016-1000338 bouncycastle: DSA does not fully validate ASN.1 encoding during signature verification allowing for injection of unsigned data [fuse-7.0.0]

ENTESB-9076

CVE-2016-1000344 bouncycastle: DHIES implementation allowed the use of ECB mode [fuse-7.0.0]

ENTESB-9077

CVE-2016-1000345 bouncycastle: DHIES/ECIES CBC modes are vulnerable to padding oracle attack [fuse-7.0.0]

ENTESB-9078

CVE-2016-1000346 bouncycastle: Other party DH public keys are not fully validated [fuse-7.0.0]

ENTESB-9079

CVE-2016-1000352 bouncycastle: ECIES implementation allowed the use of ECB mode [fuse-7.0.0]

ENTESB-9080

CVE-2016-1000340 bouncycastle: Carry propagation bug in math.raw.Nat??? class [fuse-7.0.0]

ENTESB-9081

CVE-2016-1000339 bouncycastle: Information leak in AESFastEngine class [fuse-7.0.0]

ENTESB-9082

CVE-2016-1000341 bouncycastle: Information exposure in DSA signature generation via timing attack [fuse-7.0.0]

ENTESB-9083

CVE-2016-1000342 bouncycastle: ECDSA improper validation of ASN.1 encoding of signature [fuse-7.0.0]

ENTESB-9084

CVE-2016-1000343 bouncycastle: DSA key pair generator generates a weak private key by default [fuse-7.0.0]

ENTESB-9086

Wrong env variables in karaf-camel-amq template

ENTESB-9088

Hawtio: Diagnostics pages are visible when access is forbidden

ENTESB-9091

Karaf addRepository JMX operation allows blacklisted feature repo to be installed

ENTESB-9093

Hawtio: Camel trace page does not unregister Jolokia requests

ENTESB-9100

Please remove artifacts that shouldn’t be in Fuse BOM

ENTESB-9102

[cxf] JMS transport does not clean up resources properly in case of an JMSException

ENTESB-9105

Hawtio:logs: IllegalArgumentException when you refresh logs page

ENTESB-9106

Hawtio:Runtime: Waited and Blocked time are empty in Threads tab

ENTESB-9115

Camel-SAP endpoint not recovering from a data exception

ENTESB-9118

Hawtio:Runtime: non-functional sorting in Native column of Threads tab

ENTESB-9120

Hawtio:OSGi:Framework: no error message while setting empty Bundle Start Level

ENTESB-9121

[came-twilio] password/username/accountSid endpoint parameters does not work

ENTESB-9125

Camel file endpoint loses modification date with preMove attribute

ENTESB-9126

Last build of Fuse has version Hawtio Integration 3.2.30, but bugs are resolved in Hawtio Integration 3.2.31

ENTESB-9130

Unable to add feature repository

ENTESB-9134

Hawtio:Bundles: start button seems like do nothing

ENTESB-9135

Hawtio:Features: After Uninstall operation of aries-blueprint/4.2.0.fuse-000271 feature button is still enable.

ENTESB-9136

Upgrade Xerces from 2.11 to 2.12

ENTESB-9137

Hawtio: Installation of some features disconnects the Hawtio console

ENTESB-9138

Hawtio:OSGi:Bundles: undetermined state of bundles after refreshing

ENTESB-9139

Hawtio:osgi:features: When I install or uninstall application-without-isolation/1.0.0, the button that was clicked doesn’t get disabled

ENTESB-9140

Hawtio: wrong states and wrong buttons enabled in OSGi tab

ENTESB-9142

Bundles: Problem with specific version filter

ENTESB-9144

camel websocket - java.lang.ClassCastException: org.eclipse.jetty.util.DecoratedObjectFactory

ENTESB-9145

Karaf - Warning - failed to parse and instantiate of javax.servlet.ServletContainerInitializer in classpath

ENTESB-9146

camel-weather does not work

ENTESB-9151

HTTP Connector method not honored

ENTESB-9158

Hawtio:Connection: dialog for adding connection is changing the title and text of button

ENTESB-9164

karaf-camel-amq - Unknown configuration type: undertow

ENTESB-9166

NPE in CamelDeploymentSettings when deploying an EAR with two WARs

ENTESB-9167

External transitive xalan dependency in SpringBoot application leads to exception: Can’t transform a Source of type javax.xml.transform.stax.StAXSource

ENTESB-9170

Camel Weather - deprecated endpoint

ENTESB-9172

[CAMEL-10103] Camel FTP - Unknown parser type

ENTESB-9177

Hawtio: duplication of Logs menu item

ENTESB-9182

Use correct versions of quickstarts

ENTESB-9183

Hawtio:Osgi:Configuration: When you try change error color value of org.apache.karaf.log configuration and click cancel the value will change to some hardcoded value.

ENTESB-9184

Hawtio:Camel: Profiles table has bad sorting on Total and Self columns

ENTESB-9187

GracePeriod after installing beginner quickstart

ENTESB-9188

Quickstart camel-xa is missing persistence.xml

ENTESB-9190

Cannot generate schema by hibernate for Oracle and DB2 database

ENTESB-9195

Hawtio:Camel: fatal error logs in terminal after sending empty message

ENTESB-9201

Port secure CXF examples to Elytron

ENTESB-9204

Let WildFlyCli.run(URL, String…​) forward the additional args to WildFlyCli.run(Path, String…​)

ENTESB-9207

Fuse on EAP doesn’t start when Java Security Manager is enabled

ENTESB-9209

Unable to install camel-linkedin with redhat-3, but it is working with redhat-1

ENTESB-9210

Unable to install camel-thrift with redhat-3, but it is working with redhat-1

ENTESB-9213

Fix patching mechanism to handle feature removals

ENTESB-9217

InterceptStrategy in camel 2.21.0 version of Fabric BOM 3.0.11.fuse-000039-redhat-1 does not print details of all endpoints

ENTESB-9235

MRRC contains some redhat artifacts without sources

ENTESB-9236

PAX-WEB HttpContextProcessing leaking after installing keycloak-pax-web-undertow fragment bundle

ENTESB-9239

CVE-2018-8036 pdfbox: Infinite loop in AFMParser.java allows for out of memory erros via crafted PDF [fuse-7.0.0]

ENTESB-9241

Desynchronized version of spring core in Fabric8

ENTESB-9244

cxf-spring-boot-starter-jaxws generates java.lang.NoClassDefFoundError

ENTESB-9247

Unable to install eclipselink

ENTESB-9285

karaf - Unable to build assembly

ENTESB-9299

Can not find 7.0.1.fuse-000011-redhat-2 in maven.repository.redhat.com

ENTESB-9300

spring-boot-camel-xa template points to wrong git tag

ENTESB-9312

[prod] fuse-console:1.1-1 restarting

ENTESB-9313

[prod] archetypes dont' contain productized boms

ENTESB-9314

IllegalStateException on undeploy of Camel CXF applications

ENTESB-9317

fuse70 vs fuse71 naming

ENTESB-9318

images 7.0 vs 7.1

ENTESB-9330

Disable save button in framework tab for 'viewer' users

ENTESB-9334

DeploymentConfigs in upgrade image refer to 1.3 image stream tags

ENTESB-9349

Syndesis operator image should reference syndesis version "1.1" in its template

ENTESB-9397

[CR2] Needed changed in operator and upgrade images

ENTESB-9400

[CR2] application-templates: eap tags are not productized

ENTESB-9401

[CR2] Instantiate of archetype karaf-cxf-rest-archetype (Property cxf-plugin-version is missing)

Legal Notice

Copyright © 2020 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.