对于工头和傀儡来说,我是新手。 我不知道我改变了什么,但现在我的供应模板没有运行。
Ubuntu安装失败,退出代码为8,屏幕如下:

我发现这个URL是在Preseed默认模板中定义的:
<%# kind: provision name: Preseed default oses: - Debian 6.0 - Debian 7.0 - Ubuntu 10.04 - Ubuntu 12.04 - Ubuntu 13.04 - Ubuntu 14.04 %> <% # safemode renderer does not support unary negation pm_set = @host.puppetmaster.empty? ? false : true puppet_enabled = pm_set || @host.params['force-puppet'] %> # Locale, country and keyboard settings di debian-installer/locale string en_US di console-setup/ask_detect boolean false di console-setup/modelcode string pc105 di console-setup/variant USA di console-setup/layout USA di console-setup/layoutcode string us <% if @host.operatingsystem.name == 'Debian' && @host.operatingsystem.major.to_i >= 7 -%> di keymap select us <% end -%> <% if @static -%> # Static network configuration. di netcfg/disable_dhcp boolean true di netcfg/get_ipaddress string <%= @host.ip %> di netcfg/get_netmask string <%= @host.subnet.mask %> di netcfg/get_nameservers string <%= [@host.subnet.dns_primary,@host.subnet.dns_secondary].reject{|n| n.blank?}.join(' ') %> di netcfg/get_gateway string <%= @host.subnet.gateway %> di netcfg/confirm_static boolean true <% end -%> # Network configuration di netcfg/choose_interface select auto di netcfg/get_hostname string <%= @host %> di netcfg/get_domain string <%= @host.domain %> di netcfg/wireless_wep string di hw-detect/load_firmware boolean true # Mirror settings di mirror/country string manual di mirror/http/hostname string <%= @preseed_server %> di mirror/http/directory string <%= @preseed_path %> di mirror/http/proxy string di mirror/codename string <%= @host.operatingsystem.release_name %> di mirror/suite string <%= @host.operatingsystem.release_name %> di mirror/udeb/suite string <%= @host.operatingsystem.release_name %> # Time settings di clock-setup/utc boolean true di time/zone string <%= @host.params['time-zone'] || 'UTC' %> # NTP di clock-setup/ntp boolean true di clock-setup/ntp-server string <%= @host.params['ntp-server'] || '0.debian.pool.ntp.org' %> # Set alignment for automatic partitioning # Choices: cylinder, minimal, optimal #di partman/alignment select cylinder <%= @host.diskLayout %> # Install different kernel #di base-installer/kernel/image string linux-server # User settings di passwd/root-password-crypted password <%= root_pass %> user-setup-udeb passwd/root-login boolean true di passwd passwd/make-user boolean false user-setup-udeb passwd/make-user boolean false <% if puppet_enabled && @host.params['enable-puppetlabs-repo'] && @host.params['enable-puppetlabs-repo'] == 'true' -%> # Puppetlabs products di apt-setup/local0/repository string \ http://apt.puppetlabs.com <%= @host.operatingsystem.release_name %> main di apt-setup/local0/comment string Puppetlabs products di apt-setup/local0/source boolean true di apt-setup/local0/key string http://apt.puppetlabs.com/pubkey.gpg # Puppetlabs dependencies di apt-setup/local1/repository string \ http://apt.puppetlabs.com <%= @host.operatingsystem.release_name %> dependencies di apt-setup/local1/comment string Puppetlabs dependencies di apt-setup/local1/source boolean true di apt-setup/local1/key string http://apt.puppetlabs.com/pubkey.gpg <% end -%> # Install minimal task set (see tasksel --task-packages minimal) tasksel tasksel/first multiselect minimal <% if puppet_enabled %> <% if @host.operatingsystem.name == 'Ubuntu' and @host.operatingsystem.major.to_i == 10 -%> <% puppet_package = 'puppet/lucid-backports' -%> di apt-setup/backports boolean true <% else -%> <% puppet_package = 'puppet' -%> <% end -%> <% else -%> <% puppet_package = '' -%> <% end -%> # Install some base packages di pkgsel/include string <%= puppet_package %> lsb-release openssh-server di pkgsel/update-policy select unattended-upgrades popularity-contest popularity-contest/participate boolean false # Boot loader settings #grub-pc grub-pc/hidden_timeout boolean false #grub-pc grub-pc/timeout string 10 di grub-installer/only_debian boolean true di grub-installer/with_other_os boolean true di finish-install/reboot_in_progress note di preseed/late_command string wget <%= foreman_url('finish') %> -O /target/tmp/finish.sh && in-target chmod +x /tmp/finish.sh && in-target /tmp/finish.sh
我看了/var/log/foreman/production.log ,看到get请求和它的日志是:
Started GET "/unattended/finish?token=2df48ae2-c67b-4e40-883a-91c397bb8bed" for 192.168.20.127 at 2014-09-10 18:19:27 -0700 Processing by UnattendedController#finish as */* Parameters: {"token"=>"2df48ae2-c67b-4e40-883a-91c397bb8bed"} Found mon01.prod.devita.co Rendered inline template (20.3ms) Completed 200 OK in 51.8ms (Views: 20.2ms | ActiveRecord: 22.7ms) Started GET "/node/mon01.prod.devita.co?format=yml" for 127.0.0.1 at 2014-09-10 18:19:30 -0700 Processing by HostsController#externalNodes as YML Parameters: {"name"=>"mon01.prod.devita.co"} Rendered text template (0.0ms) Completed 200 OK in 52.4ms (Views: 0.6ms | ActiveRecord: 8.2ms) Started POST "/api/hosts/facts" for 127.0.0.1 at 2014-09-10 18:19:31 -0700 Processing by Api::V2::HostsController#facts as JSON Parameters: {"facts"=>"[FILTERED]", "name"=>"mon01.devita.co", "certname"=>"mon01.prod.devita.co", "apiv"=>"v2", "host"=>{"facts"=>"[FILTERED]", "name"=>"mon01.devita.co", "certname"=>"mon01.prod.devita.co"}} Import facts for 'mon01.devita.co' completed. Added: 87, Updated: 0, Deleted 0 facts Completed 201 Created in 1087.2ms (Views: 40.6ms | ActiveRecord: 0.0ms) Started GET "/node/mon01.prod.devita.co?format=yml" for 127.0.0.1 at 2014-09-10 18:19:32 -0700 Processing by HostsController#externalNodes as YML Parameters: {"name"=>"mon01.prod.devita.co"} Rendered text template (0.0ms) Completed 200 OK in 30.5ms (Views: 0.6ms | ActiveRecord: 5.2ms) Started POST "/api/reports" for 127.0.0.1 at 2014-09-10 18:19:33 -0700 Processing by Api::V2::ReportsController#create as JSON Parameters: {"report"=>"[FILTERED]", "apiv"=>"v2"} processing report for mon01.prod.devita.co Imported report for mon01.prod.devita.co in 0.05 seconds Completed 201 Created in 60.1ms (Views: 2.6ms | ActiveRecord: 0.0ms) Started GET "/unattended/built?token=2df48ae2-c67b-4e40-883a-91c397bb8bed" for 192.168.20.127 at 2014-09-10 18:19:33 -0700 Processing by UnattendedController#built as */* Parameters: {"token"=>"2df48ae2-c67b-4e40-883a-91c397bb8bed"} Found mon01.prod.devita.co unattended: mon01.prod.devita.co is Built! Completed 409 Conflict in 256.7ms (ActiveRecord: 8.7ms)
如果以前的构build失败,并且您尝试再次构build计算机(即使处于构build模式),通常会发生这种情况。 解决这个问题最简单的方法是在Foreman中删除和重新创build机器。