JBoss Tools and Red Hat Developer Studio Maintenance Release for Eclipse Neon.3
JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it from our Red Hat Developers and run it like this:
java -jar devstudio-<installername>.jar
JBoss Tools or Bring-Your-Own-Eclipse (BYOE) JBoss Developer Studio require a bit more:
This release requires at least Eclipse 4.6.3 (Neon.3) but we recommend using the latest Eclipse 4.6.3 Neon JEE Bundle since then you get most of the dependencies preinstalled.
Once you have installed Eclipse, you can either find us on the Eclipse Marketplace under “JBoss Tools” or “Red Hat JBoss Developer Studio”.
For JBoss Tools, you can also use our update site directly. http://download.jboss.org/jbosstools/neon/stable/updates/
What is new?
Our focus for this release was improvements for container-based development and bug fixing.
Improved OpenShift 3 and Docker Tools
We continue to work on providing a better experience for container-based development in JBoss Tools and Developer Studio. Let’s go through a few interesting updates here.
OpenShift Server Adapter enhanced flexibility
OpenShift server adapter is a great tool that allows developers to synchronize local changes in the Eclipse workspace with running pods in the OpenShift cluster. It also allows you to remote debug those pods when the server adapter is launched in Debug mode. The supported stacks are Java and NodeJS.
As pods are ephemeral OpenShift resources, the server adapter definition was based on an OpenShift service resource and the pods are then dynamically computed from the service selector.
This has a major drawback as it allows to use this feature only for pods that are part of a service, which may be logical for Web-based applications as a route (and thus a service) is required in order to access the application.
So, it is now possible to create a server adapter from the following OpenShift resources:
- service (as before)
- deployment config
- replication controller
If a server adapter is created from a pod, it will be created from the associated OpenShift resource, in the preferred order:
- deployment config
- replication controller
As the OpenShift explorer used to display OpenShift resources that were linked to a service, it has been enhanced as well. It now displays resources linked to a deployment config or replication controller.
Here is an example of a deployment with no service i.e. a deployment config:
So, as an OpenShift server adapter can be created from different kind of resources, the kind of associated resource is displayed when creating the OpenShift server adapter:
Once created, the kind of OpenShift resource adapter is also displayed in the Servers view:
This information is also available from the server editor:
Security vulnerability fixed in certificate validation database
When you use the OpenShift tooling to connect to an OpenShift API server, the certificate of the OpenShift API server is first validated. If the issuer authority is a known one, then the connection is then established. If the issuer is an unknown one, a validation dialog is first shown to the user with the details of the OpenShift API server certificate as well as the details of the issuer authority. If the user accepts it, then the connection is established. There is also an option to store the certificate in a database so that next time a connection is attempted to the same OpenShift API server, then the certificate will be considered valid and no validation dialog will be shown again.
We found a security vulnerability, as the certificate was wrongly stored: it was partially stored (not all attributes were stored) so we may interpret a different certificate as validated where it should not.
We had to change the format of the certificate database. As the certificates stored in the previous database were not entirely stored, there was no way to provide a migration path. As a result, after the upgrade, the certificate database will be empty. So, if you had previously accepted some certificates, then you need to accept them again and fill the certificate database again.
CDK 3 Server Adapter
The CDK 3 server adapter has been here for quite a long time. It used to be Tech Preview, as CDK 3 was not officially released. It is now officially available. While the server adapter itself has limited functionality, it is able to start and stop the CDK virtual machine via its minishift binary. Simply hit Ctrl+3 (Cmd+3 on OSX) and type CDK, which will bring up a command to setup and/or launch the CDK server adapter. You should see the old CDK 2 server adapter along with the new CDK 3 one (labeled *Red Hat Container Development Kit 3*).
All you have to do is set the credentials for your Red Hat account and the location of the CDK’s minishift binary file and the type of virtualization hypervisor.
Once you’re finished, a new CDK Server adapter will then be created and visible in the Servers view.
Once the server is started, Docker and OpenShift connections should appear in their respective views, allowing the user to quickly create a new Openshift application and begin developing their AwesomeApp in a highly replicable environment.
OpenShift Container Platform 3.5 support
Red Hat has announced OpenShift Container Platform (OCP) 3.5. JBossTools 4.4.4.Final has been validated against OCP 3.5.
OpenShift server adapter extensibility
The OpenShift server adapter had long support for EAP/Wildfly and NodeJS based deployments. It turns out that it does a great deal of synchronizing local workspace changes to remote deployments on OpenShift, which have been standardized through image metadata (labels). But each runtime has its own specific. As an example, Wildfly/EAP deployments require that a re-deploy trigger is sent after the files have been synchronized.
In order to reduce the technical debt and allow support for other runtimes (lots of them in the microservice world), we have refactored the OpenShift server adapter so that each runtime specific is now isolated and that it will be easy and safe to add support for new runtime.
For a full in-depth description, see the following wiki page.
Pipeline builds support
Pipeline based builds are now supported by the OpenShift tooling. When creating an application, if using a template, if one of the builds is based on pipeline, you can view the detail of the pipeline:
When your application is deployed, you can see the details of the build configuration for the pipeline based builds:
More to come as we are improving the pipeline support in the OpenShift tooling.
Update of Docker Client
The level of the underlying com.spotify.docker.client plug-in used to access the Docker daemon has been upgraded to 3.6.8.
Run Image Network Support
A new page has been added to the Docker Run Image Wizard and Docker Run Image Launch configuration that allows the end-user to specify the network mode to use. A user can choose from Default, Bridge, Host, None, Container, or Other. If Container is selected, the user must choose from an active Container to use the same network mode. If Other is specified, a named network can be specified.
Users can now refresh the entire connection from the Docker Explorer View. Refresh can be performed two ways:
- using the right-click context menu from the Connection
- using the Refresh menu button when the Connection is selected
API Change in JMX UI’s New Connection Wizard
While hardly something most users will care about, extenders may need to be aware that the API for adding connection types to the ‘New JMX Connection’ wizard in the ‘JMX Navigator’ has changed. Specifically, the ‘org.jboss.tools.jmx.ui.providerUI’ extension point has been changed. While previously having a child element called ‘wizardPage’, it now requires a ‘wizardFragment’.
A ‘wizardFragment’ is part of the ‘TaskWizard’ framework first used in WTP’s ServerTools, which for many years has been used throughout JBossTools. This framework allows wizard workflows where the set of pages to be displayed can change based on what selections are made on previous pages.
This change was made as a direct result of a bug caused by the addition of the Jolokia connection type in which some standard workflows could no longer be completed.
This change only affects adapters and extenders and should have no noticeable change for the user, other than that the below bug has been fixed.
Hibernate Runtime Provider Updates
A number of additions and updates have been performed on the available Hibernate runtime providers.
The Hibernate 5.0 runtime provider now incorporates Hibernate Core version 5.0.12.Final and Hibernate Tools version 5.0.5.Final.
The Hibernate 5.1 runtime provider now incorporates Hibernate Core version 5.1.4.Final and Hibernate Tools version 5.1.3.Final.
The Hibernate 5.2 runtime provider now incorporates Hibernate Core version 5.2.8.Final and Hibernate Tools version 5.2.2.Final.
Forge Runtime updated to 3.6.1.Final
The included Forge runtime is now 3.6.1.Final. Read the official announcement here.
What is next?
Having JBoss Tools 4.4.4 and Developer Studio 10.4 out we are already working on the next release for Eclipse Oxygen.
You can click here to download Red Hat JBoss Developer Studio.