mr-provisioner

By Gema Gomez

Over the past two months I have been working on a tool to help my team provision ARM64 hardware with specific images so they can be tested. We currently have labs with OpenStack installed over a few servers, we have labs for testing that need to be reprovisioned regularly depending on what is being tested. We didn’t have a standard way to install across data centers, get repeatable and reliable test results, share and test systems across vendors and architectures. So this was the first step on the quest of setting up a reliable infrastructure lab that will help, amongst others with 3rd party CI for OpenStack.

The initial requirements were simple:

  • being able to assign servers to users for testing without having to share admin rights on the infrastructure (controlled test environment)
  • install servers with kernel/initrd of the engineer’s choosing
  • ability to preseed/kickstart the installs by the engineer and debug end to end
  • remote console access to the servers
  • asset management of the lab integrated, rather than an external spreadsheet
  • useful for manual (UI) and automated (API) testing
  • generic tool, not vendor specific
  • easy to use

Previously in the data center we were using tftp servers with manually uploaded images that some admin would upload at the engineer’s request, not very consistent versioning, manually updated grub configs with options that were not consistent.

Now we have a tool, under heavy development, that allows us to do all of the above and we have open sourced it for anyone to be able to use or contribute.

More information

Design documentation: readthedocs

Source code: https://github.com/linaro/mr-provisioner