** Description changed:

  === Begin SRU Template ===
  [Impact]
  MAAS has an interest in booting entirely ephemerally without iscsi root.
  The package cloud-initramfs-rooturl supports booting with root coming
  from a url.
    root=http://..../squashfs
  
  This function will be used to pxe boot into a RAM only system with no
  dependency on the network.
  
  [Test Case]
  See the attached prepare-1688606.sh.  That script automates
  everything here making this much easier to test.
  
  1. make sure squashfs module is in the initramfs
     squashfs module is not automatically added to initramfs in precise.
     Just ensure that it is there.
  
     $ echo "manual_add_modules squashfs" |
        sudo tee /etc/initramfs-tools/hooks/squashfs
  
  2. install cloud-initramfs-rooturl
     sudo apt-get update
     sudo apt-get install cloud-initramfs-rooturl
  
  3. collect the kernel and newly generated initramfs
  
     sudo cat /boot/vmlinu?-$(uname -r) > kernel
     cp /boot/initrd.img-$(uname -r) initrd
  
  4. Download a squashfs image or a .tar.xz image
  
     rel="xenial"
     burl="http://cloud-images.ubuntu.com/daily/server";
     file="$rel-server-cloudimg-amd64-root.tar.xz"
     file="$rel-server-cloudimg-amd64.squashfs"
     wget "$burl/$rel/current/$file" -O "$file"
  
  5. run a web server
     python -m SimpleHTTPServer 9999 &
  
  6. create a seed disk for cloud-init.
  
     $ cat > my-user-data <<EOF
     #cloud-config
     password: passw0rd
     chpasswd: { expire: False }
     ssh_pwauth: True
  
     $ echo "instance-id: $(uuidgen || echo i-abcdefg)" > my-meta-data
     $ cloud-localds seed.img my-user-data my-meta-data
  
  7. Boot a vm using the kernel, initrd and url.
  
     cmdline="root=http://10.0.2.2:9999/$file console=ttyS0 -v "
     cmdline="${cmdline} overlayroot=tmpfs"
  
     qemu-system-x86_64 -enable-kvm \
        -device virtio-net-pci,netdev=net00 \
        -netdev type=user,id=net00 \
        -drive if=virtio,file=seed.img \
        -m 1G -nographic \
        -kernel kernel -initrd initrd \
        -append "root=$cmdline"
  
  [Regression Potential]
  Low.  This is adding a package previously not present.
  
  [Other Info]
+ Related bugs:
+  * bug 1689557: replace iscsi usage in ephemeral image with rooturl
  
  === End SRU Template ===

** Changed in: maas-images
       Status: New => Triaged

** Changed in: maas-images
   Importance: Undecided => Medium

** Description changed:

  === Begin SRU Template ===
  [Impact]
  MAAS has an interest in booting entirely ephemerally without iscsi root.
  The package cloud-initramfs-rooturl supports booting with root coming
  from a url.
    root=http://..../squashfs
  
  This function will be used to pxe boot into a RAM only system with no
  dependency on the network.
  
  [Test Case]
  See the attached prepare-1688606.sh.  That script automates
  everything here making this much easier to test.
  
  1. make sure squashfs module is in the initramfs
     squashfs module is not automatically added to initramfs in precise.
     Just ensure that it is there.
  
     $ echo "manual_add_modules squashfs" |
        sudo tee /etc/initramfs-tools/hooks/squashfs
  
  2. install cloud-initramfs-rooturl
     sudo apt-get update
     sudo apt-get install cloud-initramfs-rooturl
  
  3. collect the kernel and newly generated initramfs
  
     sudo cat /boot/vmlinu?-$(uname -r) > kernel
     cp /boot/initrd.img-$(uname -r) initrd
  
  4. Download a squashfs image or a .tar.xz image
  
     rel="xenial"
     burl="http://cloud-images.ubuntu.com/daily/server";
     file="$rel-server-cloudimg-amd64-root.tar.xz"
     file="$rel-server-cloudimg-amd64.squashfs"
     wget "$burl/$rel/current/$file" -O "$file"
  
  5. run a web server
     python -m SimpleHTTPServer 9999 &
  
  6. create a seed disk for cloud-init.
  
     $ cat > my-user-data <<EOF
     #cloud-config
     password: passw0rd
     chpasswd: { expire: False }
     ssh_pwauth: True
  
     $ echo "instance-id: $(uuidgen || echo i-abcdefg)" > my-meta-data
     $ cloud-localds seed.img my-user-data my-meta-data
  
  7. Boot a vm using the kernel, initrd and url.
  
     cmdline="root=http://10.0.2.2:9999/$file console=ttyS0 -v "
     cmdline="${cmdline} overlayroot=tmpfs"
  
     qemu-system-x86_64 -enable-kvm \
        -device virtio-net-pci,netdev=net00 \
        -netdev type=user,id=net00 \
        -drive if=virtio,file=seed.img \
        -m 1G -nographic \
        -kernel kernel -initrd initrd \
        -append "root=$cmdline"
  
  [Regression Potential]
  Low.  This is adding a package previously not present.
  
  [Other Info]
  Related bugs:
-  * bug 1689557: replace iscsi usage in ephemeral image with rooturl
+  * bug 1689557: replace iscsi usage in ephemeral image with rooturl
  
  === End SRU Template ===

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1688606

Title:
  SRU cloud-initramfs-rooturl to archive

To manage notifications about this bug go to:
https://bugs.launchpad.net/maas-images/+bug/1688606/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to