Mgmt Code Deployment

Continuing my blog series on figuring out the basics of mgmt networking and etcd, it’s time to tackle one of the most important aspects. At least that’s how I feel about it. After all, it will be nice to show flashy inotify tricks to your team, but eventually you will want the tool to do some actual work. But how? We won’t be launching mgmt manually on each managed node to read the respective code file to run. [Read More]
mgmt  etcd  code 

An Actual Cluster

In this little blog series, I’ve been wrestling with mgmt’s embedded etcd server, trying to get it to form a functioning cluster with mgmt 0.0.21. This finally worked on the local machine, so let’s take the next step and take it to a little network. You never listen Everything starts with the seed server. For mgmt 0.0.21, I’m launching it like this: # mgmt run --tmp-prefix --hostname h1 --ideal-cluster-size 3 yaml examples/yaml/etcd1a. [Read More]
mgmt  etcd  network 

Disentangling Etcd Servers

In the previous post, you got to watch me try and get to the bottom of a suspected bug in mgmt or its embedded etcd server. What I found was an FAQ entry to match my issue, and some limited knowledge about etcd’s go packages for embedding servers in other software. The FAQ information gave me an idea about what I was seeing. In my first attempt of building a cluster, I had quite faithfully reproduced the commands from the original post that introduced the clustering feature in mgmt. [Read More]

Getting Etcd Back

In the previous post I ran into an issue with the YAML example graphs for the etcd functionality not really working anymore. Coming up with a solution in these graphs was not hard (and in fact proved an opportunity to learn a few things along the way). However, I did not manage to get the cluster up and talking regardless. I accepted the challenge and sat down to try and find out what was wrong with etcd. [Read More]

Attempting Some Resource Collecting

After some adventures building a new feature for mgmt’s Puppet support, and making a presentation including live demos about it, I find myself quite impressed with how far mgmt’s interface and its configuration language have evolved since last I played with them. One thing that I found lacking is the documentation. As the tool is now in a nice shape for people out there to go ahead and give it a spin, I feel that improving the docs will be especially helpful in order to allow early adopters to get a smooth start, without the need to read code or asking James and his contributors for help. [Read More]
mgmt  yaml  graph  etcd  cluster 

Faster Puppet For Mgmt

Abstract When running a graph that was created from a Puppet manifest, mgmt has so far used a workaround for each untranslatable resource. This workaround involved an exec type resource, and shelling out to a variant of puppet resource. Using the new puppet yamlresource receive subcommand, mgmt can now send resources to a persistent Puppet process instead. The native support for this is implemented through the new pseudo-resource pippet in mgmt. [Read More]

Building The Code Mixer

This blog is not dead. It hasn’t seen any new content in a long while, which is a shame, but I did use the hiatus to recharge some creative energy. Here’s hoping progress will be more steady next year. Narrator voice It wasn’t more steady. In fact, this article was kept around as an unfinished draft throughout 2019, not to be published before Config Management Camp 2020. It still lacks diagrams that make the graph code understandable. [Read More]

Counting Resource Translation Misses

This is another post in the wake of CfgMgmtCamp 2018, where the mgmt hack room saw lively discussion that inspired some new ideas as well as reminding me of some ideas I had last year, but didn’t manage to implement or describe yet. This post is about one of those. Recap Even though we now have a slick Puppet module that allows early adopters and testers to run mgmt from Puppet manifest code, our ability to run existing, complex manifests is somewhat limited. [Read More]

Thinking About Migration From Puppet To Mgmt

Abstract We have already implemented a way to replace the Puppet Agent with the mgmt engine. It can run a graph on a machine that is derived from the machine’s Puppet catalog. The user is limited to mgmt features that can be expressed in Puppet’s DSL in this scenario. In order to unlock mgmt’s full potential, the user will have to rewrite all their Puppet code in mgmt’s language. This presents a significant challenge for maintainers of larger Puppet code bases that are actively used and evolving. [Read More]

The Most Important Resource

Note: This article was written in early October 2016, then sat in my local git clone for almost two months, waiting for final review. This happened because of an intense conference season and some other distracting circumstance. So, it is with great relief and satisfaction that I can finally throw this at you now :-) Enjoy, and thanks for reading! Current status: Itching to write some Go. Now what? Adding tests to mgmt is a good exercise, and I will be doing a lot more of it in the months to come. [Read More]