Keep bailing

There’s been a lot of talk in recent months about the appalling gender inequality, and discrimination, in the technology world. As a privileged white american male, I am, of course one of the beneficiaries of that inequality, as well as being part of the problem. I’m  very much aware of this, and am, most of the time utterly at a loss as to what I can do about it.

The thing that I find to do most frequently is to stand up and speak out against injustice when I see it. The term for this is usually ally.

However, as an ally, something that one tends to hear frequently is “do you think nobody has tried that before?!” The point here being that the thing that I’m doing hasn’t solved the problem yet, and am I so arrogant that I think I’m going to solve the problem myself overnight by trying what others have already done.

When I hear this, there’s two things that come to mind.

One is an image of being in a boat that is full of water, and having only a leaky bucket in my hands, I start bailing. Other people in the boat stare incredulously, and say, “do you think that nobody has tried that before?!” I have a choice here – I can yell at them for being obtuse. I can give up, quit bailing, and abandon ship. Or I can quietly keep bailing, in the full knowledge that I can’t fix everything, but I can help just a little. And keep bailing as long as I’m able, even if it doesn’t seem to be helping a whole lot. Because it’s not about me.

The other is my parents, who taught me to do the right thing, even if nobody notices, even if nobody cares, even if people tell me it’s a waste of time, or call me a fool for doing it – still do the right thing. Or, as Kent Kieth wrote (often wrongly attributed to Mother Teresa, according to motherteresa.org)

People are often unreasonable, illogical, and self-centered; Forgive them anyway. If you are kind, People may accuse you of selfish, ulterior motives; Be kind anyway. If you are successful, you will win some false friends and some true enemies; Succeed anyway. If you are honest and frank, People may cheat you; Be honest and frank anyway. What you spend years building, someone could destroy overnight; Build anyway. If you find serenity and happiness, They may be jealous; Be happy anyway. The good you do today, people will often forget tomorrow; Do good anyway. Give the world the best you have, and it may never be enough; Give the world the best you’ve got anyway.

The important corollary here is that if you do good, be sure you are clear, in your own mind, why you’re doing it. If you’re doing it so that people will notice you and thing well of you, you probably shouldn’t bother, because they won’t.

Paul Biondich keynote, LinuxCon Europe 2014

In his keynote yesterday, Paul Biondich mentioned a few numbers – OpenMRS has been in development since 2008, and is deployed in over 70 countries – but mostly, the number he focused on was one – individuals whose lives have been touched by the project. Doctors, patients, and Open Source developers.

I’ve been following OpenMRS for several years, since discovering the project while I was working at SourceForge, and learning that it was started by a visit to Kenya, to a hospital where paper-only medical records were hampering patient care. The trip, which Paul almost declined to go on, changed his life and the course of his career, and he began to devote his time to developing OpenMRS, which is now the standard medical records system in many countries, including Kenya.

Paul observed that medicine is, in large part, an information science. Having access to the right information at the right time can be the difference between the life and death of a patient. Of course, it’s only one tool in the toolbox, but it’s a critical one.

Paul, and all the other people at OpenMRS, have long been an inspiration to me, and represent all that is good and noble about Open Source. His keynote is well worth watching once the videos are posted.

 

What’s new in OpenStack Juno

Originally posted on opensource.com.

OpenStack is on a six-month release cycle, with each release given  a code name starting with consecutive letters of the alphabet. On October 16th, OpenStack Juno will be released, with several new projects, and lots of new features.

Here’s a few of the things you can expect in the next release of
OpenStack. This isn’t intended to be comprehensive – just a taste of
some of the things that are coming.

Nova

As the core of OpenStack, Nova needs to be solid. But this doesn’t mean that it’s slow to change, with some significant changes coming in Juno.

* NFV

NFV – Network Function Virtualization – is a big deal lately, and you
can look to see lots of people working on it, as well as vendors talking about it.

* Live Upgrades

First introduced in Icehouse, live upgrades were still a little rocky.
You’ll see big improvements in this area in Juno.

* More

See more of what’s coming in Juno in Russell Bryant’s blog post at
http://blog.russellbryant.net/2014/07/07/juno-preview-for-openstack-compute-nova/

Ceilometer

Ceilometer is the metering/measurement component of OpenStack.

