# all nodes (also, the kernel is "distro" when the --kernel option is not set).
# We don't generally want to use a custom kernel for all tests, so unset it.
# The k-testing.yaml will set it, if given, for only the client nodes.
+# When the --kernel option is "none" there is no "kernel" dictionary created
+# in the job base config and there is no need to unset anything.
#
# Allow overriding this by using a branch ending in "-all".
teuthology:
postmerge:
- |
- local branch = yaml.kernel.branch
- if branch and not yaml.kernel.branch:find "-all$" then
- log.debug("removing default kernel specification: %s", yaml.kernel)
- py_attrgetter(yaml.kernel).pop('branch', nil)
- py_attrgetter(yaml.kernel).pop('deb', nil)
- py_attrgetter(yaml.kernel).pop('flavor', nil)
- py_attrgetter(yaml.kernel).pop('kdb', nil)
- py_attrgetter(yaml.kernel).pop('koji', nil)
- py_attrgetter(yaml.kernel).pop('koji_task', nil)
- py_attrgetter(yaml.kernel).pop('rpm', nil)
- py_attrgetter(yaml.kernel).pop('sha1', nil)
- py_attrgetter(yaml.kernel).pop('tag', nil)
+ local kernel = py_attrgetter(yaml).get('kernel')
+ if kernel ~= nil then
+ local branch = py_attrgetter(kernel).get('branch')
+ if branch and not kernel.branch:find "-all$" then
+ log.debug("removing default kernel specification: %s", kernel)
+ py_attrgetter(kernel).pop('branch', nil)
+ py_attrgetter(kernel).pop('deb', nil)
+ py_attrgetter(kernel).pop('flavor', nil)
+ py_attrgetter(kernel).pop('kdb', nil)
+ py_attrgetter(kernel).pop('koji', nil)
+ py_attrgetter(kernel).pop('koji_task', nil)
+ py_attrgetter(kernel).pop('rpm', nil)
+ py_attrgetter(kernel).pop('sha1', nil)
+ py_attrgetter(kernel).pop('tag', nil)
+ end
end