Description of problem: Fresh provision of CentOS6.6 host with latest nightly of foreman and staypuft fails to provision nodes with the following error. "There was an error rendering the Kickstart default template: The snippet 'kickstart_networking_setup' threw an error: private method `layout' called for nil:NilClass" Version-Release number of selected component (if applicable): foreman 1.8 dev, staypuft installer 0.5.3 How reproducible: Install latest staypuft installer and foreman on fresh CentOS 6.6 machine and attempt to provision a Centos 7 host. Steps to Reproduce: 1.Install CentOS 6.6 2.Install Staypuft installer and foreman from nightlies 3.correct installation media issue with CentOS 7 4.attempt to provision a new host Actual results:Node fails to provision with error: There was an error rendering the Kickstart default template: The snippet 'kickstart_networking_setup' threw an error: private method `layout' called for nil:NilClass Expected results:Node provisions successfully Additional info:
after some discussions in the staypuft irc channel I updated to the latest version of the ruby gem (0.5.5). This did not resolve the issue.
Here are the exact steps I used on a fresh install of CentOS 6.6 set hostname in /etc/hosts and ensure hostname and hostname -f report the correct hostname yum -y update setup the environment yum -y install http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum -y install http://yum.theforeman.org/nightly/el6/x86_64/foreman-release.rpm yum -y install centos-release-SCL yum -y install foreman-installer-staypuft staypuft-installer
I too face the same problem with provision template. I am using Kickstart RHEL default as provision template and it shows "There was an error rendering the Kickstart RHEL default template: private method `layout' called for nil:NilClass". Build on Host fails with error: "failed to fetch kickstart". Any workaround for this problem?
I ran into this same issue on a nested ESXi test run and I only supplied one NIC to each of the VM's. Once I added a second NIC, the kickstart worked and I was able to install. From discussing with the team on the IRC #staypuft channel on irc.freenode.net; it was pointed out that the installer script expects a minimum of 2 NIC's required for proper deployment.
My setup had 2 interfaces on installer and 3 on controller node. Still I faced this issue. After some debugging, I identified that the problem lies with the provision template. The provision template 'Kicckstart RHEL default' makes use of snippets 'kickstart_networking_setup' which was not existing in /usr/share/foreman/app/views/unattended/snippets. After removing this snippet from template, provisioning worked fine and we have manually setup the networking on hosts. However, the hosts thus provisioned are not visible for deployment. The status of the hosts are shown "OK" and reports are recieved at proper intervals.
I am getting the error in Foreman 1.6 in RHEL 6.6 with the rhel-osp-installer: foreman-1.6.0.44-6.el6ost.noarch rhel-osp-installer-0.4.7-1.el6ost.noarch The error when trying to render the provisioning template is the following: "There was an error rendering the Kickstart RHEL default template: private method `layout' called for nil:NilClass" I haven't found where it fails in the template/snippet but when enabling debugging in foreman I can see this: rendering snippet kickstart_networking_setup Nic::Base Load (0.4ms) SELECT "nics".* FROM "nics" WHERE "nics"."host_id" = 11 AND "nics"."type" = 'Nic::Bond' AND "nics"."managed" = 't' ORDER BY identifier Nic::Base Load (0.3ms) SELECT "nics".* FROM "nics" WHERE "nics"."host_id" = 11 AND "nics"."managed" = 't' AND "nics"."identifier" IN ('eno33557248', 'eno50336512') ORDER BY identifier Nic::Base Load (0.2ms) SELECT "nics".* FROM "nics" WHERE "nics"."host_id" = 11 AND "nics"."type" = 'Nic::Managed' AND "nics"."managed" = 't' ORDER BY identifier Subnet Load (0.2ms) SELECT "subnets".* FROM "subnets" WHERE "subnets"."id" = 6 ORDER BY vlanid LIMIT 1 Staypuft::Deployment Load (0.2ms) SELECT "staypuft_deployments".* FROM "staypuft_deployments" INNER JOIN "staypuft_deployment_role_hostgroups" ON "staypuft_deployments"."id" = "staypuft_deployment_role_hostgroups"."deployment_id" WHERE "staypuft_deployment_role_hostgroups"."hostgroup_id" = 1 LIMIT 1 Rendered inline template (211.5ms) Rendered text template (0.0ms) Completed 500 Internal Server Error in 233ms (Views: 0.4ms | ActiveRecord: 5.4ms) There is a query on the staypuft_deployments table which does't return anything, probably because this node is not part of a staypuft deployment. This is a node discovered being provisioned with the default templates for RHEL 7 and hostgroup base_RedHat_7 directly out of the OSP deployment in Foreman.
Are there any updates on this issue? I am seeing similar behavior as Ramon indicated on 1/25.
We hit this today - RHEL7.1+OSP6+Foreman 1.6rc1 - nodes booting have a nil:Nilclass error on kickstart_networking_setup
We've been hitting this all week. Are there any fixes for this problem RHEL 7.1_OSP6_Forman1.6rc1
Hello Everyone, Can everyone confirm how many nics are present on the host & how many are assigned to any network ? Confirm if bond interface is used configured via staypuft for host. Confirm if anyone is using custom provision template , where template name has a dot ? If you are using built in template using osp installer , can you confirm the template name ? We are working on a workaround . Will update in few days . Regards, Jaison R
Originally our environment looked like this Setup 1 - Not successful. foreman Node - 2nics (1 access nw no vlan) (2 provisioning nw vlan) Controller Node - 2nic (1 external nw) (2 provisioning nw vlan) compute Node - 2nics (1 access nw) (2 provisioning nw vlan) Setup had 2 subnets (external, tenant) vxlan / ovs We tried unsuccessfully to use nic1 as both external network and tenant network. We tried to use foreman to create a vlan on nic1 to separate tenant /external. The vlan configuration option does not appear to work. Since we have a dhcp server on our access mgmt network, we had to make the provisioning network on it's own vlan. Then we changed our configuration to this: Setup 2 - successful. foreman Node - 2nics (1 access) (2 provisioning nw vlan) Controller Node - 3nic (1 external) (2 provisioning nw vlan) (3 tenant nw ) compute Node - 3nics (1 external) (2 provisioning nw vlan) (3 tenant nw) We had to turn off the foreman's DHCP on the subnet and use all static addresses. DHCP other than on the provisioning network does not seem to work. --------- In general we found foreman almost impossible to debug. other than journalctrl and /var/log/foreman-installer with few terse messages there was not real debugging information. We are new to foreman so if we are missing something please point us to the right direction.
Do we have a fix for this issue now ? RHEL 7.1 OSP 6 FOREMAN 1.6.0.49-6 2 NICs on controller and compute nodes each. No bonded interface configured. Using built in template , "Kickstart RHEL default". Regards, Nidhin
For OSP 6, This is very similar to another issue which is fixed with this patch: https://github.com/theforeman/staypuft/commit/e2e348a0eb38b66d1880699e94bd26376bb122f7 Other issues related to OSP5 or centos are unclear, but please refile if they're still relevant.
Verified: Environment: ruby193-rubygem-staypuft-0.5.26-1.el7ost.noarch Node provisions successfully. Note: I also set the MTU to a custom value 1471.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-1662.html