Public bug reported:

Hi, I'm newbie on cloud-init. I used qemu-system-x86_64 using kvm and 
cloud-init for provisioning ubuntu-cloud-image.
I want to file system mount using 9p file system. If I want to use it, I need 
to put my path on the qemu starting command like '-fsdev .. something like 
that' and in the virtual machine, I need to mount using 9p type file system 
using mount command. So, I choose using ubuntu run-level script which is 
writing script on the init.d and use update-rc.d command. When I tried to 
normal script file such as 'touch /blah/blah', it worked properly.

Also, it wrote successfully into file, and execute that script, it works
(which means that it can attach 9p-filesystem, just it does not work on
first time boot).

However, when I tried to attach 9p-file system. It does not working.
When I reboot the instance, it successfully attched the file system. So,
I reasonably consider that cloud-init cannot working properly before
boot. Rest of this issue detail is the detail I follow the guideline.

Many thanks :)

1. Tell us your cloud provider

-> Ubuntu 16.04 cloud xenial-amd64 img

2. Any appropriate cloud-init configuration you can provide us

Content-Type: multipart/mixed; boundary="==BOUNDARY=="
MIME-Version: 1.0

--==BOUNDARY==
MIME-Version: 1.0
Content-Type: text/cloud-config; charset="us-ascii"

#cloud-config
users:
  - root
disable_root: False
chpasswd:
  list:
    - root:root
  expire: False
hostname: 632b7b18
manage_etc_hosts: true
ssh_pwauth: true
write_files:
 - path: /etc/init.d/ceph-9p-script-0
   content: |
    #!/bin/bash
    ### BEGIN INIT INFO
    # Provides: ceph-9p-script-0
    # Required-Start: $all
    # Required-Stop:
    # Default-start: 2 3 5
    # Default-stop:
    # Short-Description: 9p fileStorage Mount Script
    # Description: 9p fileStorage Mount Script
    ### END INIT INFO

    mkdir -p /root/test; mount -t 9p -o trans=virtio,version=9p2000.L
host_share_0 /root/test

 - path: /etc/init.d/startscript
   content: |
    #!/bin/bash
    ### BEGIN INIT INFO
    # Provides: startscript
    # Required-Start: $all
    # Required-Stop:
    # Default-start: 2 3 5
    # Default-stop:
    # Short-Description: Vm Custom Start Script
    # Description: Vm Custom Start Script
    ### END INIT INFO

    timeout 5s /root/start.sh
 - path: /root/start.sh
   content: |
    #!/bin/bash
    touch /root/startTest


runcmd:
 - /bin/bash -c 'if grep -q 10.0.0.2 /etc/resolv.conf; then :; else echo 
"nameserver 10.0.0.2" >> /etc/resolv.conf; fi'
 - /bin/bash -c 'echo 9p 9pnet 9pnet_virtio >> /etc/initramfs-tools/modules; 
sudo update-initramfs -u'
 - /bin/bash -c 'chmod +x /etc/init.d/ceph-9p-script-0; update-rc.d 
ceph-9p-script-0 defaults'


merge_type: 'list(append)+dict(recurse_array,no_replace)+str()'

--==BOUNDARY==--


3. Perform the following on the system and attach it to this bug:

Run:
  cloud-init collect

If your cloud-init does not have that sub command, then please collect:
  dmesg > dmesg.txt
  journalctl -o short-precise > journal.txt
  tar -cvf cloud-init.tar dmesg.txt journal.txt /var/log/cloud-init.log 
/var/log/cloud-init-output.log /run/cloud-init

4. attach cloud-init.tar to this bug.
If you feel that there may be sensitive data involved, consider re-creating on 
a new instance that has no sensitive data.


========
I attached as a file.

I masked some string for sensitive data. But, it does not matter for
watch you log.

** Affects: cloud-init
     Importance: Undecided
         Status: New

** Attachment added: "I followed step 3 and 4"
   
https://bugs.launchpad.net/bugs/1752789/+attachment/5066658/+files/cloud-init.tar

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1752789

