Ironic fails to communicate with neutron, glance and inspector

Bug #1701713 reported by Mark Goddard
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kolla-ansible
Fix Released
Undecided
Mark Goddard

Bug Description

As of [1], ironic requires explicit configuration of authentication parameters for communication with neutron, glance, inspector, swift, and service_catalog. Omission of these parameters leads to a failure to communicate with the service.

For example, attempts to communicate with neutron leads to a backtrace such as [2] when validating a node (this is done as part of a number of other operations also), e.g.

openstack baremetal node validate <node>

The [neutron], [glance] and [inspector] sections in ironic.conf need configuration of the following values:

auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = {{ ironic_keystone_user }}
password = {{ ironic_keystone_password }}

Kolla-ansible does not currently configure the [swift] or [service_catalog] sections.

[1] https://github.com/openstack/ironic/commit/4f9035c24f0465be5728ed9a8a6df76cd6f46ed3
[2]
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server [req-57b4e461-81c0-4dd4-95fe-7056f0d597a4 e18a921471834358b79f5ede55fc19e8 bc0b06c066f64d5f8c1f60fe2b4b191e - default default] Exception during message handling: MissingAuthPlugin: An auth plugin is required to fetch a token
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server Traceback (most recent call last):
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 153, in _process_incoming
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 213, in dispatch
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 183, in _do_dispatch
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/ironic_lib/metrics.py", line 61, in wrapped
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server result = f(*args, **kwargs)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 225, in inner
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server return func(*args, **kwargs)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/ironic/conductor/manager.py", line 1941, in update_port
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server task.driver.network.validate(task)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/network/neutron.py", line 60, in validate
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server self.get_cleaning_network_uuid()
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/ironic/common/neutron.py", line 505, in get_cleaning_network_uuid
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server _('cleaning network'))
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/ironic/common/neutron.py", line 373, in validate_network
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server net_type=net_type, fields=['id'])
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/ironic/common/neutron.py", line 417, in _get_network_by_uuid_or_name
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server networks = client.list_networks(**params)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 781, in list_networks
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server **_params)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 367, in list
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server for r in self._pagination(collection, path, **params):
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 382, in _pagination
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server res = self.get(path, params=params)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 352, in get
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server headers=headers, params=params)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 329, in retry_request
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server headers=headers, params=params)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 280, in do_request
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server resp, replybody = self.httpclient.do_request(action, method, body=body)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/neutronclient/client.py", line 347, in do_request
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server return self.request(url, method, **kwargs)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/neutronclient/client.py", line 335, in request
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server resp = super(SessionClient, self).request(*args, **kwargs)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/keystoneauth1/adapter.py", line 159, in request
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server return self.session.request(url, method, **kwargs)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/positional/__init__.py", line 101, in inner
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server return wrapped(*args, **kwargs)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/keystoneauth1/session.py", line 491, in request
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server auth_headers = self.get_auth_headers(auth)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/keystoneauth1/session.py", line 817, in get_auth_headers
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server auth = self._auth_required(auth, 'fetch a token')
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server File "/usr/lib/python2.7/site-packages/keystoneauth1/session.py", line 798, in _auth_required
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server raise exceptions.MissingAuthPlugin(msg_fmt % msg)
2017-06-30 18:42:25.821 7 ERROR oslo_messaging.rpc.server MissingAuthPlugin: An auth plugin is required to fetch a token

Mark Goddard (mgoddard)
summary: - Ironic fails to communicate with neutron
+ Ironic fails to communicate with neutron, glance and inspector
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kolla-ansible (master)

Reviewed: https://review.openstack.org/480154
Committed: https://git.openstack.org/cgit/openstack/kolla-ansible/commit/?id=f0062331f5855cfe0ce7cae11d65b80719fd49df
Submitter: Jenkins
Branch: master

commit f0062331f5855cfe0ce7cae11d65b80719fd49df
Author: Mark Goddard <email address hidden>
Date: Fri Jun 30 19:20:06 2017 +0100

    Fix ironic authentication configuration

    As of [1], the ironic configuration for neutron, glance, swift,
    inspector and service_catalog requires explicit configuration of
    authentication parameters for communication with these services.

    This change adds the required parameters to [neutron], [glance] and
    [inspector] sections of ironic.conf. Kolla-ansible does not configure
    the [swift] or [service_discovery] sections currently.

    We also replace option [glance] glance_hosts with [glance]
    glance_api_servers as the former is deprecated.

    Since we no longer need to support generating configuration for
    kolla-kubernetes[2], some related options have been cleaned.

    [1]
    https://github.com/openstack/ironic/commit/4f9035c24f0465be5728ed9a8a6df76cd6f46ed3
    [2]
    https://blueprints.launchpad.net/kolla-ansible/+spec/clean-k8s-config

    Change-Id: Ifc239af5f3e44a508fedc9dea08cb06160c4f7f3
    Closes-Bug: #1701713

Changed in kolla-ansible:
status: New → Fix Released
Mark Goddard (mgoddard)
Changed in kolla-ansible:
assignee: nobody → Mark Goddard (mgoddard)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/kolla-ansible 5.0.0.0b3

This issue was fixed in the openstack/kolla-ansible 5.0.0.0b3 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.