traceback due to truncated requires line in cpu/topology description when using remote
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Next Generation Checkbox (CLI) |
Fix Released
|
Critical
|
Unassigned |
Bug Description
Ran the full cert suite using checkbox-remote and found that it quickly failed
And I'm not sure exactly what job is failing here... according to the header it's a job called com.canonical.
But as a job definition, that ID only exists in plainbox-
bladernr@
plainbox/
plainbox/
plainbox-
plainbox-
BUT that summary string "Collect information about the CPU"
comes from the cpuinfo resource job:
plainbox-
but that job description doesn't contain the constraint in the traceback:
id: cpuinfo
estimated_duration: 0.37
plugin: resource
command: cpuinfo_resource
_summary: Collect information about the CPU
_description: Gets CPU resource info from /proc/cpuinfo
and the job that does contain the constraint in the traceback does not contain that job description:
plainbox-
plugin: shell
category_id: com.canonical.
id: cpu/topology
estimated_duration: 1.0
requires: int(cpuinfo.count) > 1 and (cpuinfo.platform == 'i386' or cpuinfo.platform == 'x86_64' or cpuinfo.platform == 's390x')
command: cpu_topology
_summary:
Check CPU topology for accuracy between proc and sysfs
_description:
Parses information about CPU topology provided by proc and sysfs and checks
that they are consistent.
So I'm a bit confused by the console output here, is checkbox conflating jobs? Or is the output just completely inaccurate?
Either way it appears that checkbox remote is truncating that requirement line
-------
-------
ID: com.canonical.
Category: Uncategorised
-------
(Command output hidden)
load_
File "/usr/lib/
subcmd.
File "/usr/lib/
self.
File "/usr/lib/
}[state]()
File "/usr/lib/
self.
File "/usr/lib/
self.run_jobs()
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
job_result = self.sa.
File "/usr/lib/
return syncreq(_self, consts.HANDLE_CALL, args, kwargs)
File "/usr/lib/
return conn.sync_
File "/usr/lib/
return self.async_
File "/usr/lib/
raise self._obj
plainbox.
========= Remote Traceback (1) =========
Traceback (most recent call last):
File "/usr/lib/
node = ast.parse(text)
File "/usr/lib/
return compile(source, filename, mode, PyCF_ONLY_AST)
File "<unknown>", line 1
int(
SyntaxError: unexpected EOF while parsing
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/
res = self._HANDLERS[
File "/usr/lib/
return obj(*args, **dict(kwargs))
File "/usr/lib/
self.
File "/usr/lib/
raise exc
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
self.
File "/usr/lib/
self, job, result, fake_resources=
File "/usr/lib/
session_state, job, result, fake_resources)
File "/usr/lib/
session_state, job, result, fake_resources)
File "/usr/lib/
session_
File "/usr/lib/
for inhibitor in job.controller.
File "/usr/lib/
prog.
File "/usr/lib/
], resource_map = resource_map)
File "/usr/lib/
lhs, rhs = self._split_
File "/usr/lib/
head, self._implicit_
File "/usr/lib/
self.
File "/usr/lib/
raise ResourceSyntaxError
plainbox.
Related branches
- Sylvain Pineau: Approve
-
Diff: 32 lines (+13/-8)1 file modifiedplainbox/impl/resource.py (+13/-8)
affects: | plainbox-provider-checkbox → checkbox-ng |
Changed in checkbox-ng: | |
milestone: | none → 1.8.0 |
status: | New → Fix Committed |
importance: | Undecided → Critical |
Changed in checkbox-ng: | |
status: | Fix Committed → Fix Released |