Title:
  init rc script not working properly at first boot

Status in cloud-init:
  New

Bug description:
  Hi, I'm newbie on cloud-init. I used qemu-system-x86_64 using kvm and 
cloud-init for provisioning ubuntu-cloud-image.
  I want to file system mount using 9p file system. If I want to use it, I need 
to put my path on the qemu starting command like '-fsdev .. something like 
that' and in the virtual machine, I need to mount using 9p type file system 
using mount command. So, I choose using ubuntu run-level script which is 
writing script on the init.d and use update-rc.d command. When I tried to 
normal script file such as 'touch /blah/blah', it worked properly.

  Also, it wrote successfully into file, and execute that script, it
  works (which means that it can attach 9p-filesystem, just it does not
  work on first time boot).

  However, when I tried to attach 9p-file system. It does not working.
  When I reboot the instance, it successfully attched the file system.
  So, I reasonably consider that cloud-init cannot working properly
  before boot. Rest of this issue detail is the detail I follow the
  guideline.

  Many thanks :)

  1. Tell us your cloud provider

  -> Ubuntu 16.04 cloud xenial-amd64 img

  2. Any appropriate cloud-init configuration you can provide us

  Content-Type: multipart/mixed; boundary="==BOUNDARY=="
  MIME-Version: 1.0

  --==BOUNDARY==
  MIME-Version: 1.0
  Content-Type: text/cloud-config; charset="us-ascii"

  #cloud-config
  users:
    - root
  disable_root: False
  chpasswd:
    list:
      - root:root
    expire: False
  hostname: 632b7b18
  manage_etc_hosts: true
  ssh_pwauth: true
  write_files:
   - path: /etc/init.d/ceph-9p-script-0
     content: |
      #!/bin/bash
      ### BEGIN INIT INFO
      # Provides: ceph-9p-script-0
      # Required-Start: $all
      # Required-Stop:
      # Default-start: 2 3 5
      # Default-stop:
      # Short-Description: 9p fileStorage Mount Script
      # Description: 9p fileStorage Mount Script
      ### END INIT INFO

      mkdir -p /root/test; mount -t 9p -o trans=virtio,version=9p2000.L
  host_share_0 /root/test

   - path: /etc/init.d/startscript
     content: |
      #!/bin/bash
      ### BEGIN INIT INFO
      # Provides: startscript
      # Required-Start: $all
      # Required-Stop:
      # Default-start: 2 3 5
      # Default-stop:
      # Short-Description: Vm Custom Start Script
      # Description: Vm Custom Start Script
      ### END INIT INFO

      timeout 5s /root/start.sh
   - path: /root/start.sh
     content: |
      #!/bin/bash
      touch /root/startTest

  
  runcmd:
   - /bin/bash -c 'if grep -q 10.0.0.2 /etc/resolv.conf; then :; else echo 
"nameserver 10.0.0.2" >> /etc/resolv.conf; fi'
   - /bin/bash -c 'echo 9p 9pnet 9pnet_virtio >> /etc/initramfs-tools/modules; 
sudo update-initramfs -u'
   - /bin/bash -c 'chmod +x /etc/init.d/ceph-9p-script-0; update-rc.d 
ceph-9p-script-0 defaults'

  
  merge_type: 'list(append)+dict(recurse_array,no_replace)+str()'

  --==BOUNDARY==--

  
  3. Perform the following on the system and attach it to this bug:

  Run:
    cloud-init collect

  If your cloud-init does not have that sub command, then please collect:
    dmesg > dmesg.txt
    journalctl -o short-precise > journal.txt
    tar -cvf cloud-init.tar dmesg.txt journal.txt /var/log/cloud-init.log 
/var/log/cloud-init-output.log /run/cloud-init

  4. attach cloud-init.tar to this bug.
  If you feel that there may be sensitive data involved, consider re-creating 
on a new instance that has no sensitive data.

  
  ========
  I attached as a file.

  I masked some string for sensitive data. But, it does not matter for
  watch you log.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1752789/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to