Half Term Action

February 20th, 2018

Although we had no particular plans, I had the whole of the February half term off work. We went over to Wales for the first few days. I had a lovely long run in the Forest of Dean on Sunday whilst the others went around the sculpture trail. Christine drew the short straw as she got to run back to Monmouth just as the Arctic conditions arrived.

The next day we had to shovel the snow off the driveway before heading over to Llangorse Activity Centre. Christine wanted to cement the skills she’d learnt on her rope handling course whilst her Dad was around. Sue and I went for a short walk up a snowy hill!

Unfortunately, the weather deteriorated again as we headed back to Southampton. Not surprisingly, therefore, we weren’t the only ones to have the idea of going to the Winchester Science Centre and it was Thursday before I could actually book a ticket. By this time we had blue skies but it made a nice change to actually be able to sit outside and eat our lunch. The children enjoyed the special ‘Secret World of Gases’ show even if only for the loud bangs. I was less sure about the ‘We Are Aliens!‘ film in the planetarium but you could always just lie back and close your eyes… The same was true of our rather belated trip to see Paddington 2 the following day!

Christine took up the reigns again at the weekend with a trip to Mottisfont. I only made it as far as the car park, running back home instead.

Marathon training begins

January 14th, 2018

I finally cashed in my prize from the Hursley 10K for an entry in the ABP Southampton Marathon on 22 April. The entry may come free but sadly the training does not! This week I embarked on a training plan. My starting point is one from the London Marathon site. For me, it primarily means running one more day a week than I typically average and mixing things up a little with intervals and, of course, ever longer runs. On the few occasions in the past where I’ve followed a training plan, I’ve quite enjoyed the variety as, left to my own devices, I’m prone to just churning out the same old runs at the same pace.

Sticking to the plan is unlikely to plain sailing. There was already some flexibility needed this week with visiting colleagues disrupting my normal lunchtime routine. There are already a couple of overseas trips in the calendar for the coming months and the weekend of what is supposed to be my longest run, I’ll be racing four days at the JK! Sadly I’m also not entirely injury free, with a long-term problem with my left hamstring and my right knee never having quite recovered from the jar it took in the long grass at the Caddihoe Chase. Stretching and strength training therefore also form part of the plan and they’re probably the part that I’ll find hardest to keep going!

All of this begs the question “So do you have a target time?”. That’s a tricky one. Having finished the Clarendon Marathon in 3:26 at the end of last year, aiming under 3:15 for a London Marathon good-for-age time seems like a reasonable start. Back in the dim and distant past the power of 10 claims that I completed the distance in under three hours but I’m somewhat dubious about the course measurement. That was also over 10 years ago but this will be the first time I’ve run a road marathon so should I be aiming for something a bit more ambitious? Let’s just see how the training pans out…

Kubernetes arrives in Docker for Mac

January 8th, 2018

My focus for the last 18 months having been on deployment to Kubernetes, I was excited to hear the news back at DockerCon that Docker Inc were recognising the dominance of Kubernetes. This included adding support to Docker Enterprise Edition (alongside Swarm) and to Docker for Mac/Windows. The latter has now hit beta in the edge channel of Docker for Mac and the following are my first impressions.

Having not had any particular need for the latest and greatest Docker for some time, my first step was to switch from the stable channel back to edge. That’s a pretty painless process. You do lose any of your current containers/images but you’ve got the ones you care about stored away in a registry somewhere haven’t you?! Then open up the preferences, switch to the shiny new Kubernetes tab, check the box to Enable Kubernetes and hit Apply followed by Install. As promised, it took a couple of minutes for the cluster to be created.

The UI leaves you a bit in the dark at this point but thankfully the email that arrived touting the new capability gave you a pointer as to where to go next: the install creates a kubectl context called docker-for-desktop. With this information I could access my new cluster from the command line:

Now to take the cluster for a quick spin. Let’s deploy Open Liberty via the Helm chart:

And, due to the magic of Docker for Mac networking, after a short wait we are treated to the exposed NodePort running on localhost:

Open Liberty on Kubernetes on Docker for Mac

Undoubtedly there will be issues but, at least at first glance, this support would seem to go a long way to answering those who see minikube as an inhibitor to making Kubernetes a part of the developer’s workflow.

First orienteering of 2018

January 8th, 2018

Some years seem to go by where we don’t make it to a single SCOA league event; this year there’s only been one Sunday so far and we already have one in the bag! As we pulled up at a sunny but windswept Cadnam’s Pool we certainly weren’t the only ones (there were over 90 entrants on the blue course).

