canonical-certification-server is not usable, traceback on launch

Bug #1272054 reported by Jeff Lane 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox
Fix Released
Critical
Unassigned

Bug Description

Just installed canonical-certification-server on a 13.10 server VM and tried to run it. I got a welcome screen but then as soon as I hit OK on the welcome screen, plainbox exited and dumped a traceback:

root@certification-suite-test:~# canonical-certification-server
Unable to prepare plugin /usr/share/plainbox-providers-1/certification-server.provider: Problem in provider definition, field 'version': must be set to something
Unable to prepare plugin /usr/share/plainbox-providers-1/checkbox.provider: Problem in provider definition, field 'version': must be set to something
Unable to prepare plugin /usr/share/plainbox-providers-1/plainbox-resources.provider: Problem in provider definition, field 'version': must be set to something
Executable 'checkbox' invoked with Namespace(c3_url='https://certification.canonical.com/submissions/submit/', check_config=False, checkbox=None, command=<checkbox_ng.commands.certification.CertificationCommand object at 0x7fa8c98d0b90>, debug_console=False, debug_interrupt=False, exclude_pattern_list=[], include_pattern_list=[], log_level=None, not_interactive=False, pdb=False, secure_id=None, trace=[], whitelist=None) has crashed
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 301, in dispatch_and_catch_exceptions
    return self.dispatch_command(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 297, in dispatch_command
    return ns.command.invoked(ns)
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/certification.py", line 132, in invoked
    self.settings, ns).run()
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/cli.py", line 197, in __init__
    get_whitelist_by_name(provider_list, whitelists[s]))
IndexError: list index out of range
Traceback (most recent call last):
  File "/usr/bin/canonical-certification-server", line 9, in <module>
    load_entry_point('checkbox-ng==0.1', 'console_scripts', 'canonical-certification-server')()
  File "/usr/lib/python3/dist-packages/checkbox_ng/main.py", line 192, in cert_server
    CertificationNGTool().main(['certification-server'] + args))
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 134, in main
    return self.dispatch_and_catch_exceptions(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 301, in dispatch_and_catch_exceptions
    return self.dispatch_command(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 297, in dispatch_command
    return ns.command.invoked(ns)
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/certification.py", line 132, in invoked
    self.settings, ns).run()
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/cli.py", line 197, in __init__
    get_whitelist_by_name(provider_list, whitelists[s]))
IndexError: list index out of range

This is what I think is installed that's related:

ii canonical-certification-server 0.17.4+bzr2609+201401230950~ubuntu13.10.1 all Canonical Certification Server.
ii plainbox-insecure-policy 0.17.4+bzr2609+201401230950~ubuntu13.10.1 all Insecure PolicyKit action file for PlainBox
ii plainbox-provider-certification-server 0.17.4+bzr2609+201401230950~ubuntu13.10.1 all Server Certification
ii plainbox-provider-checkbox 0.17.4+bzr2609+201401230950~ubuntu13.10.1 amd64 CheckBox jobs
ii plainbox-provider-resource-generic 0.17.4+bzr2609+201401230950~ubuntu13.10.1 all CheckBox generic resource jobs provider
ii python3-plainbox 0.17.4+bzr2609+201401230950~ubuntu13.10.1 all Simple replacement for CheckBox
ii plainbox-provider-checkbox 0.17.4+bzr2609+201401230950~ubuntu13.10.1 amd64 CheckBox jobs
ii python3-checkbox-ng 0.17.4+bzr2609+201401230950~ubuntu13.10.1 all Simple replacement for CheckBox
ii python3-checkbox-support 0.17.4+bzr2609+201401230950~ubuntu13.10.1 all CheckBox support python3 library

Related branches

Revision history for this message
Jeff Lane  (bladernr) wrote :

Zyga asked me to assign to spineau

Changed in checkbox:
assignee: nobody → Sylvain Pineau (sylvain-pineau)
Revision history for this message
Jeff Lane  (bladernr) wrote :

zyga asked:

