[ubuntu-cloud] Cloud-config and mount points
Bo Shi
bo at simpler.co
Thu Jul 12 00:28:42 UTC 2012
Thanks Scott, I'll give it a try. As for ideas/code, I'm not
qualified to make any statement as I don't even know where the code
lives for the init code. I'll try to report back when I get some time
to dive in.
On Wed, Jul 11, 2012 at 10:38 AM, Scott Moser <smoser at ubuntu.com> wrote:
> On Tue, 10 Jul 2012, Bo Shi wrote:
>
>> Hi,
>>
>> On an AWS EC2 instance, I'd like to switch /var/log from the root disk
>> to an ephemeral disk. I can successfully change the mount point using
>> cloud-config:
>>
>> mounts:
>> - [ ephemeral0, /var/log, auto, "defaults,noexec" ]
>>
>>
>> One problem with this approach is that the actual mounts appear to be
>> occurring *after* rsyslog is started which blows away any existing
>> logs. Does anyone know of a workaround?
>
>
> At times I've considered trying to make the mounts try to copy data
> across, but it seemed complex. Ie, in the case given above, the code
> would have to know that rsyslog has to be restarted because it has handles
> to /var/log.
>
> That said, I think you might be able to accomplish what you want by
> running the 'mounts' cloud-config module as a 'cloud_init_modules' rather
> than 'cloud_config_modules'.
>
> basically, through user-data or image modification of
> /etc/cloud/cloud.cfg you should be able to do this:
> | mounts:
> | - [ ephemeral0, /var/log, auto, "defaults,noexec" ]
> | cloud_init_modules:
> | - bootcmd
> | - resizefs
> | - set_hostname
> | - update_hostname
> | - update_etc_hosts
> | - ca-certs
> | - rsyslog
> | - ssh
> | cloud_config_modules:
> | - mounts
> | - ssh-import-id
> | - locale
> | - set-passwords
> | - grub-dpkg
> | - apt-pipelining
> | - apt-update-upgrade
> | - landscape
> | - timezone
> | - puppet
> | - chef
> | - salt-minion
> | - mcollective
> | - disable-ec2-metadata
> | - runcmd
> | - byobu
>
> Above, I basically copied content from /etc/cloud/cloud.cfg the data
> provided by user-data will override those stored in the image.
>
> I think that when run as a cloud-init module, cloud-init will actually
> block the running of rsyslog until it has finished. So, at that point
> rsyslog should not have populated it.
>
> However, cloud-inti *will* have written some stuff to
> /var/log/cloud-init.log. so... thats one example of why this doesn't
> really work as well as you'd like.
>
> I'm open to ideas and code on how to make it magically work
More information about the Ubuntu-cloud
mailing list