openstack nova-common does a search on an attribute defined in

the identity recipe.  Only way to run compute and identity on teh same node is to do a save.

NoMethodError
-------------
undefined method `[]' for nil:NilClass

Cookbook Trace:
---------------
  /var/chef/cache/cookbooks/openstack-compute/recipes/nova-common.rb:87:in `from
  /var/chef/cache/cookbooks/ktc-compute/recipes/nova-common.rb:5:in `from_file'
  /var/chef/cache/cookbooks/ktc-compute/recipes/compute-api.rb:69:in `from_file'

Relevant File Content:
----------------------
/var/chef/cache/cookbooks/openstack-compute/recipes/nova-common.rb:

 80:    # if role is on this node,  just return the node hash
 81:    keystone = node
 82:  else
 83:    # otherwise go searching
 84:    keystone = search_for(identity_service_role).first
 85:  end
 86:
 87>> ksadmin_tenant_name = keystone["openstack"]["identity"]["admin_tenant_name
 88:  ksadmin_user = keystone["openstack"]["identity"]["admin_user"]
 89:  ksadmin_pass = user_password ksadmin_user
 90:
 91:  memcache_servers = memcached_servers.join ","
 92:
 93:  # find the node attribute endpoint settings for the server holding a given
 94:  identity_endpoint = endpoint "identity-api"
 95:  xvpvnc_endpoint = endpoint "compute-xvpvnc" || {}
 96:  novnc_endpoint = endpoint "compute-novnc" || {}