Bug #1103
Image deployment does not barf on non-existent ntfsclone command
Status: | Closed | Start date: | 09/14/2011 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | Nikos Skalkotos | % Done: | 0% |
|
Category: | Cyclades Images | Spent time: | - | |
Target version: | v0.6.2 |
Description
Image deployment using the snf-progress-monitor should barf on non-existent ntfsclone or other image deployment command.
Currently, this happens:
Attempting to connect to backend.okeanos.grnet.gr:5672 Traceback (most recent call last): File "/usr/sbin/snf-progress-monitor", line 47, in <module> sys.exit(progress_monitor.main()) File "/usr/lib/python2.6/dist-packages/synnefo/ganeti/progress_monitor.py", line 194, in main os.execvpe(args[0], args, os.environ) File "/usr/lib/python2.6/os.py", line 353, in execvpe _execvpe(file, args, env) File "/usr/lib/python2.6/os.py", line 380, in _execvpe func(fullname, *argrest) OSError: [Errno 2] No such file or directory Connection succesful, opening channel Child PID = 32491 exited, status = 1 Clean UP executed
History
#1 Updated by Vangelis Koukis over 12 years ago
- Assignee changed from Vangelis Koukis to Nikos Skalkotos
The snf-progress-monitor fails correctly when the child process returns a non-zero exit status.
This is an snf-ganeti-instance-image bug, re-assigning.
#2 Updated by Vangelis Koukis over 12 years ago
This is probably a Ganeti bug, added when the capability to temporarily pause DRBD sync when wait_for_sync
is False was added.
From ganeti/cmdlib.py
:
feedback_fn("* running the instance OS create scripts...") # FIXME: pass debug option from opcode to backend result = self.rpc.call_instance_os_add(pnode_name, iobj, False, self.op.debug_level) if (iobj.disk_template in constants.DTS_INT_MIRROR and not self.op.wait_for_sync): feedback_fn("* resuming disk sync") result = self.rpc.call_blockdev_pause_resume_sync(pnode_name, iobj.disks, False) for idx, success in enumerate(result.payload): if not success: logging.warn("resume-sync of instance %s for disk %d failed", instance, idx) result.Raise("Could not add os for instance %s" " on node %s" % (instance, pnode_name))
Note how the result of the instance_os_add() operation is replaced by the result of the resume sync operation.
#3 Updated by Vangelis Koukis over 12 years ago
- Status changed from Assigned to Closed
This was a Ganeti bug, patched in production, closing.