It is related to cloning zones.
I have a reproducible example.

# zonecfg -z zone1
zone1: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zone1> create
zonecfg:zone1> set zonepath=/zones/zone1
zonecfg:zone1> verify
zonecfg:zone1> end
# zoneadm -z zone1 install
# zoneadm -z zone1 boot
# zoneadm -z zone1 halt
# zonecfg -z zone2
zonecfg:zone2> create
zonecfg:zone2> set zonepath=/zones/zone2
zonecfg:zone2> end
# zoneadm -z zone2 clone zone1
# zoneadm -z zone1 boot
# zoneadm -z zone2 boot
# zonecfg -z zone3
zone3: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zone3> create
zonecfg:zone3> set zonepath=/zones/zone3
zonecfg:zone3> end
The end command only makes sense in the resource scope.
zonecfg:zone3> exit
root@oi-vm:~# zoneadm -z zone3 clone zone1
root@oi-vm:~# zlogin zone2
[Connected to zone 'zone2' pts/9]
Last login: Thu Apr 26 08:24:53 on pts/9
The Illumos Project SunOS 5.11 illumos-094e47e980 April 2018
root@zone2:~# beadm list
BE  Active Mountpoint Space Policy Created
zbe NR     /          7.68M static 2018-04-26 08:25
root@zone2:~# beadm create zbe-2
Created successfully
root@zone2:~# logout

[Connection to zone 'zone2' pts/9 closed]
root@oi-vm:~# zoneadm -z zone3 boot
root@oi-vm:~# zlogin zone2
[Connected to zone 'zone2' pts/9]
Last login: Thu Apr 26 08:27:40 on pts/9
The Illumos Project SunOS 5.11 illumos-094e47e980 April 2018
root@zone2:~# beadm activate zbe-2
Unable to activate zbe-2.
BE promotion failed.
root@zone2:~# truss beadm activate zbe-2
...
open("/dev/zfs", O_RDWR)                        = 6
...
ioctl(6, ZFS_IOC_PROMOTE, 0x08045978)           Err#2 ENOENT
...

---
System Administrator of Southern Federal University Computer Center

On 25.04.2018 18:43, Alexander Pyhalov wrote:
Hi.

I see the following issue in zone - I can't activate boot environment.
I can do, for example,
  beadm destroy zbe-backup-2
but not
  beadm activate zbe-backup-2 (or any other BE, including active one).


$ pfexec beadm activate -v  zbe-14
be_promote_ds_callback: promote of data/zones/os36/ROOT/zbe-14 failed:
dataset does not exist
be_activate: failed to activate the datasets for
data/zones/os36/ROOT/zbe-14: dataset does not exist
Unable to activate zbe-14.
BE promotion failed.


If I halt zone,  manually set org.opensolaris.libbe:active=on on
necessary dataset and boot  it, everything works as expected.

truss'ing beadm activate shows the following:

open("/dev/zfs", O_RDWR)                        = 3
open("/etc/mnttab", O_RDONLY)                   = 4

...
ioctl(4, MNTIOC_GETMNTANY, 0x080420D4)          = 1
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08041008) Err#3 ESRCH
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) = 0
llseek(4, 0, SEEK_CUR)                          = 0
llseek(4, 0, SEEK_SET)                          = 0
ioctl(4, MNTIOC_GETMNTANY, 0x080420D4)          = 1
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08041008) Err#3 ESRCH
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) Err#12 ENOMEM
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) = 0
llseek(4, 0, SEEK_CUR)                          = 0
llseek(4, 0, SEEK_SET)                          = 0
ioctl(4, MNTIOC_GETMNTANY, 0x080420D4)          = 1
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08041008) Err#3 ESRCH
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) = 0
llseek(4, 0, SEEK_CUR)                          = 0
llseek(4, 0, SEEK_SET)                          = 0
ioctl(4, MNTIOC_GETMNTANY, 0x080420D4)          = 1
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08041008) Err#3 ESRCH
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) Err#12 ENOMEM
ioctl(3, ZFS_IOC_DATASET_LIST_NEXT, 0x08042238) = 0
llseek(4, 0, SEEK_CUR)                          = 0
llseek(4, 0, SEEK_SET)                          = 0
ioctl(4, MNTIOC_GETMNTANY, 0x080420D4)          = 0
ioctl(3, ZFS_IOC_OBJSET_STATS, 0x08045958)      = 0
llseek(4, 0, SEEK_CUR)                          = 0
llseek(4, 0, SEEK_SET)                          = 0
ioctl(4, MNTIOC_GETMNTANY, 0x08045D74)          = 0
zone_lookup(0x00000000)                         = 76
ioctl(3, ZFS_IOC_OBJSET_STATS, 0x08045D98)      = 0
ioctl(6, ZFS_IOC_PROMOTE, 0x08045968)           Err#2 ENOENT
close(3)                                        = 0
....




ioctl(6, ZFS_IOC_PROMOTE, 0x08045948) Err#2 ENOENT seems suspicios...

------------------------------------------
illumos: illumos-discuss
Permalink: 
https://illumos.topicbox.com/groups/discuss/discussions/T00ccd97df9cb1d97-Mea76f91a229542dea3338eb4
Delivery options: https://illumos.topicbox.com/groups

Reply via email to