* Speed

Over the last few cycles, the Ceilometer team have identified some
poorly-designed parts of the project, and have taken a lot of time this cycle to pay down the technical debt to regain some of the performance lost to those decisions. So you can look for Ceilometer to be much more efficient, and faster, in Juno.

* Community reboot

The project management is moving from a top-down decision making process to a collaborative community decision making process, so that everyone has a voice in how decisions are being made.

Additionally, some controls are being put in place regarding the code freeze at the end of the cycle, so that people aren’t trying to rush new functionality in at the last minute, resulting in testing gaps.

* QA

Speaking of testing, there’s also an effort to ensure more Tempest and Grenade test coverage in Juno, which should ensure better code
reliability.

* More

See more of what’s coming in Juno in this interview with Eoghan Glynn of the Ceilometer community:
http://community.redhat.com/blog/2014/07/upstream-podcast-episode-10-rich-bowen-with-eoghan-glynn-on-openstack-juno/

Heat

Heat is the orchestration component of OpenStack, which can be used to set up and tear down infrastructure automatically in response to environmental events, or scripted.

* Rollback

In the past, if a Heat deploy failed, you just moved on, and maybe went back and cleaned up by hand. In Juno, it will be easier to roll back a failed deployment, and be sure that all of the various pieces have been cleaned up.

* Create resources without being admin

In Icehouse and earlier, certain types of resources could only be
created as admin. In Juno, creating users will still require that you be
admin, but you can then delegate privileges to that user so that they
can create resources without having to be admin.

* More

Read more about what’s coming in Juno for Heat at
http://www.zerobanana.com/archive/2014/07/10#heat-juno-update

Glance

Glance is “a service where users can upload and discover data assets
that are meant to be used with other services, like images for Nova
and templates for Heat.” This is a new mission statement in Juno, and some of the changes that are coming are:

* Artifacts

The scope is expanding in Juno to be more than just an image registry, to being a generic catalog of various data assets. This will allow for greater flexibility in how it can be used.

* More

Read more about what’s coming in Juno for Glance at
http://blog.flaper87.com/post/juno-preview-glance-marconi/

Marconi

Marconi (Now renamed to Zaqar) is OpenStack’s messaging and queuing system, and so is very important to all of the other components.

* Redis

In Juno, Zaqar will add a storage driver to support redis, and
support for storage engines is in the works. It will be possible to create and tag clusters of storage and then use them based on their capabilities.

* Queues migration

The Zaqar team will be adding support for queues migration between pools of the same type. Read more at
https://blueprints.launchpad.net/marconi/+spec/queue-migration

* More

Flavio’s article at
http://blog.flaper87.com/post/juno-preview-glance-marconi/ also covers Zaqar, as well as Glance.

Keystone

Keystone is the identity management piece of OpenStack, and has some big improvements coming in Juno.

* LDAP integration

Using Keystone against a database is ok, in that it does password
authentication. But what you really want is to integrate it with your
existing user authentication infrastructure. This often means LDAP. In Juno, you can configure Keystone to use multiple identity backends, and integration with LDAP will be much easier.

* Other security projects

The same community that works on Keystone is also very interested in other security related projects in the OpenStack ecosystem. Look for projects Barbican and Kite to be more active in the coming months.

* More

Nathan Kinder’s article at
http://redhatstackblog.redhat.com/2014/08/05/juno-updates-security/ covers more of what’s coming in Juno. See also this blog post: https://blog-nkinder.rhcloud.com/?p=130 for clarification of some of these goals.

TripleO

TripleO is a project about installing, upgrading, and operating
OpenStack clouds in an automated fashion. This is a big area of interest in Juno – making OpenStack easier to deploy and manage.

* High Availability

A big push in Juno is deploying HA clouds with TripleO. This will be the default behavior, which has the added benefit of getting everyone testing HA deployments, even on “clusters” as small as 1 node.

* Heat templates

TripleO uses Heat as part of the automation of deployment. So in Juno a lot of work has gone into the Heat templates that are used.

* More

Read more about what’s coming in Juno for TripleO in James Slagle’s blog post at http://blog-slagle.rhcloud.com/?p=235

Horizon

