checkbox-cli remote-control traceback

Bug #1769191 reported by Jeff Lane 
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Next Generation Checkbox (CLI)
Invalid
High
Maciej Kisielewski

Bug Description

Launched checkbox remote-service on a node, then launched checkbox-cli remote-control on my MAAS server.

I then chose the "All Smoke Tests" option from the list of test plans and hit Enter and the tool crashed with this traceback:

                        Application Malfunction Detected

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/guacamole/core.py", line 248, in eat
    return self._dispatch()
  File "/usr/lib/python3/dist-packages/guacamole/core.py", line 298, in _dispatch
    result = ingredient.dispatch(self.context)
  File "/usr/lib/python3/dist-packages/guacamole/ingredients/cmdtree.py", line 152, in dispatch
    return self._dispatch(context, 0)
  File "/usr/lib/python3/dist-packages/guacamole/ingredients/cmdtree.py", line 179, in _dispatch
    return self._dispatch_None(context, level, retval, command)
  File "/usr/lib/python3/dist-packages/guacamole/ingredients/cmdtree.py", line 208, in _dispatch_None
    return self._dispatch(context, level + 1)
  File "/usr/lib/python3/dist-packages/guacamole/ingredients/cmdtree.py", line 165, in _dispatch
    retval = command.invoked(context)
  File "/usr/lib/python3/dist-packages/checkbox_ng/launcher/remote.py", line 150, in invoked
    self.connect_and_run(ctx.args.host, port)
  File "/usr/lib/python3/dist-packages/checkbox_ng/launcher/remote.py", line 180, in connect_and_run
    }[state]()
  File "/usr/lib/python3/dist-packages/checkbox_ng/launcher/remote.py", line 206, in new_session
    self.interactively_choose_tp(tps)
  File "/usr/lib/python3/dist-packages/checkbox_ng/launcher/remote.py", line 213, in interactively_choose_tp
    self.select_tp(tps[selected_index][0])
  File "/usr/lib/python3/dist-packages/checkbox_ng/launcher/remote.py", line 217, in select_tp
    pass_required = self.sa.prepare_bootstrapping(tp)
  File "/usr/lib/python3/dist-packages/plainbox/vendor/rpyc/core/netref.py", line 153, in __getattr__
    return syncreq(self, consts.HANDLE_GETATTR, name)
  File "/usr/lib/python3/dist-packages/plainbox/vendor/rpyc/core/netref.py", line 72, in syncreq
    return conn.sync_request(handler, oid, *args)
  File "/usr/lib/python3/dist-packages/plainbox/vendor/rpyc/core/protocol.py", line 523, in sync_request
    raise obj
_get_exception_class.<locals>.Derived: 'SessionAssistant2' object has no attribute 'prepare_bootstrapping'

========= Remote Traceback (1) =========
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/plainbox/vendor/rpyc/core/protocol.py", line 347, in _dispatch_request
    res = self._HANDLERS[handler](self, *args)
  File "/usr/lib/python3/dist-packages/plainbox/vendor/rpyc/core/protocol.py", line 630, in _handle_getattr
    return self._access_attr(oid, name, (), "_rpyc_getattr", "allow_getattr", getattr)
  File "/usr/lib/python3/dist-packages/plainbox/vendor/rpyc/core/protocol.py", line 596, in _access_attr
    return accessor(obj, name, *args)
AttributeError: 'SessionAssistant2' object has no attribute 'prepare_bootstrapping'

  Please report a bug including the information from the paragraph above. To
  report the bug visit https://bugs.launchpad.net/checkbox-ng/+filebug

  We are sorry for the inconvenience!

There was nothing on the Remote system console related to this.

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

After more digging I realized the Remote wasn't on the same checkbox-ng version the Local was on. Had a PPA issue that needed to be corrected. Once the Remote was successfully updated this issue went away.

That said, tracebacks like this should be handled better and the error output should be more useful.

On the remote I had version 1.0.0 and on the Local I had version 1.1.0, hence the issue. Both are now on 1.1.0 and working fine.

