7017620: SUSE OpenStack Cloud 6.0 NoMethodError: undefined method `[]’ for nil:NilClass after removing a node from cluster.

This document (7017620) is provided subject to the disclaimer at the end of this document.

Environment

SUSE OpenStack Cloud 6

Situation

After removing a node via crowbar from a pacemaker cluster, chef client throws following error :

NoMethodError: undefined method `[]’ for nil:NilClass

/var/chef/cache/cookbooks/utils/libraries/helpers.rb:48:in `get_host_for_public_url’

Resolution

Remove obsolete roles manually executing the following commands on the Cloud 6 admin node :

1. Get full node name for the node removed:

knife node list

2. Get role name for the node from role list:

knife node show <full node name>

3. Obtain the node role from the output, for example

crowbar-<mac address_cloud6_example_com

4. Remove obsolete roles from “run_list”:

knife role edit <role> 

 "chef_type": "role",
 "run_list": [
...
 "role[glance-server]",
...

Which roles need to be removed depend on the cluster type.

For example ‘Pacemaker’ roles would be already removed, but e.g. for controller there could also be e.g. cinder, glance, nova which need to be removed manually.

Cause

Crowbar only removes the pacemaker role while not simultaneously removing all of the other openstack roles.

Disclaimer

This Support Knowledgebase provides a valuable tool for NetIQ/Novell/SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented “AS IS” WITHOUT WARRANTY OF ANY KIND.

Related:

Leave a Reply