Created
October 4, 2012 13:41
-
-
Save jhrcz/3833593 to your computer and use it in GitHub Desktop.
one-fix-vm-names.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
!/bin/bash | |
set -x | |
DB="sqlite3 /var/lib/one/one.db" | |
function dbq | |
{ | |
echo "$1" | $DB | |
} | |
#dbq "select oid from vm_pool where state = 1 or state = 3 and name like 'one-%';" | while read oid | |
dbq "select oid from vm_pool where name like 'one-%';" | while read oid | |
do | |
dbq "select name from vm_pool where oid = $oid;"| sed -e "s/^/DEBUG:/" | |
dbq "select body from vm_pool where oid = $oid;"| sed -e "s/^/DEBUG:/" | |
#primary_volume_name=$(dbq "select body from vm_pool where oid = $oid;" | xmlstarlet fo | xmlstarlet sel -t -v '//VM/TEMPLATE/DISK/IMAGE') | |
#newname="${primary_volume_name// /_}" | |
templateid=$(dbq "select body from vm_pool where oid = $oid;" | xmlstarlet fo | xmlstarlet sel -t -v '//VM/TEMPLATE/TEMPLATE_ID') | |
[ -n "$templateid" ] || continue | |
newname=$(dbq "select name from template_pool where oid = $templateid;") | |
newname="${newname// /_}" | |
if [ -n "$newname" ] | |
then | |
newname="tpl:$newname" | |
dbq "update vm_pool set body = replace( body, '<NAME>one-$oid</NAME>', '<NAME>$newname</NAME>' ) where oid like $oid;" | |
dbq "update vm_pool set name = replace( name, 'one-$oid', '$newname' ) where oid like $oid;" | |
fi | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment