[bitbake-devel,0/2] V4 Disk space monitoring

Submitted by Robert Yang on Feb. 20, 2012, 9:53 a.m. | Patch ID: 21431


Message ID cover.1329727465.git.liezhi.yang@windriver.com
State New
Headers show


git://git.pokylinux.org/poky-contrib robert/disk-space-monitor

Commit Message

Robert Yang Feb. 20, 2012, 9:53 a.m.
Hi Richard,

Here is V4, the main changes are:
1) Can set each directory's threshold separately
2) Can choose the action when the disk space is running low:
   a) Warn
   b) No new task
   c) Abort
3) Change the time interval to disk space(or inode) interval, the reason
   If we use the time interval, then we need a timer, and the timer
   should be actived when the runqueue starts, and it should combine
   closely with the runqueue since it it needs controll the task(no new
   task), and the timer should in the subprocess, otherewise it would
   block the runqueue, it seems hard to terminate to pass the Ctrl-C
   to the subprocess since the Ctrl-C is captured by the ui, so I change
   the time interval to the disk space(or inode) interval, this seems
   more reasonable than the time interval, it would only warn when the
   disk space reduce more than the interval, for example, if the interval
   is 10M, it would warn when the space is lower than the threshold, and
   warn again when the space reduce more than 10M.

4) The testing result: (The action would be executed when the space or inode
   is lower than the threshold):
   a) When the space is running low:
      BB_DISKMON_DIRS = "${TMPDIR},130G,20M"
         WARNING: The free space of /dev/sdb4 is running low (119.700GB left)

         The build will go on, and will warn again when the disk space reduces
         more than interval.

         WARNING: The free space of /dev/sdb4 is running low (119.689GB left)
         WARNING: No new tasks can be excuted since BB_DISKMON_ACTION = "NO_NEW_TASK"!

         The build will stop after other tasks has been done

    iii) WARNING: The free space of /dev/sdb4 is running low (119.689GB left)
         ERROR: Immediately abort since BB_DISKMON_ACTION = "ABORT"!

        The build will stop immediately.

   b) The similar to the inode, and also the similar to more than one disks
       are monitored.

// Robert

The following changes since commit 41a83ccfe50ec69425a4828fb5836d38d3f99e67:

  guile: fix cross configure failure (2012-02-10 17:01:42 +0000)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib robert/disk-space-monitor

Robert Yang (2):
  Disk space monitoring
  Add config sample for disk space monitoring

 bitbake/bin/bitbake               |    1 +
 bitbake/lib/bb/monitordisk.py     |  177 +++++++++++++++++++++++++++++++++++++
 bitbake/lib/bb/runqueue.py        |   67 +++++++++++++-
 meta-yocto/conf/local.conf.sample |   29 ++++++
 4 files changed, 271 insertions(+), 3 deletions(-)
 create mode 100644 bitbake/lib/bb/monitordisk.py