Emma and Duncan zipped round the yellow and white courses respectively. (Kieran had been quite generous with the smiley faces on their courses given the difficulty of following paths buried in mountains of damp leaves.) Christine ran the blue and I tackled the brown (which if nothing else meant no queueing at the start). My legs were certainly tired from the previous day’s exertions but I suspect at least half of my eleven-minute deficit behind the winner was simply due to lack of concentration. I regularly run through the area (sometimes at night) without a map but I can’t claim that helped one iota. It was just nice being out in a lovely runnable bit of the forest though.

Hants XC

January 7th, 2018

The Hampshire Cross-Country Champs were back at Fairthorne Manor again this year. With some heavy rain over the preceding few days, it was a return to the conditions of two years ago: mud and more mud. It could have been worse though as the route of the course steadily evolved over the day as the tapes were adjusted to avoid some of the stickiest spots.

As is customary, the ladies race went first and the children and I flitted from one part of the course to another to catch sight of Christine as many times as we could. I then left them to meet her at the finish whilst I stripped off more layers than felt advisable and had a quick warm up trying to find the toilets (they had been right behind me!). I started fairly steadily but, for a change, after the first two laps I was still overtaking people and wasn’t experiencing any heaviness in my legs or nausea. I finished in a fairly respectable 56th place, fourth V40 and, together with my Eastleigh teammates, we bagged third place in the veteran team competition.

(Photos are Copyright hammy8241)

Cornish Christmas

December 28th, 2017

Christmas this year was spent down in Cornwall with Christine’s brother and family. We travelled down on the 24th, stopping off at my Uncle’s in Devon en-route. An early start (or maybe just luck) meant we had a painless journey and the sun really was out in force for the hour we spent on the front at Teignmouth. We weren’t so lucky with the weather on Christmas Eve as we headed over to St Agnes for a walk along the coast but the old mine workings provided some shelter from the squalls and the wind certainly blew away any cobwebs.

Christmas Day saw a return to the beach, this time at Maenporth, with the children keen to try the body boards they’d been given for Christmas. Christine also took a dip in the water but I generously offered to be the one who stayed dry and tried to warm everyone up when they finally came out of the water! Thankfully we were ready to pull out of the car park just as the rain returned…

On Boxing Day we returned home (another clean run) for a few quiet days before the New Year.

Run some Pubs

December 17th, 2017

Just to record the event for posterity, “Run the Pubs” did take place in 2017. As in the past few years, we deviated somewhat from the original format in that the pubs we visited on the run weren’t all those that we visited during our Tuesday night runs in the summer. This year,
we even went to one pub that we hadn’t been to earlier in the year but it made a nice loop of around 15 miles. Unfortunately, the heavens opened towards the end of the run but it made warming ourselves by the fire at the New Forest Inn all the more pleasant!

Elevation Profile
Speed Profile
GPX

Multi-Arch Docker Images

October 8th, 2017

Things have been a little hectic recently and a whole month has slipped past without a blog post. The following is old news now but it’s still something that I wanted to call out. As of mid-September, all the official images on Docker Hub have been multi-arch enabled and many of them, including the websphere-liberty image, are now available for multiple platforms.

So what does that mean practically speaking? It means that, whether you are on x, p or z, hardware, you can now use the same docker run websphere-liberty command and have it pull the appropriate image for your architecture. That may seem like a trivial thing: what was so hard about docker run ppc64le/websphere-liberty after all? What it means though is that I can also use the same Dockerfiles, Compose files and Kubernetes configuration, regardless of what platform I’m on.

If you consider WebSphere Liberty, for example, we don’t have any architecture specific code but we are obviously dependent upon Java which has both native code and is dependent on platform specific libraries. That meant that, to build the ppc64le/websphere-liberty image, we had to change the Dockerfile to build from ppc64le/ibmjava. That’s no longer the case.

To take another example, with my Microservice Builder hat on we are building Helm charts that we want to run on multiple platforms. Previously we’d had to rely on multiple charts or overrides to select the correct image for the platform. That’s also no longer the case.

Now just to be 100% clear, this is not about having a single image that can run on multiple architectures: that would require a hypervisor or emulator. The magic here is purely that websphere-liberty is no longer an image, it is a manifest that points to the layers that make up the images for each architecture, and, when the image is pulled, that indirection is resolved by the client to select the image for the current platform.

If you want to know more of the technical detail and the journey to get this far, I suggest reading the blog posts by my colleagues Phil Estes and Utz Bacher. I also need to call out Tianon Gravi whose tireless work on the official images meant that enabling this support for WebSphere was entirely painless.