diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2014-10-08 10:28:23 +0000 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2014-10-08 14:41:17 +0100 |
commit | d1a87822e936afa9dc8618ff23dca09da050b65a (patch) | |
tree | 5581cee9380515cbcf1b7e22974e4f348b675bbf /morphlib/exts/ssh-rsync.check | |
parent | d3be16e282bfdf7a8db8538339719161725b5cad (diff) | |
download | morph-d1a87822e936afa9dc8618ff23dca09da050b65a.tar.gz |
deploy: Make ssh-rsync upgrade extension handle unset VERSION_LABEL
It now gives an error message.
Previously it would fail with a backtrace like this:
2014-10-08 09:51:37 [systems/genivi-baseline-system-armv7lhf-jetson.morph][self]Removing temporary mounts
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/exts/ssh-rsync.write", line 54, in process_args
self.upgrade_remote_system(location, temp_root)
File "/src/morph/morphlib/exts/ssh-rsync.write", line 107, in upgrade_remote_system
location, ['btrfs', 'subvolume', 'delete', orig_dir])
UnboundLocalError: local variable 'orig_dir' referenced before assignment
Diffstat (limited to 'morphlib/exts/ssh-rsync.check')
-rwxr-xr-x | morphlib/exts/ssh-rsync.check | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/morphlib/exts/ssh-rsync.check b/morphlib/exts/ssh-rsync.check index 6a776ce9..11446c28 100755 --- a/morphlib/exts/ssh-rsync.check +++ b/morphlib/exts/ssh-rsync.check @@ -18,8 +18,9 @@ import cliapp -import morphlib.writeexts +import os +import morphlib.writeexts class SshRsyncCheckExtension(morphlib.writeexts.WriteExtension): def process_args(self, args): @@ -33,6 +34,10 @@ class SshRsyncCheckExtension(morphlib.writeexts.WriteExtension): 'Baserock machines. It cannot be used for an initial ' 'deployment.') + if os.environ.get('VERSION_LABEL', '') == '': + raise cliapp.AppException( + 'A VERSION_LABEL must be set when deploying an upgrade.') + location = args[0] self.check_ssh_connectivity(location) self.check_is_baserock_system(location) |