From a7986d559ecdea646434ecb97a4035fe2c518353 Mon Sep 17 00:00:00 2001 From: "Lott, Christopher (cl778h)" Date: Fri, 20 Dec 2019 09:26:38 -0500 Subject: [PATCH] Install golang 1.12 using ansible role from galaxy Extend the playbook that provisions docker on build minions to call fubarhouse.golang which downloads and installs golang as specified by variable go_version. Also add basic README for this directory. Signed-off-by: Lott, Christopher (cl778h) Change-Id: I588aad142864d3257cb9255eebc2781ae02cad80 --- packer/README.md | 35 +++++++++++++++++++++++++++++++++++ packer/provision/local-docker.yaml | 7 +++++++ 2 files changed, 42 insertions(+) create mode 100644 packer/README.md diff --git a/packer/README.md b/packer/README.md new file mode 100644 index 00000000..b31fa953 --- /dev/null +++ b/packer/README.md @@ -0,0 +1,35 @@ +# CI Packer + +[Packer][1] is a tool for automatically creating VM and container images, +configuring them and post-processing them into standard output formats. + +## Building + +You'll need to [install Packer][2], of course. + +The 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 project's 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/install.html diff --git a/packer/provision/local-docker.yaml b/packer/provision/local-docker.yaml index d47fd163..e75a0fa7 100644 --- a/packer/provision/local-docker.yaml +++ b/packer/provision/local-docker.yaml @@ -1,3 +1,5 @@ +# This Ansible playbook adds packages to the +# O-RAN-SC build minion image that has Docker. --- - import_playbook: ../common-packer/provision/docker.yaml @@ -16,3 +18,8 @@ - name: 'Install PackageCloud' command: 'gem install package_cloud' become: true + + - include_role: + name: fubarhouse.golang + vars: + go_version: 1.12 -- 2.16.6