Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1488471

Summary: OSP11 -> OSP12 upgrade: undercloud upgrade fails with: __init__() got an unexpected keyword argument 'url'
Product: Red Hat OpenStack Reporter: Marius Cornea <mcornea>
Component: python-tripleoclientAssignee: RHOS Maint <rhos-maint>
Status: CLOSED ERRATA QA Contact: Marius Cornea <mcornea>
Severity: urgent Docs Contact:
Priority: high    
Version: 11.0 (Ocata)CC: ccamacho, dbecker, hbrock, jfrancoa, jslagle, mandreou, mbracho, mbultel, mburns, morazi, ohochman, rhel-osp-director-maint, sclewis, tvignaud
Target Milestone: rcKeywords: Triaged
Target Release: 12.0 (Pike)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-tripleoclient-7.3.4-0.20171108081803.ca08346.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-13 22:02:49 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 2017-09-05 13:14:14 UTC
Description of problem:
OSP11 -> OSP12 upgrade: undercloud upgrade fails with: __init__() got an unexpected keyword argument 'url'

Version-Release number of selected component (if applicable):
instack-6.0.0-1.el7ost.noarch
instack-undercloud-6.1.0-3.el7ost.noarch


How reproducible:
100%

Steps to Reproduce:
1. Deploy OSP11
2. Upgrade undercloud to OSP12
sudo yum install -y ceph-ansible

sudo yum update -y python-tripleoclient
openstack undercloud upgrade


Actual results:
__init__() got an unexpected keyword argument 'url'


Expected results:
Undercloud upgrade completes.

Additional info:

Comment 1 Marius Cornea 2017-09-05 13:15:45 UTC
Workarounds:
before undercloud upgrade:
sudo yum update -y python-tripleoclient python-openstackclient

Comment 2 Jose Luis Franco 2017-09-15 11:15:10 UTC
Issue reproduced, more information obtained from the verbose logs:

auth_config_hook(): {'auth_type': 'password', 'beta_command': False, 'tripleoclient_api_version': '1', u'compute_api_version': u'2', 'key': None, u'database_api_version': '1', 'metrics_api_version': '1', 'data_processing_api_version': '1.1', 'inspector_api_version': '1', 'policy_api_version': '1', u'network_api_version': u'2', u'message': u'', u'image_format': u'qcow2', 'networks': [], u'image_api_version': u'2', 'verify': True, u'status': u'active', u'dns_api_version': '2', u'object_store_api_version': u'1', 'username': 'admin', u'container_infra_api_version': '1', 'verbose_level': 4, 'region_name': '', 'api_timeout': None, u'baremetal_api_version': '1.29', 'queues_api_version': '2', 'auth': {'url': 'x', 'token': '***', 'project_name': 'admin'}, 'default_domain': 'default', u'image_api_use_tasks': False, u'floating_ip_source': u'neutron', u'orchestration_api_version': '1', 'timing': False, 'password': '***', u'application_catalog_api_version': '1', 'murano_packages_service': 'murano', 'cacert': None, u'key_manager_api_version': '1', u'metering_api_version': u'2', 'deferred_help': False, u'identity_api_version': u'2.0', u'workflow_api_version': '2', u'volume_api_version': u'2', 'cert': None, u'secgroup_source': u'neutron', 'translator_api_version': '1', 'alarming_api_version': '2', u'container_api_version': u'1', 'auth_url': 'https://192.168.24.2:13000/v2.0', u'interface': None, u'disable_vendor_agent': {}}
__init__() got an unexpected keyword argument 'url'
clean_up UpgradeUndercloud: __init__() got an unexpected keyword argument 'url'
END return value: 1


This dictionary seems to be the one causing the error:
'auth': {'url': 'x', 'token': '***', 'project_name': 'admin'} 

The workaround mentioned in comment 1 solves the issue because in pike the code which sets the auth variable has been changed:
https://github.com/openstack/python-openstackclient/commit/1c3cb0a3b54cdb6cd5b27e88372b65cfac844422#diff-172c2898e78a23662134d5b594d15af5

Comment 3 Jose Luis Franco 2017-09-15 11:38:52 UTC
I verified in my local environment that cherry picking https://review.openstack.org/#/c/450453/2 to (ocata) python-openstackclient solves the issue. 

"openstack undercloud" command is not the only command affected by this bug, all commands with auth_required = False (like openstack overcloud, openstack --help, complete, command list, module list)

Comment 4 Marios Andreou 2017-11-07 07:27:52 UTC
is there anything further here? Looks like both patches are merged so moving this POST

Comment 5 Jose Luis Franco 2017-11-07 08:14:40 UTC
There is nothing left Marios, last time I reproduced it it was working perfectly and the 'openstack undercloud upgrade' was not returning any error. 
Thanks for moving it forward.

Comment 10 errata-xmlrpc 2017-12-13 22:02:49 UTC
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/RHEA-2017:3462