Bug 1602066
Summary: | ironic node-list fails with __init__() got an unexpected keyword argument 'cafile' | ||
---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Marius Cornea <mcornea> |
Component: | python-ironicclient | Assignee: | Steve Baker <sbaker> |
Status: | CLOSED ERRATA | QA Contact: | mlammon |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | 14.0 (Rocky) | CC: | amcleod, apevec, bfournie, emacchi, gcharot, lhh, mburns, mcornea, sasha, sbaker |
Target Milestone: | z2 | Keywords: | Reopened, Triaged, ZStream |
Target Release: | 15.0 (Stein) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | python-ironicclient-2.7.3-0.20200116080442.0bd26cc.el8ost | Doc Type: | Bug Fix |
Doc Text: |
Previously, unsupported cert arguments (cafile, certfile, keyfile) were used to create the CLI session for deprecated ironic commands and the commands failed.
With this update, the correct arguments are used and all deprecated ironic commands function correctly.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2020-03-05 11:54:15 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Marius Cornea
2018-07-17 18:00:45 UTC
Marius - is there a stack trace in /var/log/ironic/ and, if so, can you include it? I couldn't find anything in the logs related to this, from what I can tell it's strictly client side: (undercloud) [stack@undercloud-0 ~]$ ironic --debug node-list The "ironic" CLI is deprecated and will be removed in the S* release. Please use the "openstack baremetal" CLI instead. DEBUG (extension:189) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token') DEBUG (extension:189) found extension EntryPoint.parse('none = keystoneauth1.loading._plugins.noauth:NoAuth') DEBUG (extension:189) found extension EntryPoint.parse('v3oauth1 = keystoneauth1.extras.oauth1._loading:V3OAuth1') DEBUG (extension:189) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken') DEBUG (extension:189) found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode') DEBUG (extension:189) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password') DEBUG (extension:189) found extension EntryPoint.parse('v3samlpassword = keystoneauth1.extras._saml2._loading:Saml2Password') DEBUG (extension:189) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password') DEBUG (extension:189) found extension EntryPoint.parse('v3adfspassword = keystoneauth1.extras._saml2._loading:ADFSPassword') DEBUG (extension:189) found extension EntryPoint.parse('v3oidcaccesstoken = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAccessToken') DEBUG (extension:189) found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword') DEBUG (extension:189) found extension EntryPoint.parse('v3kerberos = keystoneauth1.extras.kerberos._loading:Kerberos') DEBUG (extension:189) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token') DEBUG (extension:189) found extension EntryPoint.parse('v3oidcclientcredentials = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectClientCredentials') DEBUG (extension:189) found extension EntryPoint.parse('v3tokenlessauth = keystoneauth1.loading._plugins.identity.v3:TokenlessAuth') DEBUG (extension:189) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token') DEBUG (extension:189) found extension EntryPoint.parse('v3totp = keystoneauth1.loading._plugins.identity.v3:TOTP') DEBUG (extension:189) found extension EntryPoint.parse('v3applicationcredential = keystoneauth1.loading._plugins.identity.v3:ApplicationCredential') DEBUG (extension:189) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password') DEBUG (extension:189) found extension EntryPoint.parse('v3fedkerb = keystoneauth1.extras.kerberos._loading:MappedKerberos') DEBUG (extension:189) found extension EntryPoint.parse('v1password = swiftclient.authv1:PasswordLoader') DEBUG (extension:189) found extension EntryPoint.parse('noauth = cinderclient.contrib.noauth:CinderNoAuthLoader') DEBUG (extension:189) found extension EntryPoint.parse('token_endpoint = openstackclient.api.auth_plugin:TokenEndpoint') DEBUG (extension:189) found extension EntryPoint.parse('aodh-noauth = aodhclient.noauth:AodhNoAuthLoader') __init__() got an unexpected keyword argument 'cafile' Hi! I don't have your version, but I tried both python2-ironicclient-2.3.0-0.20180315153520.964556b and python2-ironicclient-2.5.0-0.20180806095605.fb94fb8 from RDO and I could not see this problem. Given the debug log, I suspect there may be an issue with another client. This is how extensions log looks for me: DEBUG (extension:189) found extension EntryPoint.parse('noauth = cinderclient.contrib.noauth:CinderNoAuthLoader') DEBUG (extension:189) found extension EntryPoint.parse('aodh-noauth = aodhclient.noauth:AodhNoAuthLoader') DEBUG (extension:189) found extension EntryPoint.parse('gnocchi-basic = gnocchiclient.auth:GnocchiBasicLoader') DEBUG (extension:189) found extension EntryPoint.parse('gnocchi-noauth = gnocchiclient.auth:GnocchiNoAuthLoader') DEBUG (session:448) REQ: curl -g -i -X GET http://192.168.24.1:5000/ -H "Accept: application/json" -H "User-Agent: ironic keystoneauth1/3.7.0 python-requests/2.14.2 CPython/2.7.5" Is it possible something is wrong with aodhclient or gnocchiclient? Does uninstalling or upgrading either of them help? (In reply to Dmitry Tantsur from comment #3) > Hi! > > I don't have your version, but I tried both > python2-ironicclient-2.3.0-0.20180315153520.964556b and > python2-ironicclient-2.5.0-0.20180806095605.fb94fb8 from RDO and I could not > see this problem. > > Given the debug log, I suspect there may be an issue with another client. > This is how extensions log looks for me: > > DEBUG (extension:189) found extension EntryPoint.parse('noauth = > cinderclient.contrib.noauth:CinderNoAuthLoader') > DEBUG (extension:189) found extension EntryPoint.parse('aodh-noauth = > aodhclient.noauth:AodhNoAuthLoader') > DEBUG (extension:189) found extension EntryPoint.parse('gnocchi-basic = > gnocchiclient.auth:GnocchiBasicLoader') > DEBUG (extension:189) found extension EntryPoint.parse('gnocchi-noauth = > gnocchiclient.auth:GnocchiNoAuthLoader') > DEBUG (session:448) REQ: curl -g -i -X GET http://192.168.24.1:5000/ -H > "Accept: application/json" -H "User-Agent: ironic keystoneauth1/3.7.0 > python-requests/2.14.2 CPython/2.7.5" > > Is it possible something is wrong with aodhclient or gnocchiclient? Does > uninstalling or upgrading either of them help? Looks like issue is not present in the latest puddle anymore so I'm closing this issue. I still see this in latest RHOSP 14, (undercloud) [stack@undercloud ~]$ ironic node-list The "ironic" CLI is deprecated and will be removed in the S* release. Please use the "openstack baremetal" CLI instead. __init__() got an unexpected keyword argument 'cafile' (undercloud) [stack@undercloud ~]$ rpm -qa | grep -i ronic python2-ironic-inspector-client-3.3.0-0.20180810080932.53bf4e8.el7ost.noarch puppet-ironic-13.3.1-0.20181013115250.el7ost.noarch python2-ironicclient-2.5.0-0.20180810135843.fb94fb8.el7ost.noarch (undercloud) [stack@undercloud ~]$ (undercloud) [stack@undercloud ~]$ ironic --debug node-list The "ironic" CLI is deprecated and will be removed in the S* release. Please use the "openstack baremetal" CLI instead. DEBUG (extension:189) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token') DEBUG (extension:189) found extension EntryPoint.parse('none = keystoneauth1.loading._plugins.noauth:NoAuth') DEBUG (extension:189) found extension EntryPoint.parse('v3oauth1 = keystoneauth1.extras.oauth1._loading:V3OAuth1') DEBUG (extension:189) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken') DEBUG (extension:189) found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode') DEBUG (extension:189) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password') DEBUG (extension:189) found extension EntryPoint.parse('v3samlpassword = keystoneauth1.extras._saml2._loading:Saml2Password') DEBUG (extension:189) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password') DEBUG (extension:189) found extension EntryPoint.parse('v3adfspassword = keystoneauth1.extras._saml2._loading:ADFSPassword') DEBUG (extension:189) found extension EntryPoint.parse('v3oidcaccesstoken = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAccessToken') DEBUG (extension:189) found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword') DEBUG (extension:189) found extension EntryPoint.parse('v3kerberos = keystoneauth1.extras.kerberos._loading:Kerberos') DEBUG (extension:189) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token') DEBUG (extension:189) found extension EntryPoint.parse('v3oidcclientcredentials = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectClientCredentials') DEBUG (extension:189) found extension EntryPoint.parse('v3tokenlessauth = keystoneauth1.loading._plugins.identity.v3:TokenlessAuth') DEBUG (extension:189) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token') DEBUG (extension:189) found extension EntryPoint.parse('v3totp = keystoneauth1.loading._plugins.identity.v3:TOTP') DEBUG (extension:189) found extension EntryPoint.parse('v3applicationcredential = keystoneauth1.loading._plugins.identity.v3:ApplicationCredential') DEBUG (extension:189) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password') DEBUG (extension:189) found extension EntryPoint.parse('v3fedkerb = keystoneauth1.extras.kerberos._loading:MappedKerberos') DEBUG (extension:189) found extension EntryPoint.parse('v1password = swiftclient.authv1:PasswordLoader') DEBUG (extension:189) found extension EntryPoint.parse('noauth = cinderclient.contrib.noauth:CinderNoAuthLoader') DEBUG (extension:189) found extension EntryPoint.parse('token_endpoint = openstackclient.api.auth_plugin:TokenEndpoint') DEBUG (extension:189) found extension EntryPoint.parse('aodh-noauth = aodhclient.noauth:AodhNoAuthLoader') DEBUG (extension:189) found extension EntryPoint.parse('gnocchi-basic = gnocchiclient.auth:GnocchiBasicLoader') DEBUG (extension:189) found extension EntryPoint.parse('gnocchi-noauth = gnocchiclient.auth:GnocchiNoAuthLoader') __init__() got an unexpected keyword argument 'cafile' *** Bug 1653349 has been marked as a duplicate of this bug. *** I think we've seen upstream reports as well, so this may be a valid bug. But given that the `ironic` CLI is deprecated, I'm lowering the priority. *** Bug 1667541 has been marked as a duplicate of this bug. *** I can reproduce this on a pip installed python-ironicclient-2.4.0, investigating now I've proposed a fix in stable/rocky and stable/stein upstream This fix can be pulled into rhos/rhos-15.0-patches but there doesn't seem to be a rhos/rhos-14.0-patches branch, which is needed to fix the version this bz is filed against. Retargeting this to OSP-15 as OSP-14 EOL is in Jan. 2020 and this is low priority. Works now... (undercloud) [stack@undercloud-0 ~]$ ironic node-list The "ironic" CLI is deprecated and will be removed in the S* release. Please use the "openstack baremetal" CLI instead. /usr/lib/python3.6/site-packages/urllib3/connection.py:362: SubjectAltNameWarning: Certificate for 192.168.24.2 has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.) SubjectAltNameWarning /usr/lib/python3.6/site-packages/urllib3/connection.py:362: SubjectAltNameWarning: Certificate for 192.168.24.2 has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.) SubjectAltNameWarning +--------------------------------------+--------------+---------------+-------------+--------------------+-------------+ | UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance | +--------------------------------------+--------------+---------------+-------------+--------------------+-------------+ | 47277b39-a07c-4fc5-8884-c37090653a33 | ceph-0 | None | power on | available | False | | 63a2e165-ce45-449c-bc46-b2fd25fabe4a | ceph-1 | None | power on | available | False | | 4861a6bb-2c79-408e-aa7e-be5fd0499e7a | ceph-2 | None | power on | available | False | | 67748543-2f8c-458d-aa1e-54453cd125b4 | compute-0 | None | power on | available | False | | b492f55c-90c1-476c-a7e2-71a63e5cf472 | compute-1 | None | power on | available | False | | 66de0c14-7722-45f5-a706-b1946d807f91 | controller-0 | None | power on | available | False | | 039e55d6-175b-4940-9682-990b4867c948 | controller-1 | None | power on | available | False | | fb273682-00ca-49b2-8682-d8149378009b | controller-2 | None | power on | available | False | +--------------------------------------+--------------+---------------+-------------+--------------------+-------------+ (undercloud) [stack@undercloud-0 ~]$ ()[ironic@undercloud-0 /]$ rpm -qa | grep ironic python3-ironic-lib-2.16.3-0.20190607070401.eca4ac9.el8ost.noarch python3-ironicclient-2.7.3-0.20200116080442.0bd26cc.el8ost.noarch puppet-ironic-14.4.1-0.20191008010416.987a46a.el8ost.noarch python3-ironic-inspector-client-3.5.0-0.20190313131319.9bb1150.el8ost.noarch openstack-ironic-common-12.1.4-0.20200103210507.fcd4da0.el8ost.noarch openstack-ironic-staging-drivers-0.11.1-0.20191023080430.ab5bb1d.el8ost.noarch openstack-ironic-conductor-12.1.4-0.20200103210507.fcd4da0.el8ost.noarch Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:0715 |