Juju, maas and agent-name

While working on a procedure with colleagues, I ran into an issue that I prefer to document somewhere. Since my blog has been sleeping for close to a year, I thought I’d put it here.

I was running a set of tests on a version of juju that will resemble 1.16.4. This version, as each one after 1.16.2 implement the agent-name identifier that is, as I understand it, used to discriminate between multiple bootstrapped environments.

I had a bootstrapped environment on a maas 1.4 server (1.4+bzr1693+dfsg-0ubuntu2~ctools0) with a few services running on two machines. Many hours of testing led us to identify that even though juju was using agent-name, it appeared that maas was not.

After upgrading to the latest and greatest version of maas (1.4+bzr1693+dfsg-0ubuntu2.2~ctools0), I ran a “juju status” and to my dismay I got this :

$ juju status

Please check your credentials or use ‘juju bootstrap’ to create a new environment.

Error details:

no instances found

Using –show log to get a bit more information gave me the following :

$ juju status –show-log

2013-11-28 15:33:05 ERROR juju supercommand.go:282 Unable to connect to environment “maas14”.

Please check your credentials or use ‘juju bootstrap’ to create a new environment.

 

Error details:

no instances found

Going to the maas server to look at a few log, I found that juju was indeed sending the agent-name to maas :

GET /MAAS/api/1.0/files/97fbdbaa-c727-4f19-8710-dbc6d361e8db-provider-state/ HTTP/1.1″ 200 516 “-” “Go 1.1 package http”

192.168.124.1 – – [28/Nov/2013:16:33:32 +0100] “GET /MAAS/api/1.0/nodes/?agent_name=97fbdbaa-c727-4f19-8710-dbc6d361e8db&id=node-17ad8da0-5361-11e3-bd0a-525400fd96d7&op=list HTTP/1.1″ 200 203 “-” “Go 1.1 package http”

Well, it turns out that after the upgrade of the maas packages, maas will start to honour the agent-name, but since the instances were created without any agent-name, it was no longer able to provide the information.

Raphael Badin who works on the maas team suggested to use the following maas shell commands to fix things up :

$ sudo maas shell

>>> from maasserver.models import Node
>>> # This assumes one wants to update *all* the nodes present in this MAAS.
>>> Node.objects.all().update(agent_name="AGENT_NAME_FROM_JUJU")

Be very careful with such a command if your maas environment is in production as this will change all the nodes present in MAAS.

Publié dans Technical | Laisser un commentaire

Planes, Trains & Automobiles

Ok, the title shows my age. But a facebook post from a colleague (oh, yeah, who happens to be my boss), writing his thoughts on a train to Québec city made me think of my own experience of today, sitting in a plane for 8 hours on my way to Montréal.

Not because we were late leaving by one hour, wait that was only enlightened by the pilot’s humour in describing in almost real time the reasons for us being late (mixup in the baggage loading, then nobody to remove the boarding gate, then the guy who’s supposed to move the plane out of the  boarding area just left without notice). But because this plane was taking me from he country I elected to live from the country were I was born, the city where I spent some of my best time.

Flying for me is rarely a burden, once I’m in the plane.  Actually, once I’ve cleared security and am waiting to board.  Then the calm reaches me; all I need to do is sit and be taken care of. Even when, while watching the beginning of “The Fight Club” on the onboard video system, I watch an “in flight collision”, three days after dreaming of experiencing an airline crash on take off.  I am not a frequent flyer by any measure, but air travelling is not a problem for me.

But every now and then, I get to fly back home from home.  I get to return to Montréal, Québec, from Le Chesnay France.  This does often put me in curious positions. Like an hour ago when, in the hotel’s elevator, I meet two people from France. I recognise the accent, then automatically switch to my “France” accent and behave just like any other person from France visiting.  But earlier, coming back from the airport, I talked to the taxi driver as any other quebéquois would have done.  I do like this situation. Makes me think that I have taken out the best of both worlds. I also remember this big map of France that I put up on my appartment wall, back when going to France was not even a possibility yet.  Back then it was a wish.

