1

Openstack Ironic test for Bare Metal Cloud,Devstack all in one--Pike. Linux:CentOS7

I installed the latest devstack last week. Link:https://git.openstack.org/openstack-dev/devstack Successful execution of ./stack.sh

But When I login http://MyServer-IP/dashboard/admin/ironic/ and click “Ironic Bare Metal Provisioning” ,I see a error notice as: Unable to retrieve Ironic nodes. _construct_http_client() takes at least 1 argument (4 given)。

It seems to cause the driver not to be displayed on the page。

2019-10-21 02:52:05.638824 ERROR openstack_dashboard.api.rest.utils error invoking apiclient
2019-10-21 02:52:05.638837 Traceback (most recent call last):
2019-10-21 02:52:05.638840   File "/opt/stack/horizon/openstack_dashboard/api/rest/utils.py", line 128, in _wrapped
2019-10-21 02:52:05.638843     data = function(self, request, *args, **kw)
2019-10-21 02:52:05.638844   File "/opt/stack/ironic-ui/ironic_ui/api/ironic_rest_api.py", line 41, in get
2019-10-21 02:52:05.638846     nodes = ironic.node_list(request)
2019-10-21 02:52:05.638848   File "/opt/stack/ironic-ui/ironic_ui/api/ironic.py", line 62, in node_list
2019-10-21 02:52:05.638850     node_manager = ironicclient(request).node
2019-10-21 02:52:05.638852   File "/opt/stack/horizon/horizon/utils/memoized.py", line 119, in wrapped
2019-10-21 02:52:05.638854     value = func(*args, **kwargs)
2019-10-21 02:52:05.638856   File "/opt/stack/ironic-ui/ironic_ui/api/ironic.py", line 51, in ironicclient
2019-10-21 02:52:05.638858     cacert=cacert)
2019-10-21 02:52:05.638860   File "/usr/lib/python2.7/site-packages/ironicclient/client.py", line 111, in Client
2019-10-21 02:52:05.638862     return client_class(*args, **kwargs)
2019-10-21 02:52:05.638864   File "/usr/lib/python2.7/site-packages/ironicclient/v1/client.py", line 86, in __init__
2019-10-21 02:52:05.638866     self.http_client = http._construct_http_client(*args, **kwargs)
2019-10-21 02:52:05.638868 TypeError: _construct_http_client() takes at least 1 argument (4 given)

Has anyone encountered this problem or know how to solve it? Thanks~

N3R4ZZuRR0
  • 2,400
  • 4
  • 18
  • 32
Mark Tsui
  • 11
  • 1

1 Answers1

0

It is a bug in Train Ironic UI code. Check and modify the following lines in file /usr/lib/python2.7/site-packages/ironic_ui/api/ironic.py:

return client.get_client(1,
                     endpoint=ironic_url,
                     os_ironic_api_version=DEFAULT_IRONIC_API_VERSION,
                     project_id=request.user.project_id,
                     token=request.user.token.id,
                     insecure=insecure,
                     cacert=cacert)
Dmitry
  • 1