Having hooked up UrbanCode Deploy with Patterns (UCDP) to OpenStack and UrbanCode Deploy (UCD), it’s time to take a look at a “HelloWorld”-style example. I’ll work through a single-server UCDP blueprint, deploying a single UCD component to it.
UrbanCode Deploy with Patterns (UCDP): a mouthful right? A pretty neat and powerful mouthful though. Consider theses two posts: Cooking up deployments on stacked clouds and UrbanCode Deploy with vSphere and Chef. UCDP makes it simpler and easier to carry out a bunch of steps detailed in those posts. Before I get into the details, let me first quickly go through how to install UCDP and connect it to an OpenStack setup.
In a previous post (Cooking up deployments on stacked clouds) I looked at using UrbanCode Deploy with OpenStack and Chef. I showed one way of creating a stack from a Heat template, injecting the UCD agent and Chef into one of the newly provisioned servers, cooking a Chef recipe and deploying an application on it. This time round I look at how to do almost the same thing with VMware vSphere.
Calling Rational Team Concert an old dog isn’t fair – it’s only just over 5 years old – and I mean it in the nicest possible way in the context of the Jazz Jumpstart team being “old”, and the Rational Emerging Technologies Team, well, “emerging”.
Anywho, as is my wont, I was going through what could be in the next CLM release, noticed the bit about Rational Team Concert Build and IBM UrbanCode Deploy and decided to try out this “emerging” feature with Rational Team Concert 4.0.5 RC1.
Having successfully gone through installing WebSphere and creating Base WepSphere profiles using Urbancode Deploy (UCD), the next logical step is to use the profile in some way. Here’s where the Application Deployment for WebSphere plug-in comes in. There are a bunch of steps in this plug-in that help with a whole range of WebSphere tasks.
After creating generic UCD processes to first install WebSphere and then create standalone (Base) WebSphere profiles, I wanted to turn my attention to applying the second process to WebSphere ND. I’d already written about creating a clustered CLM setup using the command line in my old post Clusters of CLM applications without a GUI so this should have been pretty simple. It occurred to me that the steps in both the processes from the last two posts could actually be steps in a UCD plug-in, just like the Application Deployment for WebSphere plug-in. Of course I’ve never written an UCD plug-in before and my experiences with writing RTC extensions had left me with the distinct feeling that this kind of thing was not for mere mortals like me. This was the domain of gurus and gods like Ralph Schoon. However, the thought had been planted in my head and, like in Inception, I could not help but follow it through.
Following up my last post, I describe a simple sample UCD process that helps with automating the creation of Base WebSphere profiles. I hope to attack setting up WebSphere ND infrastructure at some later time. As with the previous post the intent is not to create a “perfect” process but one that gets the job done while exploring some other aspects of UCD.
My TV blew up.
We rarely watch TV anyway (except for any All Blacks games, The Game of Thrones, Dexter, Sherlock Holmes, Modern Family and House of course:-) so we got rid of the Foxtel cable box and haven’t had a TV for a couple of months now. Seriously, no TV. Haven’t missed it. Well, until my wife and I were in the living room last week, with the fire going and she says “Would have been nice to flick through the channels to see what’s on, wouldn’t it?”. So I set out to buy one, did a bit of research on what was out there and settled on a Samsung Smart TV. No, not the really big, really cool one with the motion/voice control, facial recognition.
My main requirement is simplicity. I have an Airport Express, an Apple TV, a T-Box, DVD player, a USB drive full of home videos and copies of my DVDs, a HD PVR that I use to get the content out of the T-Box onto the USB drive so I can watch it on my 27″ iMac in the other room and a HMDI switch as the TV only had one HDMI input. Yeah, a lot of messy cables and messy moving,copying stuff around just so I can kind of watch/listen to any of my content anywhere. Part of the problem was my old TV, it had neither USB nor network connectivity.
The new Samsung that’s coming over in a couple of days does everything I need, it does 3D and is about a fifth the thickness and weight of my old one. I was rubbing my hands in glee at the thought of hooking it all up when my wife took the glee out of it when she pointed out that all I need to do is hook up 3 HDMI cables and one Ethernet cable to it. Bummer! I’ve had to put all those extra cables, adapters, connectors etc in the garage.
What on earth does this have to do with Jazz? Not much, except that (if I’m allowed!) I can have a 40″ full HD external display on which to put all those Eclipse, browser, Notes, RDP windows when I’m working:-) And still watch in one corner the All Blacks thrash whichever team happens to get past the Haka.
Apparently all this multi-tasking, context switching isn’t so good for productivity, but I digress.
My brain made some vague connections between my new TV and Jazz (RTC specifically) when I was reading Robin’s post on finding files and re-reading Jean-Michel’s Christmas Gift post. As I said to the good members of the NSW South Coast chapter of the ACS last week: the word for the day is “integration“. What about “integration”? Well, it doesn’t exist in RTC’s vocbulary. Oh, sure it does when you want to connect it to all sorts of other systems and tools. But when talking about providing all the capabilities that make development teams effective and productive – version control, task tracking, development planning, build management, process execution, in-context collaboration, real-time status updates- the word “integration” isn’t one I’d use with RTC. Because all of this stuff is “just there”. I don’t need that extra “cable” or “adapter” or “connector” just to get what I see as fundamental capabilites that every development team should have.
On the other hand this missing word was also a problem for me. Just as I enjoyed working out how connect all these different audio/visual components together, I also used to enjoy integrating different tools together and making them sing. Didn’t matter whether these were custom built integrations (like one I built between FoxPro and Quattro Pro way back in 1991) or “out-of-the-box” integrations (your pick of your favourite combination of ClearQuest, ClearCase, Bamboo, Crucible, Subversion, Cruise Control, Jira, Git, Bugzilla ad nauseum). What takes the glee out of this was that all the time and effort I was spending in integrating stuff meant less time and effort devoted to actually using the things that were being integrated.
In other words: the half hour I spent fiddling with stuff was a half hour of a House episode missed.