** Description changed: Under bug 1080841 we made cloud-init invoke 'initctl reload- configuration' after it wrote a upstart job. This was necessary because inotify is not supported on all filesystems (overlayfs being the one of most current interst). This seems to be causing upstart some pain, and resulting in cloud-final (and 'rc') not being run. Easy user-data to reproduce the problem is: #cloud-config-archive - content: | + #boothook #!/bin/sh - echo "==== $(date -R): user-script run ===" | tee /run/user-script.log + touch /run/cloud-init-upstart-reload # hack, see trunk commit 783 - content: | - #upstart-job - description "a test upstart job" - start on stopped rc RUNLEVEL=[2345] - console output - task - script - echo "==== $(date -R): upstart job run ===" | tee /run/upstart-job.log - end script + #!/bin/sh + echo "==== $(date -R): user-script run ===" | tee /run/user-script.log + - content: | + #upstart-job + description "a test upstart job" + start on stopped rc RUNLEVEL=[2345] + console output + task + script + echo "==== $(date -R): upstart job run ===" | tee /run/upstart-job.log + end script You should (and do on quantal) end up with 2 files written to /run. I've verified that the same behavior is true on quantal. If you change cloud-init to notify upstart about a job immediately after it writes it, then quantal's upstart gets confused also. Related bugs: - * bug 1080841: should reload configuration if an upstart job is added - * bug 1103881: cloud-final is never executed if upstart is upgraded during initialization of the image + * bug 1080841: should reload configuration if an upstart job is added + * bug 1103881: cloud-final is never executed if upstart is upgraded during initialization of the image
** Description changed: Under bug 1080841 we made cloud-init invoke 'initctl reload- configuration' after it wrote a upstart job. This was necessary because inotify is not supported on all filesystems (overlayfs being the one of most current interst). This seems to be causing upstart some pain, and resulting in cloud-final (and 'rc') not being run. Easy user-data to reproduce the problem is: #cloud-config-archive - content: | - #boothook - #!/bin/sh - touch /run/cloud-init-upstart-reload # hack, see trunk commit 783 + #cloud-boothook + #!/bin/sh + touch /run/cloud-init-upstart-reload # hack, see trunk commit 783 - content: | #!/bin/sh echo "==== $(date -R): user-script run ===" | tee /run/user-script.log - content: | #upstart-job description "a test upstart job" start on stopped rc RUNLEVEL=[2345] console output task script echo "==== $(date -R): upstart job run ===" | tee /run/upstart-job.log end script You should (and do on quantal) end up with 2 files written to /run. I've verified that the same behavior is true on quantal. If you change cloud-init to notify upstart about a job immediately after it writes it, then quantal's upstart gets confused also. Related bugs: * bug 1080841: should reload configuration if an upstart job is added * bug 1103881: cloud-final is never executed if upstart is upgraded during initialization of the image -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1124384 Title: reload-configuration can confuse upstart To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1124384/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs