I only include one role in the other. I don't see how that makes an infinite/dead loop. I don't include each role in each other.
Take the roles out of the run list so they are only recipes. Everything runs ok. Include one role in the other and run _one_ role, I get the hash error.
It seems more like chef cannot handle loading a sub-role.On 25 September 2012 14:29, William Herry < " target="_blank"> > wrote:
seem like a dead loop, role[minidnsmaster] included a role[yum-server] which included role[minidnsmaster] again
On Tue, Sep 25, 2012 at 9:23 PM, Tom < " target="_blank"> > wrote:I'm trying to add an existing role to the run list of another role using chef-solo
Both roles run independently alone, but when I add one role to the run_list of the other I receive a Hash error.
roles:
---
{
"name": "yum-server",
"chef_type": "role",
"default_attributes": {
"apache2": {
"listen_ports": ["80", "443"],
"default_site_enabled": false
}
},
"run_list": [ "recipe[apache2]",
"recipe[apache2::mod_ssl]",
"recipe[apache2::yum-website]",
"role[minidnsmaster]"
]
}
---
{
"name": "minidnsmaster",
"chef_type": "role",
"default_attributes": {
"bind": {
"slaves": [ "10.39.102.20", "10.31.157.234" ]
}
},
"run_list": [ "recipe[build-essential]",
"recipe[sudo::bind]",
"recipe[bind]",
"recipe[bind::master]",
"recipe[yum-server]",
"recipe[yum-server::repos]",
"recipe[yum-server::build_alfresco]",
"recipe[yum-server::build_cloudportal]"
]
}
---
role[yum-server] fails to run as it is calling role[minidnsmaster] with this error:
---
2012-09-25T14:17:22+01:00] INFO: *** Chef 10.14.2 ***
[2012-09-25T14:17:23+01:00] INFO: Setting the run_list to ["recipe[apache2]", "recipe[apache2::mod_ssl]", "recipe[apache2::yum-website]", "role[minidnsmaster]"] from JSON
================================================================================
Error expanding the run_list:
================================================================================
Unexpected Error:
-----------------
NoMethodError: undefined method `run_list_for' for #<Hash:0x0000000287f4e0>
[2012-09-25T14:17:23+01:00] FATAL: Stacktrace dumped to /var/cache/chef-solo/chef-stacktrace.out
[2012-09-25T14:17:23+01:00] FATAL: NoMethodError: undefined method `run_list_for' for #<Hash:0x0000000287f4e0>
I can see somewhere combining the JSON hashes is failing.
Any ideas?
Thanks
Tom
Archive powered by MHonArc 2.6.16.