Horizon is the web admin interface for OpenStack. While many people will interact with OpenStack via the command line and APIs, the web interface is still the face of OpenStack for many OpenStack operators.

* Sahara (Hadoop)

Sahara is a new project that makes it easier to deploy Apache Hadoop or Apache Spark on OpenStack. This project has graduated, and so it’s now integrated into the dashboard, so you can deploy Hadoop clusters with a few mouse clicks.

* JavaScript unbundling

As good Open Source citizens, Horizon has moved to unbundling the
Javascript libraries that were previously copied into the Horizon source tree. This not only makes it easier to manage upgrades, but also complies with no-bundling requirements in certain Linux distros like

* More

See more about what the Horizon team is doing for Juno in Matthias
Runge’s blog post at http://www.matthias-runge.de/2014/09/08/horizon-juno-cycle-features/

See also

This is just a sampling of what’s coming in Juno. As well as reading all
of the excellent articles at https://openstack.redhat.com/Juno_previews
see also the YouTube playlist of PTL (Project Technical Lead) webinars.

And come to the OpenStack Summit in Paris to see what we’ll do for an encore in Kilo.

Sensordrone

I’ve been reading some things about Sensordrone – the first commercially available functional Tricorder … sort of.

photo-full

It’s a multi-sensor device that communicates with your phone via bluetooth, providing a variety of environmental sensor information – temperature, humidity, lighting. presence of various gases, and so on.

It looks like the kind of thing that would be ideal for home automation or other “internet of things” automation.

Unfortunately, it’s at a price point – $200 – where I have to seriously consider what I’d actually do with it, which is, probably, not a whole lot.

What will be cool is when these kinds of sensors are so cheap to make that they’re in everything. Remember 10 years or so ago, GPS technology was still crazy expensive and now there’s a GPS chip in everything from your camera to your phone to your watch.

Indoctrinating the youth

I think, this morning, my son finally began to understand the awesomeness that is Open Source. He asked, as he has done a number of times before, what it would cost to set up a website, and didn’t seem to believe my answer, which was, of course, $0.

So, after he wolfed down his breakfast, we sat down and installed WordPress, got it configured shiny, and he kept asking, how much does this cost? How can it be this good if it doesn’t cost anything? This looks really professional. Are you sure this is free?

I told him, as I’ve probably mentioned before, that the Apache Web Server runs a huge percentage of the websites he looks at, and that I had a part in creating that. And that I also had a *very* small part in creating WordPress, too. (I believe I have two patches in there somewhere, although I don’t remember what they were.)

At one point, while we were tweaking the theme, he said, in a very roundabout “I’m sure this is way too hard” kind of way, that some day, in the distant future, he’d like to have forums on the site, where people could discuss things. I installed BBPress in under a minute, and said, you mean kinda like this?

He also asked whether it was possible to have his own hostname, and so I taught him a little bit about how DNS works, and showed him how to register a name, and then how to configure DNS to point a name at an IP address.

So, about 30 minutes later, he’s got his own website, where he’ll be posting his youtube videos, animations, and random comments about the world. No, I don’t really know what the name means, so ask him, not me.

Apache httpd at ApacheCon Budapest

tl;dr – There will be a full day of Apache httpd content at ApacheCon Europe, in Budapest, November 17th – apacheconeu2014.sched.org/type/httpd

Links:

* ApacheCon website – http://apachecon.eu
* ApacheCon Schedule – http://apacheconeu2014.sched.org/
* Register – http://events.linuxfoundation.org//events/apachecon-europe/attend/register
* Apache httpd – http://httpd.apache.org/

I’ll be giving two talks about the Apache http server at ApacheCon.eu in a little over 2 months.

On Monday morning (November 17th) I’ll be speaking about Configurable Configuration in httpd. New in Apache httpd 2.4 is the ability to put conditional statements in your configuration file which are evaluated at request time rather than at server startup time. This means that you can have the configuration adapt to the specifics of the request – like, where in the world it came from, what time of day it is, what browser they’re using, and so on. With the new If/ElseIf/Else syntax, you can embed this logic directly in your configuration.

2.4 also includes mod_macro, and a new expression evaluation engine, which further enhance httpd’s ability to have a truly flexible configuration language.