Changed in checkbox-ng:
status: New → In Progress
importance: Undecided → High
assignee: nobody → Maciej Kisielewski (kissiel)
Changed in checkbox-ng:
milestone: none → 1.3.0
Changed in checkbox-ng:
status: In Progress → Invalid
Revision history for this message
Jeff Lane  (bladernr) wrote :

Since you've marked this invalid, just to check on the underlying issue, what happens now if the version of checkbox-ng on the target is different than the local?

Originally that caused the confusing, unhelpful tracebacks I saw, and I can see it being possible that this could happen routinely, especially if, for example, your local system is using checkbox-ng from stable while your test machine is using checkbox-ng from dev.

Revision history for this message
Jeff Lane  (bladernr) wrote : Re: [Bug 1769191] Re: checkbox-cli remote-control traceback
Download full text (4.7 KiB)

Ahhh, nevermind. I just re-checked this. Good job!

bladernr@critical-maas:~$ checkbox-cli master xinyi.maas
Connecting to xinyi.maas:18871. Timeout: 600s
Remote API version mismatch. Slave uses: 2. Master uses: 3
On Thu, Dec 6, 2018 at 7:21 AM Sylvain Pineau
<email address hidden> wrote:
>
> ** Changed in: checkbox-ng
> Status: In Progress => Invalid
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1769191
>
> Title:
> checkbox-cli remote-control traceback
>
> Status in Next Generation Checkbox (CLI):
> Invalid
>
> Bug description:
> Launched checkbox remote-service on a node, then launched checkbox-cli
> remote-control on my MAAS server.
>
> I then chose the "All Smoke Tests" option from the list of test plans
> and hit Enter and the tool crashed with this traceback:
>
>
> Application Malfunction Detected
>
> Traceback (most recent call last):
> File "/usr/lib/python3/dist-packages/guacamole/core.py", line 248, in eat
> return self._dispatch()
> File "/usr/lib/python3/dist-packages/guacamole/core.py", line 298, in _dispatch
> result = ingredient.dispatch(self.context)
> File "/usr/lib/python3/dist-packages/guacamole/ingredients/cmdtree.py", line 152, in dispatch
> return self._dispatch(context, 0)
> File "/usr/lib/python3/dist-packages/guacamole/ingredients/cmdtree.py", line 179, in _dispatch
> return self._dispatch_None(context, level, retval, command)
> File "/usr/lib/python3/dist-packages/guacamole/ingredients/cmdtree.py", line 208, in _dispatch_None
> return self._dispatch(context, level + 1)
> File "/usr/lib/python3/dist-packages/guacamole/ingredients/cmdtree.py", line 165, in _dispatch
> retval = command.invoked(context)
> File "/usr/lib/python3/dist-packages/checkbox_ng/launcher/remote.py", line 150, in invoked
> self.connect_and_run(ctx.args.host, port)
> File "/usr/lib/python3/dist-packages/checkbox_ng/launcher/remote.py", line 180, in connect_and_run
> }[state]()
> File "/usr/lib/python3/dist-packages/checkbox_ng/launcher/remote.py", line 206, in new_session
> self.interactively_choose_tp(tps)
> File "/usr/lib/python3/dist-packages/checkbox_ng/launcher/remote.py", line 213, in interactively_choose_tp
> self.select_tp(tps[selected_index][0])
> File "/usr/lib/python3/dist-packages/checkbox_ng/launcher/remote.py", line 217, in select_tp
> pass_required = self.sa.prepare_bootstrapping(tp)
> File "/usr/lib/python3/dist-packages/plainbox/vendor/rpyc/core/netref.py", line 153, in __getattr__
> return syncreq(self, consts.HANDLE_GETATTR, name)
> File "/usr/lib/python3/dist-packages/plainbox/vendor/rpyc/core/netref.py", line 72, in syncreq
> return conn.sync_request(handler, oid, *args)
> File "/usr/lib/python3/dist-packages/plainbox/vendor/rpyc/core/protocol.py", line 523, in sync_request
> raise obj
> _get_exception_class.<locals>.Derived: 'SessionAssistant2' object has no attribute 'prepare_bootstrapping'
>
> ========= Remote Traceback (1) =========
> Traceback (mo...

Read more...

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.