The Puppet Labs Issue Tracker has Moved: https://tickets.puppetlabs.com

Bug #8200

puppet resources balks on zfs and zone under Solaris 10 u9 on VMWare

Added by Anonymous almost 3 years ago. Updated over 1 year ago.

Status:ClosedStart date:07/01/2011
Priority:NormalDue date:
Assignee:Rahul Gopinath% Done:

0%

Category:Solaris
Target version:3.0.0
Affected Puppet version:2.6.0 Branch:https://github.com/puppetlabs/puppet/pull/1037
Keywords:solaris,zfs,zones,zone

We've Moved!

Ticket tracking is now hosted in JIRA: https://tickets.puppetlabs.com

This issue is currently not available for export. If you are experiencing the issue described below, please file a new ticket in JIRA. Once a new ticket has been created, please add a link to it that points back to this Redmine ticket.


Description

On a dev machine running Puppet Enterprise 1.1. The version from OpenCSW exhibits an issue that looks the same.

-bash-3.00$ echo $PATH
/opt/puppet/bin:/usr/bin
-bash-3.00$ facter
facterversion => 1.5.8
hardwareisa => i386
hardwaremodel => i86pc
hostname => salpha
id => matt
interfaces => lo0,e1000g0
ipaddress => 192.168.160.241
ipaddress_e1000g0 => 192.168.160.241
ipaddress_lo0 => 127.0.0.1
is_virtual => true
kernel => SunOS
kernelmajversion => Generic_142910-17
kernelrelease => 5.10
kernelversion => Generic_142910-17
manufacturer => VMware, Inc.
netmask => 255.255.255.0
netmask_e1000g0 => 255.255.255.0
netmask_lo0 => 255.0.0.0
network_e1000g0 => 192.168.160.0
network_lo0 => 127.0.0.0
operatingsystem => Solaris
operatingsystemrelease => 5.10
path => /opt/puppet/bin:/usr/bin:/usr/sbin:/sbin
productname => VMware Virtual Platform
ps => ps -ef
puppetversion => 2.6.4 (Puppet Enterprise 1.1)
rubysitedir => /opt/puppet/lib/ruby/site_ruby/1.8
rubyversion => 1.8.7
serialnumber => VMware-56 4d 35 7f 95 fe 11 b6-50 e7 f5 21 f2 f6 84 c2
sshdsakey => AAAAB3NzaC1kc3MAAACBALbdKv2DtOqX0+q5HrrZPzL9ecvFg33gkca4lFbCj932QbbBP+QUWqrZhg/DCY5k50mN9s4Q/THKY0FmMoust+msFoJfs90htWK9PKVTByUwr05vSsazuNYYbB6Wbx/dmmskS5DbIYg+4IXrbuPM+m7zQhOSsHRcThsNq4w2ThA1AAAAFQD/mgvjTek+K+tqX6T4jusJqYPxqwAAAIAnHtofobykikfFlHah7QzjwKz8qSWCYl5Vim7/ZBxvzp3+aAsLSSONRsGh64hMx2sLyx+/infk+rSMw6r8WrvmSjnnRDGzDi2m7kHzTd5w+bnaIMbZd3EGg/CJlYeKHY7B5CbAhw19vbQU9zrk5Oc4sIOyjyjJQeIDV8KPQH1Z8gAAAIEApY+PYUZLVJUrixs8Y3h7l4Fawr9cZc95qgKWnrjcPta6qUljUr6lyBhxwj+Be6pWWDsGqKAht02dz6Jc9J3qiB108f0GrkKRXWT9AnWPL654PuhKmwqJQKFsD1GKc2GbDmF8vu/G7M1+/XKRLml1pSBXslN2WPOBTaRGNUbK+hM=
sshrsakey => AAAAB3NzaC1yc2EAAAABIwAAAIEA3Xr4L9/mkxUzOjDUJ8s3rA/Xu2UHAfQV26tjyxZn2BbyPhyFndiMRexKVZc0PhG9lziTvmIp/ij08ML57It8rq3n9B9xlGt5n2vnCSJfzffXQkRrRnGXif8OudPaWxQT8CX9PnUxahcAiG64YBoTR+6PFriM6NqaK8uyb5yo1H0=
timezone => BST
type => 0x1 (other)
uniqueid => 183fbf6c
uptime => 0:41 hours
uptime_days => 0
uptime_hours => 0
uptime_seconds => 2482
virtual => vmware
-bash-3.00$ puppet resource zfs
Could not run: Provider solaris has not defined the 'instances' class method
-bash-3.00$ puppet resource zone
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/type/zone.rb:397:in `validate': private method `split' called for nil:NilClass (NoMethodError)
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:1738:in `initialize'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:875:in `new'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:875:in `instances'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:865:in `collect'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:865:in `instances'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:864:in `collect'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:864:in `instances'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/indirector/resource/ral.rb:14:in `search'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:238:in `search'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/indirector.rb:58:in `search'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application/resource.rb:84:in `main'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:295:in `run_command'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:287:in `run'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:393:in `exit_on_fail'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:287:in `run'
from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:55:in `execute'
from /opt/puppet/bin/puppet:4

Related issues

Related to Puppet - Bug #7175: Zone provider unable to create new zones since 0.24.8 Closed 04/20/2011
Related to Puppet - Feature #3399: zone type should handle exclusive IP stacks Closed 03/22/2010

History

#1 Updated by Ben Hughes almost 3 years ago

  • Status changed from Unreviewed to Accepted

#2 Updated by Ben Hughes almost 2 years ago

  • Category set to Solaris
  • Status changed from Accepted to Unreviewed

This is still true on 2.7.12:

root@netra:~# /opt/puppet/bin/puppet --version    
2.7.12
root@netra:~# zoneadm list -v                                 
  ID NAME             STATUS     PATH                           BRAND    IP    
   0 global           running    /                              native   shared
   2 slave10          running    /zones/slave10                 native   shared
   4 blackrock        running    /zones/blackrock               native   shared

gives us

root@netra:~# /opt/puppet/bin/puppet resource zone           
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/type/zone.rb:445:in `validate': private method `split' called for nil:NilClass (NoMethodError)
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:1799:in `initialize'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:899:in `new'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:899:in `instances'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:889:in `collect'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:889:in `instances'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:882:in `collect'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/type.rb:882:in `instances'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/indirector/resource/ral.rb:14:in `search'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:256:in `search'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application/resource.rb:234:in `find_or_save_resources'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application/resource.rb:144:in `main'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:317:in `run_command'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in `run'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:416:in `hook'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in `run'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:407:in `exit_on_fail'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in `run'
        from /opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:69:in `execute'
        from /opt/puppet/bin/puppet:4

#3 Updated by Daniel Pittman almost 2 years ago

  • Status changed from Unreviewed to Accepted

#5 Updated by Ben Hughes almost 2 years ago

Removing that entire validate block causes ralsh to work:

[root@mundilfari:~]# puppet resource zone                  
zone { 'global':
  ensure => 'running',
}
zone { 'smelly':
  ensure   => 'running',
  autoboot => 'true',
  ip       => ['vlan10:10.0.10.11'],
  iptype   => 'shared',
}

There’s your number of years in the making regression!

#6 Updated by Rahul Gopinath over 1 year ago

Few others with the same problem.

| puppet resource augeas
Could not run: Provider augeas has not defined the 'instances' class method

| puppet resource zpool
Could not run: Provider zpool has not defined the 'instances' class method

#7 Updated by Rahul Gopinath over 1 year ago

  • Assignee set to Rahul Gopinath
  • Target version set to 3.x
  • Branch set to resource

The Provider xxx has not defined the ‘instances’ class method should be another bug.

Here is the pull request for split on nil.

https://github.com/puppetlabs/puppet/pull/957

#8 Updated by Rahul Gopinath over 1 year ago

  • Status changed from Accepted to In Topic Branch Pending Review

#9 Updated by Rahul Gopinath over 1 year ago

  • Branch changed from resource to https://github.com/puppetlabs/puppet/pull/957

#10 Updated by Rahul Gopinath over 1 year ago

  • Affected Puppet version set to 2.6.0
  • Branch changed from https://github.com/puppetlabs/puppet/pull/957 to ticket/3.x/8200_validate_param

#11 Updated by Josh Cooper over 1 year ago

  • Branch changed from ticket/3.x/8200_validate_param to https://github.com/puppetlabs/puppet/pull/1009

#12 Updated by Josh Cooper over 1 year ago

  • Status changed from In Topic Branch Pending Review to Accepted

This was merged into 3.x in commit:af762d8 But there may be some additional changes required.

#13 Updated by Rahul Gopinath over 1 year ago

  • Status changed from Accepted to In Topic Branch Pending Review
  • Branch changed from https://github.com/puppetlabs/puppet/pull/1009 to https://github.com/puppetlabs/puppet/pull/1037

#14 Updated by Josh Cooper over 1 year ago

  • Status changed from In Topic Branch Pending Review to Merged - Pending Release
  • Target version changed from 3.x to 3.0.0

#15 Updated by Matthaus Owens over 1 year ago

  • Status changed from Merged - Pending Release to Closed

Released in Puppet 3.0.0-rc4

Also available in: Atom PDF