Fedora, Vagrant, Libvirt, and Functional DNS

For my work on OpenShift I wanted a way to use my local workstation as a test cluster with vms for a master and multiple nodes. Ideally it would be possible to quickly teardown and rebuild the whole cluster, but I also want reliable hostnames (and IPs) across each rebuild. This post outlines a way to do this with Fedora (25 as of writing) and Vagrant. The key to getting Fedora configured such that the hostnames and DNS will work is this post by Dominic Cleal.…

Keep reading

Fetching The Latest Git Hash For A Branch With Ansible

I’m currently working on an Ansible role to deploy an application to OpenShift. My application template uses a BuildConfig with a dockerStrategy, so when a build is run it runs against a remote git repo and branch. I wanted my role to ensure that the current deployed application is up to date with the git branch, so we can push changes to that branch and whenever ansible runs it will know to reprocess the template, triggering a new build and deployment.…

Keep reading

NetWorth 1.11

I’ve just uploaded a v1.11 release of NetWorth, my personal finance / net worth tracking / budgeting app for Android. This is a pet project, just modelling how I thought and have learned about personal finance and retirement planning. I was hoping to do a grand 2.0 release but as ever time evaporates and I couldn’t quite get there yet. However I did manage to find some time for a lot of nice improvements and figured it was worth pushing them out until I get working on it again.…

Keep reading

Reverse Proxying to Docker Containers with Nginx

On my personal VPS I host a handful of websites accessed from a variety of domains and sub-domains, as well as a few more involved webapps such as tt-rss. Historically applications that cross multiple programming languages and databases have been a terrible pain to deploy and keep running on a private server, but since containers have arrived this has become a lot easier. On my server, I wanted to have a web server listening on the standard http/https ports proxying traffic for a variety of sites and applications, based on the domain/sub-domain in the request.…

Keep reading

tito 0.6.10

tito 0.6.10 was tagged and built this morning, brought to you almost entirely by the newest tito committer skuznets. Changelog Do not undo tags when git state is dirty (skuznets@redhat.com) Parse options in tito init (skuznets@redhat.com) Only use rpmbuild --noclean if it is supported (skuznets@redhat.com) Explicitly define indicies in formatting statements (skuznets@redhat.com) Achieve quiet output from rpmbuild without passing --quiet (skuznets@redhat.com) Update the MANIFEST.in (skuznets@redhat.com) Correctly pass verbosity options through the builder CLI (skuznets@redhat.…

Keep reading

tito 0.6.9

I’ve just pushed a release of tito 0.6.9 with the following changes: Simplified version and release update logic (skuznets@redhat.com) Added --use-release flag for tito tag (skuznets@redhat.com) Fix typos/errors in man pages (lsedlar@redhat.com) Explain how automatic tagging was done (msuchy@redhat.com) Add support for bumping version for Cargo projects (sehnoutka.martin@gmail.com) Right now this is available in my Copr repo, and builds are on their way for Fedora and EPEL. My thanks to all who contributed patches!…

Keep reading

Zero Downtime Upgrades With Openshift Ansible

A large portion of my time on the OpenShift team has been spent working on cluster lifecycle improvements, particularly in the realm of upgrades. Throughout this work we’ve been targeting the ability to upgrade clusters without requiring application downtime. I recently took some time to demonstrate that we can hit that target, please check out the results on the OpenShift Blog: Zero Downtime Upgrades With OpenShift Ansible…

Keep reading

Kubeadm (Alpha) Security Trade-Offs

With Kubernetes 1.4 sig-cluster-lifecycle released an alpha of kubeadm, a new utility we’ve been working on to make cluster bootstrapping as simple as possible for new users, but also provide tooling and infrastructure that can be used for production clusters. The initial goal was simple, install the bits (now delivered via new OS packages), one command to create a cluster: $ kubeadm init And one very short command to copy and paste to join nodes to the cluster:…

Keep reading

NetWorth 1.10

I’ve just uploaded a v1.10 release of NetWorth, my personal finance / net worth tracking / budgeting app for Android. Changes in v1.10 When viewing a projection you can now see how each budget item influenced your net worth over this period of time. Display of budget totals in projections is now sorted and color coded. Add new pre-seeded projection dates for 1, 2, and 6 months into the future.…

Keep reading

Containerized OpenShift Clusters And Openshift-Ansible

I had a moderately large PR land recently for openshift-ansible that was the result of our on-going efforts to start improving the experience for fully containerized OpenShift clusters. It sounds like this is the desired path forward in upstream Kubernetes and in my own testing it really feels like this is a much more convenient way to install, run, and upgrade a cluster, so I’m hopeful this post might help encourage some others to start thinking about this deployment type.…

Keep reading