When using the packer tool, the first step is to upload an
existing CentOS cloud image from the internet into OpenStack.
Check out: https://cloud.centos.org/centos/7/images/
-You should now source the proper .rc file so Packer can connect to your OpenStack.
+You should now create proper clouds.yaml file so Packer can connect to your OpenStack.
+Sample clouds.yaml could look like this:
+
+client:
+ force_ipv4: true
+clouds:
+ overcloud:
+ verify: False
+ interface: "public"
+ auth:
+ username: "admin"
+ password: "your_password"
+ project_name: "admin"
+ tenant_name: "admin"
+ auth_url: "https://192.168.1.1:5000/v3"
+ user_domain_name: "Default"
+ domain_name: "Default"
+ identity_api_version: "3"
+
+Packer could be run from docker image, you will need to create following alias:
+
+alias packer='docker run -it -v "$PWD":/root/project -w /root/project hashicorp/packer:light $@'
+
+
There are 2 files: centos.json and deploycentostools.sh, allowing you to create
an image automatically. Run
# packer build centos.json
Edit centos.json to reflect the settings of your environment: The following fields need to
be the ID's of your system:
- - "source_image": Needs to be the id of the Centos cloud image
- - "flavor": Needs to be the ID of the flavor existing in your OpenStack environment that will be used
+ - "source_image_name": Needs to be the name of the Centos cloud image
+ - "flavor": Needs to be the ID or name of the flavor existing in your OpenStack environment that will be used
to start the VM in which we will install all tools
- "networks": ID of the network that will be used for the VM
- "use_floating_ip": true or false
- - "floating_ip_pool": ID of the floating ip pool in case floating ip are being used
- - "security_groups": ID of the security group being used
+ - "floating_ip_network": ID of the floating ip network in case floating ip are being used
+ - "security_groups": ID or name of the security group being used
+
+Refer to Packer docs for more details:
+https://www.packer.io/docs/builders/openstack.html
Note that this procedure is not only installing the necessary tools to run PROX,
but also does some system optimizations (tuned). Check deploycentostools.sh for more details.
"type": "openstack",
"ssh_username": "centos",
"image_name": "rapidVM",
-"source_image": "09ada6c0-21aa-49aa-ad7b-d364f279ee92",
-"flavor": "2d198ea9-7cbc-4211-9983-531493b07a96",
+"source_image_name": "centos-7-1907",
+"flavor": "m1.medium",
"networks": "2d2bb4ec-58ae-47a4-8af9-f58f14533337",
"use_floating_ip": true,
-"floating_ip_pool": "ff966059-9dd2-4ed1-ad9a-5fae516eb0fa",
+"floating_ip_network": "ext-net",
"security_groups": "1da93e77-29c2-42d7-b611-f2ae094aa8df",
"ssh_timeout":"1000s",
"ssh_pty":"true"