'creds' keyerror when deploying openstack/bigdata

Bug #1586131 reported by Adam Stokes
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
conjure-up (Ubuntu)
Fix Released
Critical
Adam Stokes
Xenial
Fix Released
Critical
Adam Stokes

Bug Description

[Impact]
Any user using the latest Juju beta7 which changed the cloud listing from lxd to localhost

[Test]
I did the following:

apt install conjure-up #per instructions
conjure-up bigdata
In the menu

choose Apache Flume/Spark/Zeppelin
choose local host
get:

arosales@x230:~$ conjure-up bigdata
Exception in ev.run():
Traceback (most recent call last):
  File "/usr/share/conjure-up/ubuntui/ev.py", line 83, in run
    cls.loop.run()
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 278, in run
    self._run()
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 376, in _run
    self.event_loop.run()
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 1328, in run
    raise self._exc_info[0](self._exc_info[1]).with_traceback(self._exc_info[2])
  File "/usr/lib/python3.5/asyncio/events.py", line 125, in _run
    self._callback(*self._args)
  File "/usr/lib/python3/dist-packages/urwid/raw_display.py", line 393, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/usr/lib/python3/dist-packages/urwid/raw_display.py", line 493, in parse_input
    callback(processed, processed_codes)
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 403, in _update
    self.process_input(keys)
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 503, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/usr/lib/python3/dist-packages/urwid/wimp.py", line 643, in keypress
    return self._current_widget.keypress(size, key)
  File "/usr/lib/python3/dist-packages/urwid/container.py", line 1128, in keypress
    return self.body.keypress( (maxcol, remaining), key )
  File "/usr/share/conjure-up/conjure/ui/views/cloud.py", line 21, in keypress
    return super().keypress(size, key)
  File "/usr/lib/python3/dist-packages/urwid/decoration.py", line 836, in keypress
    return self._original_widget.keypress((maxcol,), key)
  File "/usr/lib/python3/dist-packages/urwid/container.py", line 1587, in keypress
    key = self.focus.keypress(tsize, key)
  File "/usr/lib/python3/dist-packages/urwid/decoration.py", line 621, in keypress
    return self._original_widget.keypress(maxvals, key)
  File "/usr/lib/python3/dist-packages/urwid/wimp.py", line 535, in keypress
    self._emit('click')
  File "/usr/lib/python3/dist-packages/urwid/widget.py", line 463, in _emit
    signals.emit_signal(self, name, self, *args)
  File "/usr/lib/python3/dist-packages/urwid/signals.py", line 264, in emit
    result |= self._call_callback(callback, user_arg, user_args, args)
  File "/usr/lib/python3/dist-packages/urwid/signals.py", line 294, in _call_callback
    return bool(callback(*args_to_pass))
  File "/usr/share/conjure-up/conjure/ui/views/cloud.py", line 72, in submit
    self.cb(result.label, create_cloud=True)
  File "/usr/share/conjure-up/conjure/controllers/cloud.py", line 39, in finish
    return self.app.controllers['newcloud'].render(cloud)
  File "/usr/share/conjure-up/conjure/controllers/newcloud.py", line 118, in render
    creds,
