My Last post showed how to get a working Keystone server. Or did it.
$ openstack service list
The service catalog is empty.
Turns out, to do most things with Keystone, you need a service catalog, and I didn’t have one defined. To fix it, rerun bootstrap with a few more options.
While Unit tests are essential to development, I often want to check the complete flow of a feature against a running keystone server as well. I recently upgraded to Fedora 25, and had to reset my environment. Here is how I set up for development.
Update: turns out there is more.
If you change the public signature of an API, or add a new API in Keystone, there is a good chance the Tests that confirm JSON home layout will break. And that test is fairly unfriendly: It compares a JSON doc with another JSON doc, and spews out the entirety of both JSON docs, without telling you which section breaks. Here is how I deal with it:
Jill Jubinski is a well known and respected community leader in OpenStack. When she says something, especially about recruiting, it is worth listening to her, and evaluating what she says. When she tweeted:
While I find the ‘show some code ur proud of’ stance, its like, what if someone doesnt want to code outside of work? That has to be ok too.
my response came off as a contradicting her. It was:
nothing to show would be suspect. If you hate to code, no paycheck would be high enough to make you do it well.
Which goes to show that terseness is a demanding constraint; I did not adequately state what I was trying to state in my attempt to limit it to a single tweet. And of course, that meant it became a discussion back and forth.
Let me try to be a little more nuanced and fair here. What Jill says is spot on: it should be 100% OK for a programmer, and a good one, to not have anything that they are capable of showing prior to an interview. I, myself, would have fallen into that category earlier in my career.
Yesterday, someone asked me about inherited role assignments in Keystone projects. Here is what we worked out.
Minecraft is a land of Cubes. And yet, in this blockland, it turns out the circle is a very powerful tool. Using the basics of trigonometry, we can build all sorts of things.
Minecraft uses the Cartesian coordinate system to locate and display blocks. That means that every block location in a Minecraft universe can be described using three values: X, Y, and Z. Even the player’s avatar “Steve” has a position recorded this way. If you type the F3 key, you can see a bunch of text on the screen. Buried in there somewhere are the 3 values for Steve’s position.
Since running the Cyrus SASL sample server and client was not too bad, I figured I would see what happened when I tried to secure it using Kerberos.
When I start working on a new project, I usually start by writing a “Hello, World” program and going step by step from there. When trying to learn Cyrus SASL, I found I needed to something comparable, that showed both the client and server side of the connection. While the end state of using SASL should be communication that is both authenticated and encrypted, to start, I just wanted to see the protocol in action, using clear text and no authentication.