1. 12 May, 2014 2 commits
  2. 09 May, 2014 10 commits
    • Mike Hibler's avatar
      Change to use only geom and GPTs for FBSD 10 and above. · 0639a119
      Mike Hibler authored
      As of FreeBSD 10, I am tired of fighting the old MBR tools.
      So for whole disks (slice == 0) we are going to use GPT so that we
      can get good (1M) alignment and potentially big-ass partitions with
      a minimum of fuss.
      
      This means that you cannot image those partitions since imagezip
      does not yet (as of 05/2014) understand GPT. But we have no mechanism
      for capturing an image from anything but the system disk anyway, so
      we can live with this until GPT support is added.
      0639a119
    • Mike Hibler's avatar
      New imagevalidate tool for printing/checking/updating image metadata. · 0bb906f4
      Mike Hibler authored
      This should be run whenever an image is created or updated and possibly
      periodically over existing images. It makes sure that various image
      metadata fields are up to date:
      
       * hash: the SHA1 hash of the image. This field has been around for
         awhile and was previously maintained by "imagehash".
      
       * size: the size of the image file.
      
       * range: the sector range covered by the uncompressed image data.
      
       * mtime: modification time of the image. This is the "updated"
         datetime field in the DB. Its intent was always to track the update
         time of the image, but it wasn't always exact (create-image would
         update this with the current time at the start of the image capture
         process).
      
      Documentation? Umm...the usage message is comprehensive!
      It sports a variety of useful options, but the basics are:
      
       * imagevalidate -p <image> ...
          Print current DB metadata for indicated images. <image> can either
          be a <pid>/<imagename> string or the numeric imageid.
      
       * imagevalidate <image> ...
          Check the mtime, size, hash, and image range of the image file and
          compare them to the values in the DB. Whine for ones which are out
          of date.
      
       * imagevalidate -u <image> ...
          Compare and then update DB metadata fields that are out of date.
      
      Fixed a variety of scripts that either used imagehash or computed the
      SHA1 hash directly to now use imagevalidate.
      0bb906f4
    • Mike Hibler's avatar
      Fix comparisons involving NTPSERVER. · 605221af
      Mike Hibler authored
      605221af
    • Mike Hibler's avatar
      15ee217f
    • Leigh Stoller's avatar
      Fix package mount race condition. · 07a36a57
      Leigh Stoller authored
      07a36a57
    • Leigh Stoller's avatar
    • Leigh Stoller's avatar
      Fix locking bug. · a3ae01a9
      Leigh Stoller authored
      a3ae01a9
    • Leigh Stoller's avatar
      Minor bug fixes. · 6ef02284
      Leigh Stoller authored
      6ef02284
    • Leigh Stoller's avatar
      Add perl JSON library. · 13f5110a
      Leigh Stoller authored
      13f5110a
    • Leigh Stoller's avatar
      Make sure the physical device MTU is set to jumbo before creating · ba3c8863
      Leigh Stoller authored
      the vlan devices on it (inherits MTU).
      ba3c8863
  3. 08 May, 2014 2 commits
    • Mike Hibler's avatar
      Add elabinelab role attributes for setting number of cores and amount of RAM. · d28d263a
      Mike Hibler authored
      XEN_CORES and XEN_MEMSIZE, which default to 1 and 1000 for backward compat.
      d28d263a
    • Mike Hibler's avatar
      Support for MBR v3 images in Xen VMs. · ef69e78a
      Mike Hibler authored
      If the Xen dom0 base image is properly (1M) aligned and the VM images
      are properly aligned as well, we should avoid or at least minimize any
      anomolous effects due to mismatches along the path involving the guest OS,
      guest disk layout, LVM LVs, LVM PVs, and the underlying physical disks.
      
      Also, random change to add a min size parameter to the findSpareDisks
      function. I was going to use this to avoid sucking up the little 3GB
      unused partition in MBR 3, but then decided against it.
      ef69e78a
  4. 07 May, 2014 4 commits
    • Mike Hibler's avatar
      Look for foo.sha1 before foo.ndz.sha1. · c1d1aa29
      Mike Hibler authored
      c1d1aa29
    • Mike Hibler's avatar
      Prepare for the coming of MBR version 3. · b4fdf8e0
      Mike Hibler authored
      Ironic. After all that hoo-haw about dynamically-created MBRs in the
      previous commit, we introduce a new hardcoded static MBR...
      
      Goals:
       * Single OS partition, in the fast area of rotating disks
       * Proper alignment for 4k sector drives and SSDs (1MB alignment)
       * Still works on 40GB disk (aka, pc850s)
       * P1 16 GiB: goldilocks FS: not too small (> 10GB), but not too big (< 30GB)
       * P2  3 GiB: can hold a co-loaded MBR 1 image (e.g., FBSD410 delay node OS)
       * P3  3 GiB: at least as much swap at currently (>= 1GB)
      
      The partition table:
        P1:     2048	33554432	FS, 16GiB
        P2: 33556480	 6291456	possible delay-node OS or additional swap, 3GiB
        P3: 39847936	 6291456	swap, 3GiB
        P4: 46139392	34278848+	extrafs, 16+GB
      
      The larger size and partition alignment are why I pushed this through despite
      my noble intentions.
      b4fdf8e0
    • Mike Hibler's avatar
      Introducing TMCD version 38! Returns additional "loadinfo" info. · 4a8604b1
      Mike Hibler authored
      New loadinfo returns:
      
      IMAGELOW, IMAGEHIGH: range of sectors covered by the image.
          This is NOT the same as what imageinfo or imagedump will show.
          For partition images, these low and high values are adjusted
          for the MBR offset of the partition in question. So when loading
          a Linux image, expect values like 6G and 12G. The intent here
          (not yet realized) is that these values will be used to construct
          an MBR/GPT on the fly, rather than using hardcode magic MBR versions.
          You can get the uncompressed size of the image with (high - low + 1).
      
      IMAGESSIZE: the units of the low/high values.
          Always 512 right now, may be 4096 someday.
      
      IMAGERELOC: non-zero if the image can be placed at an offset other
          than IMAGELOW (i.e., it can be relocated). This may or may not
          prove useful for dynamic MBR construction...we will see.
      
      Probably didn't need to bump the version here, but I am playing it safe.
      4a8604b1
    • Kirk Webb's avatar
      Merge branch 'pnet-www' · 75c8443a
      Kirk Webb authored
      75c8443a
  5. 06 May, 2014 22 commits