** 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
Server Team, which is subscribed to cloud-init in 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-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to