summaryrefslogtreecommitdiffstats
path: root/packer/README.markdown
diff options
context:
space:
mode:
authorVanessa Rene Valderrama <vvalderrama@linuxfoundation.org>2016-10-13 13:54:18 -0500
committerVanessa Rene Valderrama <vvalderrama@linuxfoundation.org>2016-12-16 13:22:36 -0600
commita63e80093c52d4893e5709860919d0f27cd8c122 (patch)
tree101476228aea7e7acc21dbbda2c1b9203a0f022b /packer/README.markdown
parent2a36c43a61bf8698491db42031121d0ef5d6f31f (diff)
Convert Vagrant to Packer
This converts all of the in use Vagrant definitions to Packer and allows us to build images and allow automated testing of images. Change-Id: Ic87cce4aa674146952efad325a42b095086426d0 Signed-off-by: Vanessa Rene Valderrama <vvalderrama@linuxfoundation.org>
Diffstat (limited to 'packer/README.markdown')
-rw-r--r--packer/README.markdown37
1 files changed, 37 insertions, 0 deletions
diff --git a/packer/README.markdown b/packer/README.markdown
new file mode 100644
index 00000000..6c50f4ad
--- /dev/null
+++ b/packer/README.markdown
@@ -0,0 +1,37 @@
+# FD.io Project CI Packer
+
+[Packer][1] is a tool for automatically creating VM and container images,
+configuring them and post-processing them into standard output formats.
+
+We build FD.io's CI images via Packer.
+
+## Building
+
+You'll need to [install Packer][2], of course.
+
+FD.io's Packer configuration is divided into build-specific variables,
+output-specific templates and a set of shared provisioning scripts. To do a
+specific build, combine the template for the desired output artifact type with
+a variable file. To build a new basebuild instance the following would be done:
+
+```
+packer build -var-file=vars/cloud-env.json -var-file=vars/centos.json templates/basebuild.json
+```
+
+**NOTE:** vars/cloud-env.json is a gitignored file as it contains private
+information. There is a vars/cloud-env.json.example file that may be used as a
+base for creating the one needed.
+
+This would build a bootable image in the FD.io CI cloud environment.
+
+From a high level, the builds:
+
+* Boot a specified base image in the cloud
+* Run a set of shell scripts, listed in the template's shell provisioner
+ section, to do any configuration required by the builder.
+* Execute a shutdown of the running instance
+* Execute a 'nova image-create' operation against the shutdown instance.
+* Perform a 'nova delete' operation against the shutdown instance.
+
+[1]: https://www.packer.io/
+[2]: https://www.packer.io/intro/getting-started/setup.html