root@certification-suite-test:~# cat /usr/share/plainbox-providers-1/checkbox.provider
[PlainBox Provider]
name = 2013.com.canonical:checkbox
location = /usr/lib/plainbox-providers-1/checkbox/
description = CheckBox provider

Revision history for this message
Jeff Lane  (bladernr) wrote :

Also, I thought maybe something was hinky with me running it as a Root user (since I'm running this in a digital ocean droplet). I created a non-privileged user and tried again but got the same traceback.

Changed in checkbox:
importance: Undecided → Critical
status: New → In Progress
milestone: none → 2014-jan-31
Revision history for this message
Zygmunt Krynicki (zyga) wrote :

So one thing is obvious. That provider does not ship a version= definition so it get skipped.

Revision history for this message
Zygmunt Krynicki (zyga) wrote :

We should be a bit more resiliant when stuff like this happens (in the code, where we assume whitelist $name exists) but immediate fix is to add

version=1.0

to each of the .provider files that don't have them

Daniel Manrique (roadmr)
Changed in checkbox:
status: In Progress → Fix Committed
Zygmunt Krynicki (zyga)
Changed in checkbox:
status: Fix Committed → Fix Released
Revision history for this message
Jeff Lane  (bladernr) wrote :

Fix is not in this version:

ii canonical-certification-server 0.17.8+bzr2777+201403121047~ubuntu14.04.1 all Canonical Certification Server.

Using this version of canonical-certification-server I get the exact same Index out of Range error as seen before... here is the current traceback:

ubuntu@epye9:~$ canonical-certification-server
Executable 'checkbox' invoked with Namespace(c3_url='https://certification.canonical.com/submissions/submit/', check_config=False, checkbox=None, command=<checkbox_ng.commands.certification.CertificationCommand object at 0x7f48eb4e7650>, debug_console=False, debug_interrupt=False, exclude_pattern_list=[], include_pattern_list=[], log_level=None, not_interactive=False, pdb=False, secure_id=None, trace=[], whitelist=[]) has crashed
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 491, in dispatch_and_catch_exceptions
    return self.dispatch_command(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 487, in dispatch_command
    return ns.command.invoked(ns)
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/certification.py", line 132, in invoked
    self.settings, ns).run()
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/cli.py", line 529, in run
    whitelists[s]))
IndexError: list index out of range
Traceback (most recent call last):
  File "/usr/bin/canonical-certification-server", line 9, in <module>
    load_entry_point('checkbox-ng==0.1', 'console_scripts', 'canonical-certification-server')()
  File "/usr/lib/python3/dist-packages/checkbox_ng/main.py", line 192, in cert_server
    CertificationNGTool().main(['certification-server'] + args))
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 285, in main
    return self.dispatch_and_catch_exceptions(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 491, in dispatch_and_catch_exceptions
    return self.dispatch_command(ns)
  File "/usr/lib/python3/dist-packages/plainbox/impl/clitools.py", line 487, in dispatch_command
    return ns.command.invoked(ns)
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/certification.py", line 132, in invoked
    self.settings, ns).run()
  File "/usr/lib/python3/dist-packages/checkbox_ng/commands/cli.py", line 529, in run
    whitelists[s]))
IndexError: list index out of range

Changed in checkbox:
status: Fix Released → Confirmed
Daniel Manrique (roadmr)
Changed in checkbox:
milestone: 2014-jan-31 → 2014-mar-28
Revision history for this message
Jeff Lane  (bladernr) wrote :

FWIW, the last version I have on my system, 0.17.6 did work fine as of last week when I was in Asia demoing the tool. So the regression occurred some time between that version and the current version 0.17.8

Revision history for this message
Daniel Manrique (roadmr) wrote :

Hi Jeff,

I re-marked this as fix released as the problem you reported has a different cause. I filed that as https://bugs.launchpad.net/checkbox/+bug/1293644, you can subscribe to that one to keep track of the fix.

Cheers!

Changed in checkbox:
status: Confirmed → Fix Released
assignee: Sylvain Pineau (sylvain-pineau) → nobody
Changed in checkbox:
milestone: 2014-mar-28 → none
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.