It also take me away from my family, my two beloved daughter and Nathalie, the woman I love. And bring me back to my family, my two other brothers and my parents who still live here.  Even though I am briefly far away from the family I have participated to build, I am also briefly closer to the family who saw me grow up.  Airplanes get me to go from one to another in only a few hours.

Automobiles will not see me much here. This may be a proof that I am only a visitor here nowadays.  I used to drive the streets of Montréal daily, without hesitation, knowing where to go.  I have this feeling driving in the Paris area nowadays.  I’m much more familiar with Versailles and Paris than I would be in Laval or the east end of Montréal.  But if I was to come back here, it would all come back very quickly.

Planes, trains & Automobiles take us to our lives at the speed at which they evolve, or at the distances where they happen.

Publié dans Fun | Un commentaire

Installing Ubuntu Quantal with Full disk encryption

For historical reasons, I have been installing my Ubuntu laptop on a fully encrypted disk for years.  Up until now, I needed to use the alternate CD since this was the only possibility to install with full disk encryption.

This is no longer the case.  If you want to use full disk encryption with Quantal Quetzal, you can use the standard installation CD and will be presented with the following options :

You can then select the “Encrypt the new Ubuntu installation for security” option to request full disk encryption. Alternatively, you can elect to use LVM as I did, but this is not a requirement in order to get full disk encryption.

Kudos to the Ubuntu development team for making this option so simple now !

Publié dans Technical, Ubuntu Desktop | Laisser un commentaire

Lucid panics after 208 days ? Don’t get biten by that

If you are part of those people who are reluctant to upgrade to newer kernels, here is an example of how this can make your life miserable every 209 days.

There is a specific kernel bug in Lucid that will provoke a kernel panic after 208 days, which is regular behavior on a server (and a cloud instance ?). Here is the kernel GIT commit related to this :

http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-lucid.git;a=commit;h=595378ac1dd449e5c379bf6caa9cdfab008974c8

This has been fixed in the ubuntu kernel since 2.6.32-38 months ago but if you prefer not to upgrade to earlier kernels on Lucid, you will be hit by this bug.

Publié dans Ubuntu Server | Laisser un commentaire

Amazon Music Store’s MP3 on Precise

One nice thing about Banshee was the seemless integration of the Amazon MP3 store. Since I reinstalled my laptop on Precise, I know have Rhythmbox instead of Banshee which does not seems to offer the same kind of integration.

Luckily for me, I found a nice little hack that will help me get my favorite non-DRMed MP3 files on Ubuntu :

http://ubuntuforums.org/showthread.php?t=1955149

In short, install clamz that will allow you to read & download the .amz files that the Amazon music store sends when you buy music. 

Hope this helps

Publié dans Ubuntu Desktop | Laisser un commentaire

One year at Canonical

One year ago, I had done my last day after thirteen years with Digital Equipment Corp which became Compaq, then HP.  After starting on Digital Unix/Tru64, I had evolved to a second level support position in the Linux Global Competency Center.

In a few days, on the 18th, I will have completed my first full year as a Canonical employee. I think it is time to take a few minutes to look back at that year.

Coming from a RHEL/SLES environment with a bit of Debian, my main asset was the fact that I  had been an Ubuntu user since 5.04, using it as my sole operating system on my corporate laptop. The first week in the new job was also a peculiar experience, as it brought me back to my native country and to Montréal, a city that I love and where I lived for three years.  So I was not totally lost in my new environment. I also had the chance of ramping up my knowledge of Ubuntu Server, which was an easy task.  What was more surprizing and became one of the most exciting part of the new job is to work in a completely dedicated opensource environment from day one.

Rapidly I became aware of the fact that, participating in the Ubuntu community was not only possible, but it was expected.  That if I were to find a bug, I needed to report it and, if possible find ways to fix it.  In my previous job I was looking for existing solutions, or bringing in enough elements to my L3 counterpart that they would be able to request a fix to Red Hat or Novell.  Here if I was able to identify the problem and suggest a solution, I was encouraged to propose it as the final fix.  I also rapidly found out that the developpers were no longer the remote engineers in some changelog file, but IRC nicks that I could chat with and eventually meet.

