diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2016-02-19 12:08:44 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2016-02-19 12:11:29 +0000 |
commit | c03b9c714e38b24c1b09ec4ab4da8f8b593b1c47 (patch) | |
tree | 905c2323e188aa3fc3bf93a9b7476246cd6614e7 /morphlib/plugins | |
parent | 535443bcfa78568ecdd091a57e4aff64bfbf9638 (diff) | |
download | morph-c03b9c714e38b24c1b09ec4ab4da8f8b593b1c47.tar.gz |
deploy: Fix an unlikely crash at deploy-time
For some reason I had a deployment .morph file that specified:
deploy-defaults:
This resulted in the deploy_defaults variable having value None, which
lead to a crash further down:
2016-02-19 12:03:52 Deciding on task order
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/cliapp/app.py", line 190, in _run
self.process_args(args)
File "/src/morph/morphlib/app.py", line 299, in process_args
cliapp.Application.process_args(self, args)
File "/usr/lib/python2.7/site-packages/cliapp/app.py", line 539, in process_args
method(args[1:])
File "/src/morph/morphlib/plugins/deploy_plugin.py", line 574, in upgrade
self.deploy(args)
File "/src/morph/morphlib/plugins/deploy_plugin.py", line 370, in deploy
env_vars, deployments)
File "/src/morph/morphlib/plugins/deploy_plugin.py", line 403, in deploy_cluster
parent_location='')
File "/src/morph/morphlib/plugins/deploy_plugin.py", line 462, in deploy_system
env_vars, deployment_filter, parent_location)
File "/src/morph/morphlib/plugins/deploy_plugin.py", line 483, in deploy_system_with_source_pool
system_id, env_vars, deploy_defaults, deploy_params)
File "/src/morph/morphlib/plugins/deploy_plugin.py", line 59, in configuration_for_system
deploy_params.items() +
AttributeError: 'NoneType' object has no attribute 'items'
This change makes the code work as expected.
Change-Id: I667f4142667be31797cac7c8994d35a404119cca
Diffstat (limited to 'morphlib/plugins')
-rw-r--r-- | morphlib/plugins/deploy_plugin.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/morphlib/plugins/deploy_plugin.py b/morphlib/plugins/deploy_plugin.py index 189222a8..18ea8d81 100644 --- a/morphlib/plugins/deploy_plugin.py +++ b/morphlib/plugins/deploy_plugin.py @@ -1,4 +1,4 @@ -# Copyright (C) 2013-2015 Codethink Limited +# Copyright (C) 2013-2016 Codethink Limited # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -471,7 +471,7 @@ class DeployPlugin(cliapp.Plugin): build_command = morphlib.buildcommand.BuildCommand(self.app) artifact = build_command.resolve_artifacts(source_pool) - deploy_defaults = system.get('deploy-defaults', {}) + deploy_defaults = system.get('deploy-defaults') or {} for system_id, deploy_params in system['deploy'].iteritems(): if not system_id in deployment_filter and deployment_filter: continue |