Later in the day, I’ll be speaking about mod_rewrite, the module that lets you manipulate requests using regular expressions and other logic, also at request time. Most people who have some kind of website are forced to use mod_rewrite now and then, and there’s a lot of terrible advice online about ways to use it. In this session, you’ll learn learn the basics of regular expression syntax, and how to correctly craft rewrite expressions.

There’s other httpd content throughout the day, and the people who created this technology will be on hand to answer your questions, and teach you all of the details of using the server. We’ll also have a hackathon running the entire length of the conference, where people will be working on various aspects of the server. In particular, I’ll be working on the documentation. If you’re interested in participating in the httpd docs, this is a great time to learn how to do that, and dive into submitting your first patch.

See you there!

LinuxCon NA 2014

Last week I attended LinuxCon North America in Chicago.

As always when I go to a conference, there’s always about 5 things going on at any moment, and one has to decide where to be and what to do, and then wish you’d done the other thing.

I spent most of the time working the Red Hat booth, talking to people about RDO, OpenShift, Atomic, and, of course, 3D printing.

I also spent a little time over at the OpenStack booth, although it was mostly staffed pretty well without me. The cool thing about the OpenStack booth was the representation from many different companies, all working together to make OpenStack successful, and the ability to be cordial – even friendly – in the process.

While I didn’t attend very many talks, there were a few that I made it to, and some of these were really great.

Rikki Endsley’s talk You Know, for Kids! 7 Ideas for Improving Tech Education in Schools was largely a story about an unfortunate experience in a high school programming class, and the lessons learned from it. I’m very interested in stories like this, primarily because I want to teach my daughters, but also, my son, how to deal with gender discrimination in their various interests, although it seems particularly troublesome in geekly pursuits.

Guy Martin’s talk Developing Open Source Leadership was brilliant. He talked about how to participate in Open Source projects, and encourage your employees to do so, for the specific goal of establishing your company as a leader in a particular field. While this sounds like it may be about subverting the character of Open Source for your own financial benefit, it didn’t go that direction at all. Instead, he talked about being a good community citizen, and truly establishing leadership by participating, not merely by gaming the system. This was a great talk, and well worth attending if you happen to see him giving it again.

The 3D printing keynotes on Friday were very high in geek factor, and, as we had a 3D printer at the Red Hat booth,
I learned more about 3D printing last week than anything else.

A large part of the value of the conference (as with most tech conferences these days) was the evening and hallway conversations, evening events, dinner with various people, and conversations with people stopping by the booth. The technical content is always useful. The personal connections and stories are absolutely the most valuable thing. Running into old friends and making new ones is also always a highlight of these events.

Wednesday evening, I participated in an event where we talked with the folks from Chicago CTO Forum about The Apache Software Foundation. That was a lot of fun, and I learned at least as much as I taught.

Thursday was superhero day, with various people dressing up as their favorite heros. Alas, I didn’t take a costume, but several of my coworkers did.

A final highlight of the conference (and of which I have no photos) was the running tour of the city. Friday morning, CittyRunningTours took me and 20 or so other runners on a historical and architectural tour of downtown Chicago. we ran about 4 miles, stopping every half mile or so for a history lesson. It was fascinating, as well as being a good run.

O Captain, my Captain

O Captain, my Captain is the poem that got me started reading Walt Whitman – one of many works mentioned in Dead Poets Society that got me reading particular authors. Not exactly Whitman’s most cheerful work.

Mom used to tell stories of her grandma Nace (my great grandmother) throwing apples at crazy old Walt Whitman as he went for his daily walk near his home in Camden, The kids of the town thought that he was a crazy old man. But he was a man who took his personal tragedies – mostly having to do with his brothers – and turned them into beauty, poetry, and a lifetime of service to the wounded of the civil war.

And now, when so many people are quoting “O Captain, My Captain” in reference to Robin Williams, I have to wonder if they’ve read past the first line – a deeply tragic poem about the death of President Lincoln, in which he is imagined as a ship captain who doesn’t quite make it into harbor, after his great victories. Chillingly apropos of yesterday’s tragic end to the brilliant career of Robin Williams.

Exult O shores, and ring O bells!
But I with mournful tread,
Walk the deck my Captain lies,
Fallen cold and dead.

BAHA, five years on.