Then came about Openstack in the summer : a full week of work with colleagues aimed at getting to know the technology, trying to master concepts that were very vague back then and making things work.  Getting Swift Object Store up and running and trying to figure out how best this could be used.  Here I was asked to do one of the think I like best : learning by getting things to work. This lead to a better understanding of what a cloud architecture was all about and really made me understand how useful and interesting a cloud infrastructure can be. Oh, and I did get to build my first openstack cloud.

This was another of this past year’s great experience : UDS-P. I had heard of UDS-O when I joined but it was too early for me to attend.  But after six months around it was time for UDS-P and, this time, I would be there.  Not only I had time to meet a good chunk of developpers, but I also got a lot of work done.  Like helping Michael Terry fix a bug on Deja-Dup that would only appear on localized systems, get advices on fixing kdump with the kernel team and some of the foundation engineers and a whole lot more.

Then came back the normal work for our customers, fixing their issues, trying to help improve their support experience and get better at what we do. And also seeing some of my fixes make it into our upcoming distribution and also back to the existing ones.  This was a great thrill and an objective that I did not think would come by so fast.

Being part of the Ubuntu community has been a great addition to my career. This makes me want to do even more and get the best out of our collective efforts.

This was a great year. Sure hope that the next one will be even better.

Publié dans Canonical, Ubuntu Desktop, Ubuntu Server | Un commentaire

Customer support the Ubuntu way

Recently, I have realized a major difference in how customer support is done on Ubuntu.

As you know, Canonical provides official customer support for Ubuntu both on server and desktop. This is the work I do : provice customer with the best level of support on the Ubuntu distribution.  This is also what I was doing on my previous job, but for the Red Hat Enterprise Linux and SuSE Linux Enterprise Server distributions.

The major difference that I recently realized is that, unlike my previous work with RHEL & SLES, the result of my work is now available to the whole Ubuntu community, not just to the customers that may for our support.

Here is an example. Recently one of our customer identified a bug with vm-builder in a very specific case.  The work that I did on this bug resulted in a patch that I submitted to the developers who accepted its inclusion in the code. In my previous life, this fix would have been made available only to customers paying a subscription to the vendors through their official update or service pack services.

With Ubuntu, through Launchpad and the regular community activity, this fix will become available to the whole community through the standard -updates channel of our public archives.

This is true for the vast majority of the fixes that are provided to our customers. As a matter of fact, the public archives are almost the only channel that we have to provide fixes to our customers, hence making them available to the whole Ubuntu community at the same time.  This is different behavior and something that makes me a bit prouder of the work I’m doing.

Publié dans Canonical, Industry, Technical, Ubuntu Desktop, Ubuntu Server | 4 commentaires

Remote worker .vs. distributed team, an interesting view

I’m not a big fan^c^c^c user of Twitter, but this morning, there was a retweet of an interesting blog post that I want to share here :

Remote worker vs distributed team

Being a remote worker myself working in a somewhat distributed team, I can very well relate to what the author is talking about. I thought that it was worth sharing in a different way.

Publié dans Industry | Laisser un commentaire

Profession : support engineer

A while back, Mark talked about some of the professions in the computer industry. Unfortunately I can’t seem trackback those articles.  Instead of waiting for him to talk about the on I am part of, I thought of doing it myself.

In a train back from Paris, where I have spent the day doing an intensive session of troubleshooting for one of our customers, I am reminiscing about the work I have achieved today, the good decision I took which helped us identify a potential cause for  the suspend/resume issue that we were investigating.

First of all, this time I was not the one with the knowledge : Colin King was.  I was there to assist and help in identifying why the laptop was not resuming from suspend. Since the customer plans to deploy 2000 of this specific model, it is better to identify and fix those kind of issues beforehand.

So we went in, him in somewhere in England, me in Paris, both in a constant IRC chat, shooting ideas back and forth.  Well mostly him sending ideas and me shooting back the results and observations, things that I was seeing, important or not, trivial or what I thought was important.  And in those situations where you are part of a chain and not necessarily the one with the most knowledge in the issue being investigated, it is very important to avoid judging on the importance of the information that  you provide.

