[Bug 2045708] Re: [SRU] Improve debian/99-gce.rules to set schedulers based on disk

Chloé Smith 2045708 at bugs.launchpad.net
Tue Feb 13 12:45:44 UTC 2024


** Description changed:

  [SRU]
  =======
  
  [Overview]
  
  We should reduce the scope of the `udev` rules in d/99-gce.rules, and
  change the I/O scheduler. The previous `udev` rule was drastically
  reducing the bootspeed on SSD backed instances, as the `noop` scheduler
  is pretty old school.
  
  I did pretty extensive experimentation and found that swapping to "none"
  in this file yielded the best results on HDD instances (>10s improvement
  in boot time on average). Letting SSD's just roll independently also
  seemed to give the best speeds.
  
  [ Impact ]
  
   * If an end user launches an Ubuntu instance in GCE backed with a HDD, no
     scheduler will be used natively.
  
   * This package is provided upstream by Google themselves, and is part of a
     collection of tools and that ensures that the Ubuntu images published to GCE
     run properly on the platform.
  
  [Test Case]
  
  When this package lands in -proposed, the following will happen:
  
   * an image built with this package from -proposed will be built for GCE and
     published in the `ubuntu-os-cloud-image-proposed` project
   * The image will go through CPC's own CTF framework, and assuming it passes
     will be handed to the Google team to perform their own verification.
   * This can also be done independently with a PPA hooked into CPC's bootstrap
     scripts (kajiya's PPA here: [0])
  
  If all the testing indicates that the image containing the new package
- is good, verification is considered finished. [Additional Information]
+ is good, verification is considered finished.
+ 
+ [ Regression potential / Where problems could occur ]
+ 
+ * This may affect users who are already modifying the file (d/99-gce.rules) via 
+   a startup script on boot [2]; there have been no edits since 2017 so it's a
+   pretty well established file.
+ 
+ * There could also be issues if a non-rotating disk is interpreted as a rotating 
+   disk (and vice-versa). This shouldn't be a big problem in practice though, as 
+   the named scheduler is "none" which works well on both types anyway. 
+ 
+ 
+ [Additional Information]
  
  This bug is used to track the release of this new version for all the
  supported suites, as per the policy mentioned here [1].
  
  [0]: https://launchpad.net/~kajiya/+archive/ubuntu/gce-compute-image-packages
  [1]: https://wiki.ubuntu.com/google-compute-engine-oslogin-Updates
+ [2]: https://cloud.google.com/compute/docs/instances/startup-scripts/linux

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gce-compute-image-packages in
Ubuntu.
https://bugs.launchpad.net/bugs/2045708

Title:
  [SRU] Improve debian/99-gce.rules to set schedulers based on disk

Status in gce-compute-image-packages package in Ubuntu:
  Fix Released
Status in gce-compute-image-packages source package in Focal:
  Fix Committed
Status in gce-compute-image-packages source package in Jammy:
  Fix Committed
Status in gce-compute-image-packages source package in Mantic:
  New

Bug description:
  [SRU]
  =======

  [Overview]

  We should reduce the scope of the `udev` rules in d/99-gce.rules, and
  change the I/O scheduler. The previous `udev` rule was drastically
  reducing the bootspeed on SSD backed instances, as the `noop`
  scheduler is pretty old school.

  I did pretty extensive experimentation and found that swapping to
  "none" in this file yielded the best results on HDD instances (>10s
  improvement in boot time on average). Letting SSD's just roll
  independently also seemed to give the best speeds.

  [ Impact ]

   * If an end user launches an Ubuntu instance in GCE backed with a HDD, no
     scheduler will be used natively.

   * This package is provided upstream by Google themselves, and is part of a
     collection of tools and that ensures that the Ubuntu images published to GCE
     run properly on the platform.

  [Test Case]

  When this package lands in -proposed, the following will happen:

   * an image built with this package from -proposed will be built for GCE and
     published in the `ubuntu-os-cloud-image-proposed` project
   * The image will go through CPC's own CTF framework, and assuming it passes
     will be handed to the Google team to perform their own verification.
   * This can also be done independently with a PPA hooked into CPC's bootstrap
     scripts (kajiya's PPA here: [0])

  If all the testing indicates that the image containing the new package
  is good, verification is considered finished.

  [ Regression potential / Where problems could occur ]

  * This may affect users who are already modifying the file (d/99-gce.rules) via 
    a startup script on boot [2]; there have been no edits since 2017 so it's a
    pretty well established file.

  * There could also be issues if a non-rotating disk is interpreted as a rotating 
    disk (and vice-versa). This shouldn't be a big problem in practice though, as 
    the named scheduler is "none" which works well on both types anyway. 


  [Additional Information]

  This bug is used to track the release of this new version for all the
  supported suites, as per the policy mentioned here [1].

  [0]: https://launchpad.net/~kajiya/+archive/ubuntu/gce-compute-image-packages
  [1]: https://wiki.ubuntu.com/google-compute-engine-oslogin-Updates
  [2]: https://cloud.google.com/compute/docs/instances/startup-scripts/linux

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gce-compute-image-packages/+bug/2045708/+subscriptions




More information about the foundations-bugs mailing list