Issue #7175 has been updated by Josh Cooper. Branch changed from https://github.com/puppetlabs/puppet/pull/954 to https://github.com/puppetlabs/puppet/pull/976
---------------------------------------- Bug #7175: Zone provider unable to create new zones since 0.24.8 https://projects.puppetlabs.com/issues/7175#change-68559 Author: Ben Hughes Status: In Topic Branch Pending Review Priority: Normal Assignee: Rahul Gopinath Category: Solaris Target version: 3.x Affected Puppet version: 0.25.0 Keywords: solaris zones Branch: https://github.com/puppetlabs/puppet/pull/976 # Overview # The zone{} provider for Solaris zones is unable to provision new zones since Puppet version 0.24.8. # Expected Behavior # On 0.24.8: <pre> [root@solaris:~]# cat zone.pp 2 zone{ 'testzone': ensure => 'running', create_args => "-b", # not needed, it calls it with -b already autoboot => true, path => '/disky/zones/', ip => 'e1000g0:192.168.1.240:192.168.1.254', } [root@solaris:~]# puppet -dv --trace zone.pp ; puppet --version debug: Creating default schedules debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/zoneadm -z testzone list -p' debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/zonecfg -z testzone info' debug: Zone[testzone](provider=solaris): Ignoring zone output ' allowed-address not specified' debug: Zone[testzone](provider=solaris): Ignoring zone output ' defrouter not specified' debug: //Zone[testzone]: Changing ensure debug: //Zone[testzone]: 1 change(s) debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/zoneadm -z testzone list -p' debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/zonecfg -z testzone info' debug: Zone[testzone](provider=solaris): Ignoring zone output ' allowed-address not specified' debug: Zone[testzone](provider=solaris): Ignoring zone output ' defrouter not specified' debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/zoneadm -z testzone install' debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/zoneadm -z testzone list -p' debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/zonecfg -z testzone info' debug: Zone[testzone](provider=solaris): Ignoring zone output ' allowed-address not specified' debug: Zone[testzone](provider=solaris): Ignoring zone output ' defrouter not specified' debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/zoneadm -z testzone boot' notice: //Zone[testzone]/ensure: ensure changed 'configured' to 'running' debug: Finishing transaction 69073970 with 1 changes 0.24.8 [root@solaris:~]# zoneadm list -v ID NAME STATUS PATH BRAND IP 0 global running / ipkg shared 1 testzone running /disky/zones ipkg shared </pre> # Actual Behavior # On 2.6.7 (and 0.25.4) <pre> [root@solaris:~]# puppet -dv --trace zone.pp ; puppet --version debug: Creating default schedules debug: Failed to load library 'shadow' for feature 'libshadow' debug: Failed to load library 'ldap' for feature 'ldap' debug: Puppet::Type::User::ProviderLdap: feature ldap is missing debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist debug: Puppet::Type::User::ProviderUseradd: file chage does not exist debug: Puppet::Type::User::ProviderPw: file pw does not exist debug: Failed to load library 'selinux' for feature 'selinux' debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing debug: /File[/etc/puppet/ssl]: Autorequiring File[/etc/puppet] debug: /File[/etc/puppet/ssl/certs/solaris.home.gateway.pem]: Autorequiring File[/etc/puppet/ssl/certs] debug: /File[/etc/puppet/ssl/private_keys/solaris.home.gateway.pem]: Autorequiring File[/etc/puppet/ssl/private_keys] debug: /File[/etc/puppet/ssl/public_keys]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/run]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/certificate_requests]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/lib/puppet/state] debug: /File[/etc/puppet/ssl/public_keys/solaris.home.gateway.pem]: Autorequiring File[/etc/puppet/ssl/public_keys] debug: /File[/var/lib/puppet/client_data]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/certs]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/private]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/log]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/crl.pem]: Autorequiring File[/etc/puppet/ssl] debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/ssl/certs/ca.pem]: Autorequiring File[/etc/puppet/ssl/certs] debug: /File[/etc/puppet/ssl/private_keys]: Autorequiring File[/etc/puppet/ssl] debug: Finishing transaction 73584620 debug: Loaded state in 0.00 seconds debug: Loaded state in 0.00 seconds info: Applying configuration version '1303219224' debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/zoneadm -z testzone list -p' debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/zonecfg -z testzone info' debug: Zone[testzone](provider=solaris): Ignoring zone output ' allowed-address not specified' debug: Zone[testzone](provider=solaris): Ignoring zone output ' defrouter not specified' /home/ben/repos//puppet/lib/puppet/type/zone.rb:183:in `<' /home/ben/repos//puppet/lib/puppet/type/zone.rb:183:in `up?' /home/ben/repos//puppet/lib/puppet/type/zone.rb:153:in `sync' /home/ben/repos//puppet/lib/puppet/transaction/resource_harness.rb:114:in `apply_parameter' /home/ben/repos//puppet/lib/puppet/transaction/resource_harness.rb:56:in `perform_changes' /home/ben/repos//puppet/lib/puppet/transaction/resource_harness.rb:133:in `evaluate' /home/ben/repos//puppet/lib/puppet/transaction.rb:48:in `apply' /home/ben/repos//puppet/lib/puppet/transaction.rb:113:in `eval_children_and_apply_resource' /home/ben/repos//puppet/lib/puppet/transaction.rb:91:in `eval_resource' /home/ben/repos//puppet/lib/puppet/transaction.rb:142:in `evaluate' /home/ben/repos//puppet/lib/puppet/util.rb:429:in `thinmark' /opt/csw/lib/ruby/1.8/benchmark.rb:308:in `realtime' /home/ben/repos//puppet/lib/puppet/util.rb:428:in `thinmark' /home/ben/repos//puppet/lib/puppet/transaction.rb:141:in `evaluate' /home/ben/repos//puppet/lib/puppet/transaction.rb:134:in `each' /home/ben/repos//puppet/lib/puppet/transaction.rb:134:in `evaluate' /home/ben/repos//puppet/lib/puppet/resource/catalog.rb:144:in `apply' /home/ben/repos//puppet/lib/puppet/configurer.rb:150:in `run' /home/ben/repos//puppet/lib/puppet/util.rb:193:in `benchmark' /opt/csw/lib/ruby/1.8/benchmark.rb:308:in `realtime' /home/ben/repos//puppet/lib/puppet/util.rb:192:in `benchmark' /home/ben/repos//puppet/lib/puppet/configurer.rb:149:in `run' /home/ben/repos//puppet/lib/puppet/application/apply.rb:126:in `main' /home/ben/repos//puppet/lib/puppet/application/apply.rb:35:in `run_command' /home/ben/repos//puppet/lib/puppet/application.rb:304:in `run' /home/ben/repos//puppet/lib/puppet/application.rb:410:in `exit_on_fail' /home/ben/repos//puppet/lib/puppet/application.rb:304:in `run' /home/ben/repos//puppet/lib/puppet/util/command_line.rb:59:in `execute' /home/ben/repos//puppet/bin/puppet:4 err: /Stage[main]//Zone[testzone]/ensure: change from running to running failed: comparison of Fixnum with nil failed debug: Finishing transaction 73360500 debug: Storing state debug: Stored state in 0.02 seconds notice: Finished catalog run in 0.36 seconds 2.6.7 </pre> Same function on 0.25.0. # Detail # The comparison in the trace points to lib/puppet/type/zone.rb: <pre> # Are we moving up the property tree? def up? current_value = self.retrieve self.class.state_index(current_value) < self.class.state_index(self.should) end </pre> Tested on: <pre> [ben@solaris:~]% uname -a SunOS solaris 5.11 snv_151a i86pc i386 i86pc </pre> # Work Around # None. That's the minimal zone.pp I could muster really so I can't see there being much scope for doing it differently. -- 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.
