Cloud, Microservices and Container Workshop in South Africa!

Lot’s of people are talking about these topics nowadays. Heaps of slides and samples are available for download, lots of presentations can simply be streamed from youtube.

In Johannesburg we were working with these solutions hands-on: I delivered a 3 day Cloud, Microservices and Containers workshop on behalf of Oracle.

Find attached some impressions from the smart and fun group of devs and architects I was working with.

 

 

User Wercker to Start a Kubernetes Cluster: Click2Kube

When Oracle recently acquired Wercker some people wondered how it will fit into the Oracle cloud portfolio. Now there is a bit more of a clue; Oracle started beta-testing Click2Kube which allows you to to use Wercker to spin up a Kubernetes cluster.

In a quick smoke test I achieved the following in a few minutes:

  • I provisioned a Kubernetes cluster in about 4 minutes.
  • Details about the endpoint in the form https://k8s-master.1234567.obmc.wercker.com was mailed to me
  • The cluster can be accessed using standard kubectl from the command-line. Also an example of how to configure access to the cluster for the endpoint given is provided.

Once more I am packing suitcases, yet I am looking forward to explore it a bit more in depth. Looks like there is exciting stuff ahead! Check out http://www.wercker.com/ for more details.

By the way, I will also be speaking about Wercker and how it works together with OCCS at Oracle CODE in Mexico City on June 29th, 2017. Save the date now, pass by, and say Hola!

 

WebLogic / JCS X-Powered-By Header and Penetration Tests

The following applies to WebLogic 11 / 12c and JCS the same way and can be important when you try to harden your WebLogic installation.

The X-Powered-By Header

WebLogic responds with an additional

X-Powered-By: Servlet/2.5 JSP/2.1

HTTP header to web requests. This is according to the Servlet 2.4 spec. However, sometimes it is desirable to expose as little information as possible and quite often the default behavior gets you a critical remark when a penetration test is done.

How to Disable

You can disable this behavior (and suppress the header completely) with the following MBean setting:

X-Powered-By Header WebLogic Server uses the X-Powered-By HTTP header, as recommended by the Servlet 2.4 specification, to publish its implementation information.

Following are the options:

  • “NONE”: X-Powered-By header will not be sent
  • “SHORT” (default): “Servlet/2.4 JSP/2.0”
  • “MEDIUM”: “Servlet/2.4 JSP/2.0 (WebLogic/9.1)”
  • “FULL”: “Servlet/2.4 JSP/1.2 (WebLogic/9.1 JDK/1.4.1_05)”

MBean Attribute:
WebAppContainerMBean.XPoweredByHeaderLevel

For details, check the documentation.

 

OSB 12c (12.2.1.2) More Maven Issues and Solutions

Existing Bugs and Issues with Maven and OSB 12.2.1.2 and How to Fix Them

It is a well known fact that Maven in OSB 12.2.1.1 came with glitches that required manual fixes as described in Robert Patrick’s blog posting and in the Oracle support notes Doc ID 2186338.1. However, this article is centered around the latest OSB 12.2.1.2, its particular Maven issues and how to fix them. Same as version OSB 12.2.1.1 also 12.2.1.2 suffers from various maven glitches, however in a more subtle way.

[Note, that I usually don’t post references to MOS, since not everybody has access to it. Anyway, if you cannot access to Doc ID 2186338.1 don’t worry. It basically describes what Robert writes about in his blog. In addition it recommends actually not to fix it manually, but instead wait for a patch. I actually I agree. Also note that as of OSB 12.2.1.2 this issue is not marked as fixed although the behavior of the newest version is different.]

The current situation with OSB 12.2.1.2 and Maven is “interesting”, to put it mildly:

  • mvn with OSB 12.2.1.2 and the maven push plugin only will not work out of the box. This means the official documentation won’t help you in this case. The good news – despite the fact that mvn with OSB 12.2.1.2 is not working correctly – is that it is rather easy to fix manually (see below, Fix 1: Maven with OSB 12.2.1.2 and the mvn push plugin).
  • Also mvn with OSB 12.2.1.2 and maven.oracle.com will not work (as of Jan 7, 2017). Since the required .pom and .jar files are pulled over from maven.oracle.com and several of them are missing it is obviously not easy to fix it yourself.
  • Here comes the crazy part (well, crazy on an IT scale): if you configure both, i.e. first use the OSB Maven plugin to push from an OSB 12.2.1.2 ORACLE_HOME into the .m2 repository, and then in addition configure the maven.oracle.com repository, then it is done twice. Yet then also both issues cancel each other out.

 

Here are the fixes, as promised

Fix 1:Maven with OSB 12.2.1.2 and the mvn push plugin

a) easy manual fix, updating two lines in two files:

After usign the push plugin, in .m2 Repository, e.g. D:\Users\frank\.m2\repository\com\oracle\servicebus\sbar-system-common\12.2.1-2-0 change the file sbar-system-common-12.2.1.2.pom as follows:

under

    <parent>
         <groupId>com.oracle.maven</groupId>
         <artifactId>oracle-common</artifactId>
         <version>12.2.1-1-0</version>
     </parent>

change the version tag to <version>12.2.1-2-0</version>

also for the file sbar-project-common-12.2.1.2.pom in the directory
.m2\repository\com\oracle\servicebus\sbar-project-common\12.2.1-2-0 change the version number the same way.

b.) Install patch 22392646

This is the second, alternative option to fix the issue. Install patch 22392646 from My Oracle Support. After a lengthy and tiring discussion I had with support it is now also applicable to OSB 12.2.1.2. – voilà! Depending on your provisioning approach this might be the easier fix, but actually you could just copy over the files (or even run sed on those two files).

 

Issue 2: Maven with OSB 12.2.1.2 and the maven.oracle.com

There is no known fix at the moment, maven.oracle.com is missing a whole lot of files (again) and also some of those delivered are wrong again. Bug 23698828 describes a very similar issue, yet reports it as fixed for 12.2.1.1. Oracle support knows about it, so let’s hope it will be fixed soon in maven.oracle.com. I will keep you posted, promised.

Update: After the first round with support their “solution” did not work. The issue is still not fixed. If you think about it for a second, how hard can it be to push a patched .m2 repo to maven.oracle.com? Stay tuned 🙂

To conclude

You are lucky if you simply retyped all the instructions available and configured both ways to use Maven with OSB 12.2.1.2 (although I somehow guess you would have not read this article then).

As soon as you follow a clear path and either go for the push plugin on a machine with OSB installed, or maven.oracle.com on a build server without an OSB installation, you will run into issues. It is obvious that Oracle would do good with automatically testing this functionality for future releases. Not being able to browse the maven.oracle.com repo makes it more difficult for customers to debug those issues, so it might be a good idea to use a local proxy / cache.

Let me know your feedback!

 

WebLogic 12c Zero Downtime Director’s Cut: What you missed …

Everything has limitations. And 2 Minute Tech Tips are 2 minutes only. Strict rules. Anyway, you missed a lot of the good stuff that I recorded in Manly Australia, i.e. the introduction of the 2 minute tech tip about Zero Downtime (ZDT):
Why I was standing on Manly Beach, the wildlife story about sharks that stopped me from having a bath, furthermore some whales (real whales! – not a Docker whale this time) and all the crazy things that happened while we recorded.

So here is the introduction. Enjoy.