Five years ago, my beloved encouraged me to get a BAHA – Bone Attached Hearing Aid. It’s a device that’s implanted in my skull which bypasses the usual hearing apparatus and carries sound vibrations directly to the middle ear.

It would not be too much of an exaggeration to say that this tiny device has profoundly changed my life.

I’ve always been an introvert, and social situations make me uncomfortable … but I say that based on all of those years avoiding them because my deafness made them so very awkward. The elaborate dance of positioning myself correctly relative to speakers so that I could hear out of my right ear, hurrying to be the first to be seated at a dinner so that I can grab the left-most seat, and avoiding multi-speaker conversations because I’m bound to miss most of it, has been going on since I was 12, and it’s hard to remember how things were before that.

While I still can’t tolerate super-loud settings – which makes most conference social events something of a chore, endured for the all-important networking – the Baha has changed normal conversation from a painful ordeal, preferably to be avoided, into something more normal and routine, where I can, for the most part, understand what is being said, the first time, without needing several increasingly embarrassing repetitions.

There are still scenarios where it’s hard to hear. The very loud places, as mentioned above, for one. Also, conversations with many speakers tend to be difficult, but apparently the latest model of Cochlear’s product has intelligent selective filtering, as well as noise reduction stuff in it, and perhaps I can upgrade some day for an even better experience.

Being able to hear has made me more confident, more sure of my opinions, more assertive in meetings, and less irritable with soft-spoken people. And far less awkward in social settings.

And I can sit anywhere I want at dinner.

RDO on CentOS 7

With CentOS 7 now available, I quickly put it on my OpenStack demo laptop, and started installing RDO. It mostly just worked, but there were a few roadblocks to circumvent.

As usual, I followed the RDO Quickstart, so I won’t duplicate those steps here, in detail, but it goes like:


sudo yum update -y && sudo yum install -y http://rdo.fedorapeople.org/rdo-release.rpm && sudo yum install -y openstack-packstack && packstack --allinone

Comparison of string with 7 failed

The first problem occurs pretty quickly, in prescript.pp, with the following error message:

Comparison of String with 7 failed

This is due to the change in CentOS versioning scheme – the latest release of CentOS is version 7.0.1406, which is not a number. The script in question assumes that the version number is a number, and does a numerical comparison:


if $::operatingsystem in $el_releases and $::operatingsystemrelease < 7 {
...

This fails, because $::operatingsystemrelease is a string, not a number.

The solution here is to edit the file /usr/lib/python2.7/site-packages/packstack/puppet/templates/prescript.pp and replace the variable $::operatingsystemrelease with $::operatingsystemmajrelease around line 15.

While you’re at it, do this for every file in that directory, where $operatingsystemrelease is compared to 7.

See https://bugzilla.redhat.com/show_bug.cgi?id=1117035 for more detail, and to track when this is fixed.

mysql vs mariadb

The second problem, I’m not sure I understand just yet. The symptom is that mysql.pp fails with


Error: Could not enable mysqld:

To skip to the end of the story, this appears to be related to the switch from mysql to mariadb about a year ago, finally catching up with CentOS. The related bug is at https://bugzilla.redhat.com/show_bug.cgi?id=981116

The workaround that I used was:

# rm /usr/lib/systemd/system/mysqld.service 
# cp /usr/lib/systemd/system/mariadb.service /usr/lib/systemd/system/mysqld.service
# systemctl stop mariadb
# pkill mysql
# rm -f /var/lib/mysql/mysql.sock

Then run packstack again with the generated answer file from the last time.

However, elsewhere in the thread, we were assured that this shouldn’t be necessary, so YMMV. See https://www.redhat.com/archives/rdo-list/2014-July/msg00055.html for further discussion.

That’s all, folks

After those two workarounds, packstack completed successfully, and I have a working allinone install.

Hope this was helpful to someone.

UPDATE: The next time through, I encountered https://ask.openstack.org/en/question/35705/attempt-of-rdo-aio-install-icehouse-on-centos-7/

The workaround is to replace contents of /etc/redhat-release with “Fedora release 20 (Heisenbug)” and rerun packstack.

Turns out that this also fixes the mysql/mariadb problem above without having to go through the more complicated process.

The Margin Is Too Narrow