Chore: Update common-packer to latest v0.14.0
[releng/builder.git] / packer / templates / devstack.json
index e3fe2b4ac294dd5d4bd88722025371d90d6e1572..ba82499f807f8dba07bf4b99a9682a682b0d930e 100644 (file)
@@ -1,69 +1,75 @@
 {
   "variables": {
-    "public_base_image": null,
-    "public_network": null,
-    "public_cloud_user": null,
-    "public_auth_url": null,
-    "public_tenant": null,
-    "public_user": null,
-    "public_pass": null,
-
-    "private_base_image": null,
-    "private_network": null,
-    "private_cloud_user": null,
-    "private_auth_url": null,
-    "private_tenant": null,
-    "private_user": null,
-    "private_pass": null,
-
+    "ansible_roles_path": ".galaxy",
+    "arch": "x86_64",
+    "base_image": null,
+    "cloud_network": null,
+    "cloud_user_data": null,
+    "cloud_region": "ca-ymq-1",
+    "vm_use_block_storage": "true",
+    "vm_volume_size": "20",
+    "vm_image_disk_format": "",
     "distro": null,
-    "cloud_user_data": null
+    "docker_source_image": null,
+    "flavor": "v3-standard-2",
+    "ssh_user": null,
+    "ssh_proxy_host": ""
   },
   "builders": [
     {
+      "name": "openstack",
+      "image_name": "ZZCI - {{user `distro`}} - devstack - {{user `arch`}} - {{isotime \"20060102-150405.000\"}}",
+      "instance_name": "{{user `distro`}}-devstack-{{uuid}}",
+      "source_image_name": "{{user `base_image`}}",
       "type": "openstack",
-      "name": "public_cloud",
-      "identity_endpoint": "{{user `public_auth_url`}}",
-      "tenant_name": "{{user `public_tenant`}}",
-      "username": "{{user `public_user`}}",
-      "password": "{{user `public_pass`}}",
-      "region": "DFW",
-      "ssh_username": "{{user `public_cloud_user`}}",
-      "image_name": "{{user `distro`}} - devstack - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `public_base_image`}}",
-      "flavor": "general1-1",
-      "networks": [
-        "{{user `public_network`}}"
-      ],
-      "user_data_file": "{{user `cloud_user_data`}}"
+      "region": "{{user `cloud_region`}}",
+      "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`}}"
     },
     {
-      "type": "openstack",
-      "name": "private_cloud",
-      "identity_endpoint": "{{user `private_auth_url`}}",
-      "tenant_name": "{{user `private_tenant`}}",
-      "username": "{{user `private_user`}}",
-      "password": "{{user `private_pass`}}",
-      "ssh_username": "{{user `private_cloud_user`}}",
-      "image_name": "{{user `distro`}} - devstack - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `private_base_image`}}",
-      "flavor": "general1-1",
-      "networks": [
-        "{{user `private_network`}}"
-      ],
-      "user_data_file": "{{user `cloud_user_data`}}"
+      "name": "docker",
+      "type": "docker",
+      "image": "{{ user `docker_source_image` }}",
+      "commit": true,
+      "changes": ["ENTRYPOINT [\"\"]", "CMD [\"\"]"]
     }
   ],
   "provisioners": [
     {
       "type": "shell",
-      "scripts": [
-        "provision/baseline.sh",
-        "provision/devstack.sh",
-        "provision/system_reseal_local_env.sh",
-        "provision/system_reseal.sh"
-      ],
+      "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/devstack-centos.yaml",
+      "command": "./common-packer/ansible-playbook.sh",
+      "skip_version_check": true,
+      "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"
+      ],
+      "extra_arguments": [
+        "--scp-extra-args", "'-O'",
+        "--ssh-extra-args",
+        "-o IdentitiesOnly=yes -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa"
+      ]
     }
   ]
 }