opennebula-4.90.5-runasuser.diff
| opennebula-4.90.5-runasuser/src/mad/sh/scripts_common.sh 2016-06-07 11:19:42.476878849 -0500 | ||
|---|---|---|
| 328 | 328 |
if [ "$FSTYPE" = "swap" ]; then |
| 329 | 329 |
echo "$MKSWAP -L swap $DST" |
| 330 | 330 |
fi |
| 331 | ||
| 332 |
echo "test -e '${DST}' && chmod 600 '${DST}'"
|
|
| 331 | 333 |
} |
| 332 | 334 | |
| 333 | 335 |
#This function executes $2 at $1 host and report error $3 |
| opennebula-4.90.5-runasuser/src/tm/TransferManager.cc 2016-06-06 10:59:32.666520643 -0500 | ||
|---|---|---|
| 474 | 474 |
<< vm->get_hostname() << ":" |
| 475 | 475 |
<< vm->get_system_dir() << "/disk." << disk_id << " " |
| 476 | 476 |
<< vm->get_oid() << " " |
| 477 |
<< vm->get_ds_id() |
|
| 477 |
<< vm->get_ds_id() << " " |
|
| 478 |
<< (vm->get_oid() + 131072) << " " |
|
| 479 |
<< (vm->get_oid() + 131072) |
|
| 478 | 480 |
<< endl; |
| 479 | 481 |
} |
| 480 | 482 |
else if ( type == "FS" ) |
| ... | ... | |
| 505 | 507 |
<< vm->get_hostname() << ":" |
| 506 | 508 |
<< vm->get_system_dir() << "/disk." << disk_id << " " |
| 507 | 509 |
<< vm->get_oid() << " " |
| 508 |
<< vm->get_ds_id() |
|
| 510 |
<< vm->get_ds_id() << " " |
|
| 511 |
<< (vm->get_oid() + 131072) << " " |
|
| 512 |
<< (vm->get_oid() + 131072) |
|
| 509 | 513 |
<< endl; |
| 510 | 514 |
} |
| 511 | 515 |
else |
| ... | ... | |
| 556 | 560 |
xfr << vm->get_hostname() << ":" |
| 557 | 561 |
<< vm->get_system_dir() << "/disk." << disk_id << " " |
| 558 | 562 |
<< vm->get_oid() << " " |
| 559 |
<< ds_id |
|
| 563 |
<< ds_id << " " |
|
| 564 |
<< (vm->get_oid() + 131072) << " " |
|
| 565 |
<< (vm->get_oid() + 131072) |
|
| 560 | 566 |
<< endl; |
| 561 | 567 |
} |
| 562 | 568 | |
| ... | ... | |
| 613 | 619 |
<< vm->get_hostname() << ":" |
| 614 | 620 |
<< base_dst.str() << " " |
| 615 | 621 |
<< vm->get_oid() << " " |
| 616 |
<< ds_id |
|
| 622 |
<< ds_id << " " |
|
| 623 |
<< (vm->get_oid() + 131072) << " " |
|
| 624 |
<< (vm->get_oid() + 131072) |
|
| 617 | 625 |
<< endl; |
| 618 | 626 | |
| 619 | 627 |
return base_dst.str(); |
| opennebula-4.90.5-runasuser/src/tm_mad/common/mkimage 2016-06-07 11:21:50.033878647 -0500 | ||
|---|---|---|
| 31 | 31 |
VMID=$4 |
| 32 | 32 |
DSID=$5 |
| 33 | 33 | |
| 34 |
VMUID="$6" |
|
| 35 |
VMGID="$7" |
|
| 36 | ||
| 34 | 37 |
if [ -z "${ONE_LOCATION}" ]; then
|
| 35 | 38 |
TMCOMMON=/var/lib/one/remotes/tm/tm_common.sh |
| 39 |
KVMRC=/var/lib/one/remotes/vmm/kvm/kvmrc |
|
| 36 | 40 |
else |
| 37 | 41 |
TMCOMMON=$ONE_LOCATION/var/remotes/tm/tm_common.sh |
| 42 |
KVMRC=$ONE_LOCATION/var/remotes/vmm/kvm/kvmrc |
|
| 38 | 43 |
fi |
| 39 | 44 | |
| 40 | 45 |
. $TMCOMMON |
| 46 |
. $KVMRC |
|
| 41 | 47 | |
| 42 | 48 |
#------------------------------------------------------------------------------- |
| 43 | 49 |
# Set dst path and dir |
| ... | ... | |
| 57 | 63 |
set -e |
| 58 | 64 |
export PATH=/usr/sbin:/sbin:\$PATH |
| 59 | 65 |
$MKFS_CMD |
| 66 |
VMUID="${VMUID}"
|
|
| 67 |
VMGID="${VMGID}"
|
|
| 68 |
if [ -z "\${VMUID}" -o -z "\${VMGID}" ]; then
|
|
| 69 |
eval "\$(virsh -c $LIBVIRT_URI dumpxml one-$VMID | grep '<label>+.*:+.*</label>' | sed 's@.*<label>\(.*\)</label>@\1@;s@^+@VMUID=@;s@:+@; VMGID=@')" |
|
| 70 |
fi |
|
| 71 |
if [ -n "\${VMUID}" -a -n "\${VMGID}" ]; then
|
|
| 72 |
sudo chown "\${VMUID}:\${VMGID}" $DST_PATH
|
|
| 73 |
fi |
|
| 60 | 74 |
EOF |
| 61 | 75 |
) |
| 62 | 76 | |
| opennebula-4.90.5-runasuser/src/tm_mad/common/mkswap 2016-06-07 11:23:06.406878526 -0500 | ||
|---|---|---|
| 29 | 29 |
VMID=$3 |
| 30 | 30 |
DSID=$4 |
| 31 | 31 | |
| 32 |
`dirname $0`/mkimage $SIZE swap $DST $VMID $DSID |
|
| 32 |
VMUID="$5" |
|
| 33 |
VMGID="$6" |
|
| 34 | ||
| 35 |
`dirname $0`/mkimage $SIZE swap $DST $VMID $DSID $VMUID $VMGID |
|
| opennebula-4.90.5-runasuser/src/tm_mad/qcow2/clone 2016-06-07 11:32:14.897877659 -0500 | ||
|---|---|---|
| 30 | 30 |
VMID=$3 |
| 31 | 31 |
DSID=$4 |
| 32 | 32 | |
| 33 |
VMUID="$5" |
|
| 34 |
VMGID="$6" |
|
| 35 | ||
| 33 | 36 |
if [ -z "${ONE_LOCATION}" ]; then
|
| 34 | 37 |
TMCOMMON=/var/lib/one/remotes/tm/tm_common.sh |
| 35 | 38 |
else |
| ... | ... | |
| 92 | 95 |
#------------------------------------------------------------------------------- |
| 93 | 96 |
# Clone (cp) SRC into DST |
| 94 | 97 |
#------------------------------------------------------------------------------- |
| 98 |
if [ -n "${VMUID}" -a -n "${VMGID}" ]; then
|
|
| 99 |
ADD_CMD=" && sudo chmod 600 $DST_PATH && sudo chown ${VMUID}:${VMGID} $DST_PATH"
|
|
| 100 |
fi |
|
| 95 | 101 | |
| 96 | 102 |
type="$(file -b --mime-type $SRC_PATH)" |
| 97 | 103 | |
| 98 | 104 |
if [ "$type" == "application/x-iso9660-image" ]; then |
| 99 |
CLONE_CMD="cp ${SRC_PATH} ${DST_PATH}"
|
|
| 105 |
CLONE_CMD="cp ${SRC_PATH} ${DST_PATH}${ADD_CMD}"
|
|
| 100 | 106 |
else |
| 101 | 107 |
if [ -n "$ORIGINAL_SIZE" -a "$SIZE" -gt "$ORIGINAL_SIZE" ]; then |
| 102 | 108 |
RESIZE_CMD="qemu-img resize ${DST_PATH} ${SIZE}M"
|
| ... | ... | |
| 106 | 112 |
cd $DST_DIR |
| 107 | 113 |
mkdir -p ${DST_PATH}.snap
|
| 108 | 114 |
rm -f $DST_PATH |
| 109 |
$QEMU_IMG create -b $SRC_PATH -f qcow2 $QCOW2_OPTIONS ${DST_PATH}.snap/0
|
|
| 115 |
$QEMU_IMG create -b $SRC_PATH -f qcow2 $QCOW2_OPTIONS ${DST_PATH}.snap/0${ADD_CMD}
|
|
| 110 | 116 |
ln -s ${DST_FILE}.snap/0 ${DST_PATH}
|
| 111 | 117 |
cd ${DST_PATH}.snap
|
| 112 | 118 |
ln -s . ${DST_PATH}.snap/${DST_FILE}.snap
|
| opennebula-4.90.5-runasuser/src/tm_mad/shared/clone 2016-06-07 11:34:55.542877405 -0500 | ||
|---|---|---|
| 30 | 30 |
VMID=$3 |
| 31 | 31 |
DSID=$4 |
| 32 | 32 | |
| 33 |
VMUID=$5 |
|
| 34 |
VMGID=$6 |
|
| 35 | ||
| 33 | 36 |
if [ -z "${ONE_LOCATION}" ]; then
|
| 34 | 37 |
TMCOMMON=/var/lib/one/remotes/tm/tm_common.sh |
| 35 | 38 |
else |
| ... | ... | |
| 91 | 94 |
# Clone (cp) SRC into DST |
| 92 | 95 |
#------------------------------------------------------------------------------- |
| 93 | 96 | |
| 97 |
if [ -n "${VMUID}" -a -n "${VMGID}" ]; then
|
|
| 98 |
ADD_CMD="&& sudo chmod 600 ${DST_PATH} && sudo chown ${VMUID}:${VMGID} ${DST_PATH}"
|
|
| 99 |
fi |
|
| 100 | ||
| 94 | 101 |
if [ -n "$ORIGINAL_SIZE" -a "$SIZE" -gt "$ORIGINAL_SIZE" ]; then |
| 95 | 102 |
RESIZE_CMD="; qemu-img resize ${DST_PATH} ${SIZE}M"
|
| 96 | 103 |
fi |
| ... | ... | |
| 99 | 106 | |
| 100 | 107 |
CLONE_CMD="cd ${DST_DIR}; \
|
| 101 | 108 |
cp ${SRC_PATH} ${DST_PATH} \
|
| 102 |
${RESIZE_CMD}"
|
|
| 109 |
${RESIZE_CMD}${ADD_CMD}"
|
|
| 103 | 110 | |
| 104 | 111 |
ssh_exec_and_log $DST_HOST \ |
| 105 | 112 |
"$CLONE_CMD" \ |
| opennebula-4.90.5-runasuser/src/tm_mad/shared/ln 2016-06-06 10:59:32.667520643 -0500 | ||
|---|---|---|
| 89 | 89 |
log "Linking $SRC_PATH in $DST" |
| 90 | 90 | |
| 91 | 91 |
ssh_exec_and_log $DST_HOST \ |
| 92 |
"cd $DST_DIR; rm -f $DST_PATH ; ln -s $SRC_PATH $DST_PATH" \
|
|
| 92 |
"cd $DST_DIR && rm -f $DST_PATH && ln -s $SRC_PATH $DST_PATH" \
|
|
| 93 | 93 |
"Error linking $SRC to $DST" |
| 94 | 94 | |
| 95 | 95 |
exit 0 |
| opennebula-4.90.5-runasuser/src/tm_mad/ssh/mv 2016-06-06 10:59:32.667520643 -0500 | ||
|---|---|---|
| 71 | 71 |
ssh_exec_and_log "$DST_HOST" "rm -rf '$DST_PATH'" \ |
| 72 | 72 |
"Error removing target path to prevent overwrite errors" |
| 73 | 73 | |
| 74 |
TAR_COPY="$SSH $SRC_HOST '$TAR -C $SRC_DS_DIR --sparse -cf - $SRC_VM_DIR'" |
|
| 75 |
TAR_COPY="$TAR_COPY | $SSH $DST_HOST '$TAR -C $DST_DIR --sparse -xf -'" |
|
| 74 |
TAR_COPY="$SSH $SRC_HOST '$SUDO $TAR -C $SRC_DS_DIR --sparse -cf - $SRC_VM_DIR | $SSH $DST_HOST '\''$SUDO $TAR -C $DST_DIR --sparse -xf -'\'''" |
|
| 76 | 75 | |
| 77 | 76 |
exec_and_log "eval $TAR_COPY" "Error copying disk directory to target host" |
| 78 | 77 | |
| opennebula-4.90.5-runasuser/src/vmm/LibVirtDriverKVM.cc 2016-06-06 10:59:32.667520643 -0500 | ||
|---|---|---|
| 230 | 230 |
<< " xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>" |
| 231 | 231 |
<< endl; |
| 232 | 232 | |
| 233 |
/* Domain user information */ |
|
| 234 |
file << "\t<seclabel type='static' model='dac'>" << endl; |
|
| 235 |
file << "\t\t<label>+" << (vm->get_oid() + 131072) << ":+" << (vm->get_oid() + 131072) << "</label>" << endl; |
|
| 236 |
file << "\t</seclabel>" << endl; |
|
| 237 | ||
| 233 | 238 |
// ------------------------------------------------------------------------ |
| 234 | 239 |
// Domain name |
| 235 | 240 |
// ------------------------------------------------------------------------ |
| opennebula-4.90.5-runasuser/src/vmm_mad/remotes/kvm/restore 2016-06-07 11:39:31.767876969 -0500 | ||
|---|---|---|
| 28 | 28 |
VM_ID=$4 |
| 29 | 29 |
DS_ID=$5 |
| 30 | 30 | |
| 31 |
# This computation is a duplicate of what is performed in LibVirtDriverKVM.cc |
|
| 32 |
vmuid=$[131072+$VM_ID] |
|
| 33 |
vmgid="${vmuid}"
|
|
| 34 | ||
| 31 | 35 |
FILE_XML=${FILE}.xml
|
| 32 | 36 | |
| 33 | 37 |
#------------------------------------------------------------------------------- |
| opennebula-4.90.5-runasuser/src/vmm_mad/remotes/kvm/save 2016-06-07 11:41:08.826876815 -0500 | ||
|---|---|---|
| 36 | 36 |
fi |
| 37 | 37 | |
| 38 | 38 |
touch "$FILE" |
| 39 |
chmod 666 "$FILE"
|
|
| 39 |
chmod 600 "$FILE"
|
|
| 40 | 40 | |
| 41 | 41 |
exec_and_log "virsh --connect $LIBVIRT_URI save $DEPLOY_ID $FILE" \ |
| 42 | 42 |
"Could not save $DEPLOY_ID to $FILE" |