{
"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
+ "flavor": "v2-highcpu-1",
+ "ssh_user": null,
+ "ssh_proxy_host": ""
},
"builders": [
{
+ "name": "vexxhost",
+ "image_name": "ZZCI - {{user `distro`}} - mininet-ovs-26 - {{user `arch`}} - {{isotime \"20060102-150405.000\"}}",
+ "instance_name": "{{user `distro`}}-mininet-ovs-26-{{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`}} - mininet-ovs-26 - {{isotime \"20060102-1504\"}}",
- "source_image_name": "{{user `public_base_image`}}",
- "flavor": "general1-1",
- "networks": [
- "{{user `public_network`}}"
- ],
- "user_data_file": "{{user `cloud_user_data`}}"
- },
- {
- "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`}} - mininet-ovs-26 - {{isotime \"20060102-1504\"}}",
- "source_image_name": "{{user `private_base_image`}}",
- "flavor": "general1-1",
- "networks": [
- "{{user `private_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`}}"
}
],
"provisioners": [
{
"type": "shell",
- "scripts": [
- "provision/baseline.sh",
- "provision/mininet-ovs-2.6.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/mininet-ovs-2.6.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=yaml"
+ ]
}
]
}