[OmniOS-discuss] GZ BE missing libbe:uuid property after Kayak installation --> breakage

Volker A. Brandt vab at bb-c.de
Fri Jul 1 16:43:55 UTC 2016


Hi Dan!


This is

  GZ# uname -a
  SunOS radbug 5.11 omnios-r151018-95eaa7e i86pc i386 i86pc

on a newly installed box with one BE:

  GZ# beadm list
  BE     Active Mountpoint Space Policy Created
  omnios NR     /          1.02G static 2016-06-29 22:36

Activating that BE is a no-op, and works, except for one error message:

  GZ# beadm activate omnios
  be_get_uuid: failed to get uuid property from BE root dataset user properties.
  Activated successfully

However, immediately after creation of a brand new NGZ, inside that
NGZ the single existing BE is marked "xNb":

  NGZ# beadm list
  BE  Active Mountpoint Space Policy Created
  zbe xNb2016-07-01 15:40 /          538M  static 2016-07-01 15:40

(The broken formatting is verbatim from the beadm output.)

This makes "pkg install" unhappy, which is how I found the problem.

I then try to activate the single BE in the NGZ.
This should also be a no-op.  But it does not work:

  # beadm activate -v zbe
  be_zone_get_parent_uuid: failed to parse parentuuid
  be_zone_compare_uuids: failed to get parentbe uuid from the given BE
  be_zone_get_parent_uuid: failed to parse parentuuid
  be_zone_compare_uuids: failed to get parentbe uuid from the given BE
  be_activate: activating zone root dataset from non-active global BE is not supported
  Unable to activate zbe.
  Operation not supported.
  Exit 190

It turns out that the GZ active BE root dataset was missing the libbe
properties

  org.opensolaris.libbe:policy
  org.opensolaris.libbe:uuid

and the NGZ dataset was missing

  org.opensolaris.libbe:parentbe

So I just set some arbitrary values:

  GZ# zfs set org.opensolaris.libbe:policy=static rpool/ROOT/omnios
  GZ# zfs set org.opensolaris.libbe:uuid=deadbeef-f00d-cafe-a278-ad6cde331234 rpool/ROOT/omnios
  GZ# zfs set org.opensolaris.libbe:parentbe=deadbeef-f00d-cafe-a278-ad6cde331234 rpool/zones/omnib0/ROOT/zbe

Now everything works again!  And "pkg install" is happy, too.

Looking at "zpool history rpool", I see:

  2016-07-01.15:39:27 zfs create -o mountpoint=legacy -o zoned=on rpool/zones/omnib0/ROOT
  2016-07-01.15:39:32 zfs create -o org.opensolaris.libbe:active=on -o org.opensolaris.libbe:parentbe=(null) -o canmount=noauto rpool/zones/omnib0/ROOT/zbe
  2016-07-01.15:56:20 zfs create -o mountpoint=legacy -o zoned=on rpool/zones/omnit0/ROOT

Note the "(null)" value for the parent BE... probably a follow-on error
because there was no uuid in the GZ BE in the first place.

The GZ was installed via Kayak using the vanilla 95eaa7e r151018.zfs.bz2
and the NGZ was installed with a simple "zoneadm install", no clone or
anything special.

Do you have any idea?  I am willing to supply further data if you want.


Thanks -- Volker
-- 
------------------------------------------------------------------------
Volker A. Brandt               Consulting and Support for Oracle Solaris
Brandt & Brandt Computer GmbH                   WWW: http://www.bb-c.de/
Am Wiesenpfad 6, 53340 Meckenheim, GERMANY            Email: vab at bb-c.de
Handelsregister: Amtsgericht Bonn, HRB 10513              Schuhgröße: 46
Geschäftsführer: Rainer J.H. Brandt und Volker A. Brandt

"When logic and proportion have fallen sloppy dead"


More information about the OmniOS-discuss mailing list