Bug 1379678

Summary: 'ClientManager' object has no attribute '_auth_url'
Product: Red Hat OpenStack Reporter: Udi Kalifon <ukalifon>
Component: rhosp-director-uiAssignee: Jason E. Rist <jrist>
Status: CLOSED WONTFIX QA Contact: Ola Pavlenko <opavlenk>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 9.0 (Mitaka)CC: dtrainor, flfuchs, jpichon, rhel-osp-director-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-12 19:57:29 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:

Description Udi Kalifon 2016-09-27 12:30:24 UTC
Description of problem:
When trying to deploy via the CLI on a system with OSP9+UI, you fail right on the beginning with:

'ClientManager' object has no attribute '_auth_url'

This looks like a result of the mix of packages we have from 10 and from 9. This didn't happen with puddles up until 2016-09-14.1.

We still need the CLI to work. We rely on the CLI to undeploy failed stacks and do troubleshooting.


Version-Release number of selected component (if applicable):
puddle 2016-09-22.1


How reproducible:
100%


Steps to Reproduce:
1. Install OSP9+UI using the playbook
2. Try deploying from the CLI

Comment 2 Julie Pichon 2016-09-27 17:43:00 UTC
When I tried to debug this with Udi this morning, he provided the following traceback with --debug:

    SUCCESS: No warnings or errors in deploy configuration, proceeding.
    Instantiating orchestration client: <class 'heatclient.v1.client.Client'>
    'ClientManager' object has no attribute '_auth_url'
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/cliff/app.py", line 387, in run_subcommand
        result = cmd.run(parsed_args)
      File "/usr/lib/python2.7/site-packages/cliff/command.py", line 59, in run
        return self.take_action(parsed_args) or 0
      File "/usr/lib/python2.7/site-packages/tripleoclient/v1/overcloud_deploy.py", line 941, in take_action
        orchestration_client = clients.tripleoclient.orchestration
      File "/usr/lib/python2.7/site-packages/tripleoclient/plugin.py", line 95, in orchestration
        auth_url=self._instance._auth_url,
    AttributeError: 'ClientManager' object has no attribute '_auth_url'
    clean_up DeployOvercloud: 'ClientManager' object has no attribute '_auth_url'

We noticed he had the following package versions installed:

python-heatclient-1.4.0-0.20160831084943.fb7802e.el7ost.noarch
python-tripleoclient-2.0.0-3.el7ost.noarch
python-openstackclient-3.2.0-0.20160901093321.8241f08.el7ost.noarch
openstack-tripleo-common-2.0.0-8.el7ost.noarch

As far as I can tell from looking inside the RHEL-OSP 9 repository, python-openstackclient is expected to be at version 2.2.0-1. It looks like the (private) _auth_url attribute was changed in 2.6. Because we use the 10 repositories when setting up Mistral, I assume one of its dependencies pulls in the more recent version. I haven't compared with the older puddles to see what/how that may have changed recently.

FWIW:
- The tripleoclient removed the offending code in Newton/5.0.0: https://github.com/openstack/python-tripleoclient/commit/cdcf16
- The heat client itself fixed their version of that code in 1.4.0, https://github.com/openstack/python-heatclient/commit/4d7ab6

Comment 3 Florian Fuchs 2016-09-30 07:20:41 UTC
Fixed in the playbook by pinning the OSP10 repo to the 2016-09-07.6 puddle (which installs python-tripleoclient 2.6.x, not 3.x).

Comment 5 Julie Pichon 2016-10-03 14:10:57 UTC
Pinned puddle was updated in the playbook: https://github.com/rdo-management/tripleo-ui-playbooks/commit/c3539f605c25b2732b1ecf334adc63c1f633d6b0

Comment 6 Jason E. Rist 2016-10-12 19:57:29 UTC
This seems to be directly related to mixing 10 and 9. I'm going close as WONTFIX.