Issue #5496 has been reported by derek olsen.
----------------------------------------
Bug #5496: ZFS pool version change breaks zpool provider
https://projects.puppetlabs.com/issues/5496
Author: derek olsen
Status: Unreviewed
Priority: Normal
Assignee:
Category: provider
Target version:
Affected Puppet version:
Keywords: solaris zpool provider
Branch:
The release of Solaris 10 update 9 introduces ZFS pool version 22. One of
the changes this ZFS pool version introduces is a new naming scheme for virtual
devices (eg: raid groups).
For example a mirrored rpool previously looked like this
]zpool status rpool
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c0t0d0s0 ONLINE 0 0 0
c0t1d0s0 ONLINE 0 0 0
The updated version of ZFS pool presents this. Not the -0 following keyword
mirror.
zpool status rpool
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c0t0d0s0 ONLINE 0 0 0
c0t1d0s0 ONLINE 0 0 0
It appears that each vdev will be assigned a unique identifier starting with
-0 and incrementally increasing. So if you had a zpool comprised of two
mirrored pairs you may see
mirror-0 ONLINE 0 0 0
c6t0d0 ONLINE 0 0 0
c6t1d0 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
c6t2d0 ONLINE 0 0 0
c6t3d0 ONLINE 0 0 0
logs
mirror-2 ONLINE 0 0 0
c4t0d0 ONLINE 0 0 0
c4t1d0 ONLINE 0 0 0
This applies to mirror,raidz,raidz2,raidz3 and log devices. Going forward
future versions of Solaris eg: 11 or whatever it will be called will use this
naming convention.
I've not noodled through all the implications to puppet's zpool provider but
it's scary to my limited ruby skills. One thought I had was to modify line 43
in provider/zpool/solaris.rb to just strip the trailling '-#' from each vdev in
the zpool itself.
Log's from a host with puppet managing a zpool
Dec 10 18:44:26 dev-util-41 puppetd[551]: [ID 702911 daemon.warning] NO CHANGES
BEING MADE: zpool raidz does not match, should be 'c0t2d0 c0t3d0 c0t4d0 c0t5d0
c0t6d0 c0t7d0' currently is ''
Dec 10 18:44:26 dev-util-41 puppetd[551]: [ID 702911 daemon.notice]
(/Stage[main]//Node[dev-util-41]/Zfs::Zpool[localdisks]/Zpool[localdisks]/raidz)
defined 'raidz' as 'c0t2d0 c0t3d0 c0t4d0 c0t5d0 c0t6d0 c0t7d0'
output from zpool
] zpool status localdisks
pool: localdisks
state: ONLINE
status: The pool is formatted using an older on-disk format. The pool can
still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'. Once this is done, the
pool will no longer be accessible on older software versions.
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
localdisks ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
c0t2d0 ONLINE 0 0 0
c0t3d0 ONLINE 0 0 0
c0t4d0 ONLINE 0 0 0
c0t5d0 ONLINE 0 0 0
c0t6d0 ONLINE 0 0 0
c0t7d0 ONLINE 0 0 0
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.