Hi all.

I am setting up Puppet to create zone on Solaris10.
But Puppet doesn't work well as I want.
So could you tell me How can I set up zone with Puppet?

[Environment]
Puppetmasterd
 -version : 0.25.4
 -OS      : Solaris10 10/09

Puppetd
 -version : same as Puppetmasterd
 -OS      : same as Puppetmasterd

[What I did]
1.Create a manifest file and a sysidcfg template file to create zone.

# Manifest file.
$zone1 = 'aaa13056' # Zone name and real host name.
$zone1_ipaddress='xxx.xxx.xxx.xxx' # IP address for zone.

class zone {
    # Directory for zone filesystem.
    file { '/opt/zone':
        owner  => 'root',
        group  => 'root',
        mode   => 755,
        ensure => 'directory',
    }

    # Create zone.
    zone { "$zone1":
        autoboot      => 'true',
        create_args   => '-b',
        ensure        => 'running',
        inherit       => [
            '/lib',
            '/usr',
            '/sbin',
            '/platform',
        ],
        ip            => "bge0:$zone1_ipaddress",
        path          => "/opt/zone/zone_fs/$zone1",
        realhostname  => "$zone1",
        sysidcfg      => template('root/etc/sysidcfg'),
        require       => File['/opt/zone'],
    }
}

# Sysidcfg template file.
network_interface=primary {hostname=<%= zone1 %>}
system_locale=ja
terminal=xterms
security_policy=NONE
name_service=NONE
timezone=Japan
root_password=QB/pPKDH0/m6.
nfs4_domain=dynamic

2.Apply manifest then encounter an error message.
err: //zone/Zone[aaa13056]/ensure: change from absent to running
failed: comparison of Fixnum with nil failed

# Output of puppetd --debug --trase
debug: Puppet::Type::Zone::ProviderSolaris: Executing '/usr/sbin/
zoneadm -z aaa13056 list -p'
debug: //zone/Zone[aaa13056]: Changing ensure
debug: //zone/Zone[aaa13056]: 1 change(s)
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/type/
zone.rb:186:in `<'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/type/
zone.rb:186:in `up?'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/type/
zone.rb:155:in `sync'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction/change.rb:54:in `go'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction/change.rb:72:in `forward'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:120:in `apply_changes'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:113:in `collect'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:113:in `apply_changes'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:85:in `apply'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:251:in `eval_children_and_apply_resource'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/util.rb:
418:in `thinmark'
/opt/puppet/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/util.rb:
417:in `thinmark'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:250:in `eval_children_and_apply_resource'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:207:in `eval_resource'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:296:in `evaluate'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/util.rb:
418:in `thinmark'
/opt/puppet/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/util.rb:
417:in `thinmark'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:295:in `evaluate'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:289:in `collect'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
transaction.rb:289:in `evaluate'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/resource/
catalog.rb:142:in `apply'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
configurer.rb:169:in `run'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/util.rb:
178:in `benchmark'
/opt/puppet/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/util.rb:
177:in `benchmark'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
configurer.rb:168:in `run'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/agent.rb:
53:in `run'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/agent/
locker.rb:21:in `lock'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/agent.rb:
53:in `run'
/opt/puppet/lib/ruby/1.8/sync.rb:230:in `synchronize'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/agent.rb:
53:in `run'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/agent.rb:
134:in `with_client'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/agent.rb:
51:in `run'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/agent/
runner.rb:58:in `run'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/agent/
runner.rb:58:in `initialize'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/agent/
runner.rb:58:in `new'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/agent/
runner.rb:58:in `run'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
handler/runner.rb:25:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
xmlrpc/processor.rb:52:in `call'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
xmlrpc/processor.rb:52:in `protect_service'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
xmlrpc/processor.rb:85
/opt/puppet/lib/ruby/1.8/xmlrpc/server.rb:338:in `call'
/opt/puppet/lib/ruby/1.8/xmlrpc/server.rb:338:in `dispatch'
/opt/puppet/lib/ruby/1.8/xmlrpc/server.rb:325:in `each'
/opt/puppet/lib/ruby/1.8/xmlrpc/server.rb:325:in `dispatch'
/opt/puppet/lib/ruby/1.8/xmlrpc/server.rb:368:in `call_method'
/opt/puppet/lib/ruby/1.8/xmlrpc/server.rb:380:in `handle'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
xmlrpc/processor.rb:44:in `process'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
xmlrpc/webrick_servlet.rb:68:in `service'
/opt/puppet/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/opt/puppet/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
http/webrick.rb:45
/opt/puppet/lib/ruby/1.8/webrick/server.rb:173:in `call'
/opt/puppet/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/opt/puppet/lib/ruby/1.8/webrick/server.rb:162:in `start'
/opt/puppet/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/opt/puppet/lib/ruby/1.8/webrick/server.rb:95:in `start'
/opt/puppet/lib/ruby/1.8/webrick/server.rb:92:in `each'
/opt/puppet/lib/ruby/1.8/webrick/server.rb:92:in `start'
/opt/puppet/lib/ruby/1.8/webrick/server.rb:23:in `start'
/opt/puppet/lib/ruby/1.8/webrick/server.rb:82:in `start'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
http/webrick.rb:42:in `listen'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
http/webrick.rb:41:in `initialize'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
http/webrick.rb:41:in `new'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
http/webrick.rb:41:in `listen'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
http/webrick.rb:38:in `synchronize'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
http/webrick.rb:38:in `listen'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
server.rb:131:in `listen'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/network/
server.rb:146:in `start'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/daemon.rb:
128:in `start'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
application/puppetd.rb:116:in `main'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
application.rb:226:in `send'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
application.rb:226:in `run_command'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
application.rb:217:in `run'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
application.rb:306:in `exit_on_fail'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/lib/puppet/
application.rb:217:in `run'
/opt/puppet/lib/ruby/gems/1.8/gems/puppet-0.25.4/bin/puppetd:159
/opt/puppet/bin/puppetd:19:in `load'
/opt/puppet/bin/puppetd:19
err: //zone/Zone[aaa13056]/ensure: change from absent to running
failed: comparison of Fixnum with nil failed

Any idea?

Nobuchika Tanaka

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to