Too often, the dreaded “oh, I thought that this wasn’t important so I didn’t bother to mention” spell just brings tons of bad magic on the investigation efforts.  I learned about it the hard way, being too often at the other end of the chain, trying to make sense of an investigation with the help of a more junior support colleague or a customer who, too many times, has more important things to do.

This time, one of the most important piece of information came about this way :

(12:08:29) caribou: it’s about lunch time, I may step out to grab a sandwich in the meantime
(12:12:08) cking: sure
(12:12:16) caribou: fyi, it doesn’t completely powers off
(12:12:30) cking: AH
(12:12:45) cking: this means it’s definitely a problem with the power management on the southbridge
(12:12:51) caribou: after the “shutdown”, the screen stays on with [28. ….] Power down.
(12:13:19) cking: if it can’t S5 then we can do a S3 either, that’s the same power management register on the southbridge

By simply indicating that, after invoking the ‘shutdown’ command, the laptop did not power off but stayed powered on in some limbo, I brought to Colin’s attention, a situation that for me was trivial, but for him was very important.  I did not know that the suspend/resume functionality and the power off functionality use the same mechanism, the same power management register and that if one did not work, the other couldn’t work either !

From that point on, we were able to target the whole power management subsystem.  After a few more tests on the operating system side, cking became convinced that it was a hardware issue. One easy way to find out is to swap the operating system and see if the problem persists. So here I go, installing Windows 7 on this laptop, installing the graphic driver to get the suspend functionality working to finally be able to test the same functionality on Windows 7.

One other important thing highlighted by cking was to make sure that Windows 7 was also using the ACPI functionalities and not the old APM, which would have rendered our test useless.  A few minutes of searching the web with the support engineer’s best friend : the web search engine pointed to many articles on Microsoft’s website talking about ACPI & Win7. That was sufficient to confirm that it was also using ACPI.

So I went ahead and actioned the “Suspend” functionality on Win7.  The laptop’s screen went blank, but the power button kept blinking with a few more LEDs turned on, which was the main symptom on Ubuntu as well.  This and the fact that shutting down Windows 7 left the laptop in the same kind of limbo’s half powered down state, achieved to convince us that we were facing a hardware problem and not some bug of our operating system.  The customer still have to find out if this is systematic on that model of Sandybridge laptop or this is only happening on this single unit. But now, they know were to look at, especcially  since their back up plan was to deploy those laptop on Windows 7 instead of Ubuntu.

I wanted to write about today’s session because I thing that it shows the kind of investigating work that is expected from a support engineer.  Most of the time, we are not there to fix bugs, but to clearly identify them, to find ways to reproduce them as much as possible.  Our job is to provide the data that will be necessary to identify the flaw and fix it.  Sometimes, the first action is to find workarounds so the user can continue his work while we look for a more definitive solution.  Some of us will even go further and suggest fixes to the developpers or at least help them in fixing those bugs.

A support engineer needs to be investigative, to keep an open mind, to avoid the mistake of being convinced that he already knows the answer before starting to look at the data.  He must be able to ask for help, to be humble about his knowledge and respect the knowledge of others.  And often, it is best to take a step back and look at a problem from different angles.  Sometimes the solution is easier to find from a few steps back.

I have been doing this job for almost fifteen years and I still  get a kick at identifying bugs, in helping users with their issues, in trying to make their computing experience as easy as it can be.  I know that many of my colleagues feel the same about it.  I also think that a support engineer is not just some sysadmin who doesn’t have the skills required to become a developer.  I’ve seen a few too many devs digging in the source code, looking for answers to a problem, when simply opening the log files and searching for known issues was enough to identify and fix the problem.

And don’t get me wrong, I admire the skills of the developers and I’m still hoping to get more and more involved in works similar to theirs, but I also have a great respect all those support engineers that go after the next problem and find a fix for it.

Publié dans Industry | Laisser un commentaire

Ambivalent

As I have just discovered that I was now a tool, soon to be backaged in Oneiric. Looks like I might meet myself at the next UDS…

https://bugs.launchpad.net/ubuntu/+source/caribou/+bug/845300

🙂

Publié dans Fun | Laisser un commentaire