Bug #55
tm_ln.sh does not make image directories
| Status: | Closed | Start date: | ||
|---|---|---|---|---|
| Priority: | High | Due date: | ||
| Assignee: | % Done: | 0% | ||
| Category: | Drivers - Auth | |||
| Target version: | Release 1.2 | |||
| Resolution: | fixed | Pull request: | ||
| Affected Versions: |
Description
This error was reported by Marcos Dias de Assuncao in the mailing list:
However, as we are using NFS and we are not cloning the virtual
machine images, we had another problem. When we submitted a VM, it
failed and the vm.log showed:
Sat Nov 22 11:39:04 2008 [DiM][I]: New VM state is ACTIVE. Sat Nov 22 11:39:04 2008 [LCM][I]: New VM state is PROLOG. Sat Nov 22 11:39:04 2008 [TM][I]: tm_ln.sh: Link /home/oneadmin/vm/ domains/opensuse11/OpenSuse11.img Sat Nov 22 11:39:04 2008 [TM][I]: tm_ln.sh: ERROR: Command "ln -s / home/oneadmin/vm/domains/opensuse11/OpenSuse11.img /home/oneadmin/ [[OpenNebula]]/var/7/images/disk.0" failed. Sat Nov 22 11:39:04 2008 [TM][I]: tm_ln.sh: ERROR: ln: creating symbolic link @/home/oneadmin/OpenNebula/var/7/images/disk.0': No such file or directory Sat Nov 22 11:39:04 2008 [TM][E]: Error excuting image transfer script: ln: creating symbolic link @/home/oneadmin/OpenNebula/var/7/ images/disk.0': No such file or directory Sat Nov 22 11:39:05 2008 [DiM][I]: New VM state is FAILED
We solved the issue by modifying ONE_LOCATION/lib/tm_commands/nfs/
tm_ln.sh from:
#!/bin/bash SRC=$1 DST=$2 . $ONE_LOCATION/libexec/tm_common.sh SRC_PATH=@arg_path $SRC@ DST_PATH=@arg_path $DST@ log "Link $SRC_PATH" exec_and_log "ln -s $SRC_PATH $DST_PATH"
to:
#!/bin/bash
SRC=$1
DST=$2
. $ONE_LOCATION/libexec/tm_common.sh
SRC_PATH=@arg_path $SRC@
DST_PATH=@arg_path $DST@
DST_DIR=@dirname $DST_PATH@
log "Creating directory $DST_DIR"
exec_and_log "mkdir -p $DST_DIR"
exec_and_log "chmod a+w $DST_DIR"
case $SRC in
http://*)
log "Cannot link website $SRC"
exit -1
;;
*)
log "Link $SRC_PATH"
exec_and_log "ln -s $SRC_PATH $DST_PATH"
;;
esac
After this last change, our VM worked like a charm