UnboundLocalError: local variable 'creds' referenced before assignment
Traceback (most recent call last):
  File "/usr/bin/conjure-up", line 9, in <module>
    load_entry_point('conjure-up==0.1.0', 'console_scripts', 'conjure-up')()
  File "/usr/share/conjure-up/conjure/app.py", line 222, in main
    app.start()
  File "/usr/share/conjure-up/conjure/app.py", line 171, in start
    EventLoop.run()
  File "/usr/share/conjure-up/ubuntui/ev.py", line 83, in run
    cls.loop.run()
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 278, in run
    self._run()
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 376, in _run
    self.event_loop.run()
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 1328, in run
    raise self._exc_info[0](self._exc_info[1]).with_traceback(self._exc_info[2])
  File "/usr/lib/python3.5/asyncio/events.py", line 125, in _run
    self._callback(*self._args)
  File "/usr/lib/python3/dist-packages/urwid/raw_display.py", line 393, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/usr/lib/python3/dist-packages/urwid/raw_display.py", line 493, in parse_input
    callback(processed, processed_codes)
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 403, in _update
    self.process_input(keys)
  File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 503, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/usr/lib/python3/dist-packages/urwid/wimp.py", line 643, in keypress
    return self._current_widget.keypress(size, key)
  File "/usr/lib/python3/dist-packages/urwid/container.py", line 1128, in keypress
    return self.body.keypress( (maxcol, remaining), key )
  File "/usr/share/conjure-up/conjure/ui/views/cloud.py", line 21, in keypress
    return super().keypress(size, key)
  File "/usr/lib/python3/dist-packages/urwid/decoration.py", line 836, in keypress
    return self._original_widget.keypress((maxcol,), key)
  File "/usr/lib/python3/dist-packages/urwid/container.py", line 1587, in keypress
    key = self.focus.keypress(tsize, key)
  File "/usr/lib/python3/dist-packages/urwid/decoration.py", line 621, in keypress
    return self._original_widget.keypress(maxvals, key)
  File "/usr/lib/python3/dist-packages/urwid/wimp.py", line 535, in keypress
    self._emit('click')
  File "/usr/lib/python3/dist-packages/urwid/widget.py", line 463, in _emit
    signals.emit_signal(self, name, self, *args)
  File "/usr/lib/python3/dist-packages/urwid/signals.py", line 264, in emit
    result |= self._call_callback(callback, user_arg, user_args, args)
  File "/usr/lib/python3/dist-packages/urwid/signals.py", line 294, in _call_callback
    return bool(callback(*args_to_pass))
  File "/usr/share/conjure-up/conjure/ui/views/cloud.py", line 72, in submit
    self.cb(result.label, create_cloud=True)
  File "/usr/share/conjure-up/conjure/controllers/cloud.py", line 39, in finish
    return self.app.controllers['newcloud'].render(cloud)
  File "/usr/share/conjure-up/conjure/controllers/newcloud.py", line 118, in render
    creds,
UnboundLocalError: local variable 'creds' referenced before assignment
arosales@x230:~$ conjure-up --version
conjure-up 0.1.0
arosales@x230:~$ uname -a
Linux x230 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
arosales@x230:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"
arosales@x230:~$

[Regression Potentional]
This fix supports both pre juju beta7 which used 'lxd' as the cloud type and beta7 upwards which supports 'localhost' as cloud type. Regression should therefore be minimal since it was completely broken with the latest release of juju.

Changed in conjure-up (Ubuntu):
status: New → In Progress
importance: Undecided → Critical
Changed in conjure-up (Ubuntu Xenial):
importance: Undecided → Critical
Changed in conjure-up (Ubuntu):
assignee: nobody → Adam Stokes (adam-stokes)
Changed in conjure-up (Ubuntu Xenial):
assignee: nobody → Adam Stokes (adam-stokes)
Changed in conjure-up (Ubuntu):
status: In Progress → Fix Released
description: updated
Revision history for this message
Tero Saarni (tsaarni) wrote :

Is there workaround for this until the fix ends up in xenial-updates?

Revision history for this message
Stephen Mahood (s-mahood) wrote :

Adding the PPA (https://launchpad.net/~conjure/+archive/ubuntu/ppa) and updating has fixed this issue for me

Revision history for this message
Chris J Arges (arges) wrote : Please test proposed package

Hello Adam, or anyone else affected,

Accepted conjure-up into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/conjure-up/0.1.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in conjure-up (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
BlueT - Matthew Lien - 練喆明 (bluet) wrote :

I have the same issue.

Can confirm that the new version in Proposed repo fixed this.

Chris J Arges (arges)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package conjure-up - 0.1.2

---------------
conjure-up (0.1.2) xenial-proposed; urgency=medium

  * Fix 'creds' KeyError traceback on cloud selection (LP: #1586131)
  * Support Juju beta7

 -- Adam Stokes <email address hidden> Thu, 26 May 2016 14:47:10 -0400

Changed in conjure-up (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Chris J Arges (arges) wrote : Update Released

The verification of the Stable Release Update for conjure-up has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

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.