I'm using OpenStack and I am trying to provision a compute resource on it. I want that compute resource to attach to a volume. We have three things in play.
- Volume
openstack_blockstorage_volume_v3
- Compute Resource
openstack_compute_instance_v2
- Mapping/Attachment
openstack_compute_volume_attach_v2
I need something to,
- Create a partition table on first mount.
- To create a file system (ext4) on first mount.
- To initialize the file system with the things I need.
Does the logic to initialize this volume typically hang out in the cloud-init for the machine? If I initialize it manually, I can mount it using cloud-init
's directive for mounts
. But without manually installation, how do we instruct user_data
to initialize the volume before if necessary before the mount?
What I'm trying to do is store the .git
file for a monorepo on an external shared mount. What I would like is on first boot of the sandbox for that to be ready. On subsequent boots/refreshes, I would just like them to run git fetch
so they only pull down what's necessary rather than needing to re-clone.