Warning ! This site is currently under development, and may contain inaccurate and misleading information. Report an issue
| Status: Red. Known issues: | None

A JBoss Project
Red Hat

Latest posts

Happy to announce 4.5.3.AM1 (Developer Milestone 1) build for Eclipse Oxygen.2.

Downloads available at JBoss Tools 4.5.3 AM1.

What is New?

Full info is at this page. Some highlights are below.

OpenShift

Minishift Server Adapter

A new server adapter has been added to support upstream Minishift. While the server adapter itself has limited functionality, it is able to start and stop the Minishift virtual machine via its minishift binary. From the Servers view, click New and then type minishift, that will bring up a command to setup and/or launch the Minishift server adapter.

minishift server adapter

All you have to do is set the location of the minishift binary file, the type of virtualization hypervisor and an optional Minishift profile name.

minishift server adapter1

Once you’re finished, a new Minishift Server adapter will then be created and visible in the Servers view.

minishift server adapter2

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-replicatable environment.

minishift server adapter3
minishift server adapter4

Fuse Tooling

New shortcuts in Fuse Integration perspective

Shortcuts for the Java, Launch, and Debug perspectives and basic navigation operations are now provided within the Fuse Integration perspective.

The result is a set of buttons in the Toolbar:

New Toolbar action

All of the associated keyboard shortcuts are also available, such as Ctrl+Shift+T to open a Java Type.

Performance improvement: Loading Advanced tab for Camel Endpoints

The loading time of the "Advanced" tab in the Properties view for Camel Endpoints is greatly improved.

Advanced Tab in Properties view

Previously, in the case of Camel Components that have a lot of parameters, it took several seconds to load the Advanced tab. For example, for the File component, it would take ~3.5s. It now takes ~350ms. The load time has been reduced by a factor of 10. (See this interesting article on response time)

If you notice other places showing slow performance, you can file a report by using the Fuse Tooling issue tracker. The Fuse Tooling team really appreciates your help. Your feedback contributes to our development priorities and improves the Fuse Tooling user experience.

Enjoy!

Jeff Maury

Introduction

The JBoss Tools OpenShift tooling uses rsync between your local workstation and running pods on an OpenShift cluster. This is used by the OpenShift server adapter to provide hot deploy and debugging features to the developer.

If you’re running JBoss Tools and/or Red Hat JBoss Developer Studio on a Linux or MacOSX platform, you’re not concerned by this article. If you’re running on Windows platform, you may be aware that there are some permission relation issues that are painful. The aim of this article is to explain the root cause and how to fix it.

The problem

The OpenShift tooling is using rsync to synchronize local changes to your project to remote pods running on an OpenShift cluster. The problem on Windows is that rsync is very Linux/UNIX based and by default, it tries to may users/permissions of files between the two platforms. As Windows user and permission management is totally different from the Linux one, it leads to strange permissions being set on your local files, this causing some failures when trying to update those files.

It’s possible to prevent rsync to map this user/permission through some rsync flag. Unfortunately, rsync is not launched by the OpenShift tooling but through the help of the OpenShift oc client which does not allow to pass this flags.

The solution

On Windows, rsync is provided by several providers. The well known ones are Cygwin and cwRsync.

The last one is based on Cygwin and both of them use a mapping between Windows paths (C: based) and Linux/UNIX ones. This mapping can be controlled through a file called etc/fstab. The solution that we are proposing here is to instruct not to map user and permissions at this level. Please note that this file may not be present, so may need to create one in this case.

How to locate the file

The fstab file is located into the rsync distribution your are using (Cygwin or cwRsync). In order to get the installation path, open a Windows command shell and type the following command:

where rsync.exe

This will give you the path of the rsync.exe executable that is used by default. It has the general form of $MY_RSYNC_DIST_DIR\bin\rsync.exe where $MY_RSYNC_DIST_DIR is the folder where your rsync distribution is installed.

The fstab file is located at $MY_RSYNC_DIST_DIR/etc/fstab.

Updating the file

If you don’t find the file at the proper location (cwRsync case), then it’s very simple. Create the file at $MY_RSYNC_DIST_DIR/etc/fstab and paste the following content:

# /etc/fstab
#
#    This file is read once by the first process in a Cygwin process tree.
#    To pick up changes, restart all Cygwin processes.  For a description
#    see https://cygwin.com/cygwin-ug-net/using.html#mount-table

# This is default anyway:
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0

If the file already exists, then it’s likely that you have a line like:

none /cygdrive cygdrive binary,posix=0,user 0 0

So, just add the noacl flag to the list of options:

none /cygdrive cygdrive binary,posix=0,user,noacl 0 0

Save the file, you’re done and you should not have anymore permission errors during rsync operations !!!.

Jeff Maury

Looking for older posts ? See the Archived entries.
back to top