Rejected talk proposal: Design at scale: OpenStack versus Kubernetes

This proposal was submitted for pyconau 2018. It wasn’t accepted, but given I’d put the effort into writing up the proposal I’ll post it here in case its useful some other time. The oblique references to OpensStack are because pycon had an “anonymous” review system in 2018, and I was avoiding saying things which directly identified me as the author.


OpenStack and Kubernetes solve very similar problems. Yet they approach those problems in very different ways. What can we learn from the different approaches taken? The differences aren’t just technical though, there are some interesting social differences too. (more…)

Continue ReadingRejected talk proposal: Design at scale: OpenStack versus Kubernetes

Accepted talk proposal: Learning from the mistakes that even big projects make

  • Post author:
  • Post category:OpenStack

This proposal was submitted for pyconau 2018. It was accepted, but hasn’t been presented yet. The oblique references to OpensStack are because pycon had an “anonymous” review system in 2018, and I was avoiding saying things which directly identified me as the author.


Since 2011, I’ve worked on a large Open Source project in python. It kind of got out of hand – 1000s of developers and millions of lines of code. Yet despite being well resourced, we made the same mistakes that those tiny scripts you whip up to solve a small problem make. Come learn from our fail.

(more…)

Continue ReadingAccepted talk proposal: Learning from the mistakes that even big projects make

Mirroring all your repos from github

So let me be clear here, I don't think its a bad thing that Microsoft bought github. No one is forcing you to use their services, in fact they make it trivial to stop using them. So what's the big deal. I've posted about a few git mirror scripts I run at home recently: one to mirror gerrit repos; and one to mirror arbitrary github users. It was therefore trivial to whip up a slightly nicer script intended to help you forklift your repos out of github if you're truly concerned. Its posted on github now (irony intended). Now you can just do something like: $ pip install -U -r requirements.txt $ python download.py --github_token=foo --username=mikalstill I intend to add support for auto-creating and importing gitlab repos into the script, but haven't gotten around to that yet. Pull requests welcome.

Continue ReadingMirroring all your repos from github

How to maintain a local mirror of github repositories

Similarly to yesterday’s post about mirroring ONAP’s git, I also want to mirror all of the git repositories for certain github projects. In this specific case, all of the Kubernetes repositories.

So once again, here is a script based on something Tony Breeds and I cooked up a long time ago for OpenStack…

(more…)

Continue ReadingHow to maintain a local mirror of github repositories

How to maintain a local mirror of ONAP’s git repositories

  • Post author:
  • Post category:ONAP

For various reasons, I like to maintain a local mirror of git repositories I use a lot, in this case ONAP. This is mostly because of the generally poor network connectivity in Australia, but its also because it makes cloning a new repository super fast.

Tony Breeds and I baked up a script to do this for OpenStack repositories a while ago. I therefore present a version of that mirror script which does the right thing for ONAP projects.

(more…)

Continue ReadingHow to maintain a local mirror of ONAP’s git repositories

Head On

  • Post author:
  • Post category:Book

A sequel to Lock In, this book is a quick and fun read of a murder mystery. It has Scalzi's distinctive style which has generally meshed quite well for me, so it's not surprise that I enjoyed this book.  

Continue ReadingHead On

A first program in golang, with a short aside about Google

  • Post author:
  • Post category:golang

I have reached the point in my life where I needed to write my first program in golang. I pondered for a disturbingly long time what exactly to write, but then it came to me... Back in the day Google had an internal short URL service (think bit.ly, but for internal things). It was called "go" and lived at http://go. So what should I write as my first golang program? go of course. The implementation is on github, and I am sure it isn't perfect. Remember, it was a learning exercise. I mostly learned that golang syntax is a bit bonkers, and that etcd hates me. This code stores short URLs in etcd, and redirects you to the right place if it knows about the short code you used. If you just ask for the root URL, you get a list of the currently defined short codes, as well as a form to create new ones. Not bad for a few hours hacking I think.

Continue ReadingA first program in golang, with a short aside about Google

etcd v2 and v3 data stores are separate

  • Post author:
  • Post category:etcd

Just noting this because it wasted way more of my time that it should have... So you write an etcd app in a different language from your previous apps and it can't see the data that the other apps wrote? Check the versions of your client libraries. The v2 and v3 data stores in etcd are different, and cannot be seen by each other. You need to convert your v2 data to the v3 data store before it will be visible there. You're welcome.

Continue Readingetcd v2 and v3 data stores are separate

End of content

No more pages to load