X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=blobdiff_plain;f=packer%2Ftemplates%2Fhelm.json;fp=packer%2Ftemplates%2Fhelm.json;h=020bb0ac10150ee35284d0373316426c2b5083fb;hp=0000000000000000000000000000000000000000;hb=dd0fc7ff33defd9b6084470aa2251a98d775a0b7;hpb=796d5871c255253b0e8395c2f87aa221612d22ce diff --git a/packer/templates/helm.json b/packer/templates/helm.json new file mode 100644 index 0000000..020bb0a --- /dev/null +++ b/packer/templates/helm.json @@ -0,0 +1,62 @@ +{ + "variables": { + "ansible_roles_path": ".galaxy", + "arch": "x86_64", + "base_image": null, + "cloud_network": null, + "cloud_user_data": null, + "cloud_region": "ca-ymq-1", + "cloud_availability_zone": "ca-ymq-2", + "vm_use_block_storage": "true", + "vm_volume_size": "30", + "vm_image_disk_format": "", + "distro": null, + "flavor": "v1-standard-1", + "ssh_user": null, + "ssh_proxy_host": "" + }, + "builders": [ + { + "name": "vexxhost", + "image_name": "ZZCI - {{user `distro`}} - helm - {{user `arch`}} - {{isotime \"20060102-150405.000\"}}", + "instance_name": "{{user `distro`}}-builder-{{uuid}}", + "source_image_name": "{{user `base_image`}}", + "type": "openstack", + "region": "{{user `cloud_region`}}", + "availability_zone": "{{user `cloud_availability_zone`}}", + "networks": ["{{user `cloud_network`}}"], + "user_data_file": "{{user `cloud_user_data`}}", + "ssh_username": "{{user `ssh_user`}}", + "ssh_proxy_host": "{{user `ssh_proxy_host`}}", + "flavor": "{{user `flavor`}}", + "metadata": { + "ci_managed": "yes" + }, + "use_blockstorage_volume": "{{user `vm_use_block_storage`}}", + "volume_size": "{{user `vm_volume_size`}}", + "image_disk_format": "{{user `vm_image_disk_format`}}" + } + ], + "provisioners": [ + { + "type": "shell", + "scripts": ["common-packer/provision/install-python.sh"], + "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi" + }, + { + "type": "shell-local", + "command": "./common-packer/ansible-galaxy.sh {{user `ansible_roles_path`}}" + }, + { + "type": "ansible", + "playbook_file": "provision/helm.yaml", + "ansible_env_vars": [ + "ANSIBLE_NOCOWS=1", + "ANSIBLE_PIPELINING=True", + "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}", + "ANSIBLE_CALLBACK_WHITELIST=profile_tasks", + "ANSIBLE_STDOUT_CALLBACK=debug" + ] + } + ] +}