On 31 May 2017, at 9:36 PM, Ryan Harper <[email protected]> wrote:
> Yes, the overlay module doesn't seem to have a way to find a default workdir > value by itself. =( This is an unfortunate regression. > What needs to happen is that after the fs_setup step that creates > /mnt/postfix-overlay, but before the mounts section where the overlayfs is > created, the workdir and upperdir directories need to be created on the > /mnt/postfix-overlay disk as /mnt/postfix-overlay/upperdir and > /mnt/postfix-overlay/workdir (or something) respectively. > > Is there something that can be done in cloud-init to make this possible? > > Surely it can; I think it's a matter of module timing: you need the directory > to be created prior to the mounts module running. > Looking at /etc/cloud/cloud.cfg, the cloud_init_modules list, shows that > 'bootcmd'[1] will run before the 'mounts' stage, so > it should be possible to include a command like this: > > bootcmd: > - mkdir -p /mnt/postfix-overlay-workdir > > And to update the overlayfs mount command to specify the workdir path. > > That's untested, but I think should do what you need. > > 1. http://cloudinit.readthedocs.io/en/latest/topics/modules.html#bootcmd > <http://cloudinit.readthedocs.io/en/latest/topics/modules.html#bootcmd> Alas, bootcmd also runs before the disk_setup stage, and as a result the disk doesn’t exist yet that the directories need to be created on. # The modules that run in the 'config' stage cloud_config_modules: # Emit the cloud config ready event # this can be used by upstart jobs for 'start on cloud-config'. - emit_upstart - disk_setup - mounts “mounts” seems to be run directly after “disk_setup”, giving no option to do anything in between. What is the cleanest way to fix this? Maybe something like this: fs_setup: - label: postfix device: /dev/xvde filesystem: ext4 mkdir: upperdir workdir Regards, Graham —
smime.p7s
Description: S/MIME cryptographic signature
-- Mailing list: https://launchpad.net/~cloud-init Post to : [email protected] Unsubscribe : https://launchpad.net/~cloud-init More help : https://help.launchpad.net/ListHelp

