[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] vtpm: script function for identifying vTPM by its UUID



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1204036490 0
# Node ID b6323bf8dae0116a206a303b66b8fa539ba7c52d
# Parent  d34e991415064515576bf62d918f196a431dc295
vtpm: script function for identifying vTPM by its UUID

I am adding some functions for external tools to call the vTPM scripts.
It also contains a fix for the functions that previously used to be
called by domain name, but now are using the vTPM's uuid as parameter.

Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx>
---
 tools/examples/vtpm-common.sh |   25 +++++++++++++++++++++----
 tools/examples/vtpm-delete    |   13 +++++++++++--
 2 files changed, 32 insertions(+), 6 deletions(-)

diff -r d34e99141506 -r b6323bf8dae0 tools/examples/vtpm-common.sh
--- a/tools/examples/vtpm-common.sh     Mon Feb 25 16:34:49 2008 +0000
+++ b/tools/examples/vtpm-common.sh     Tue Feb 26 14:34:50 2008 +0000
@@ -407,7 +407,7 @@ function vtpm_domid_from_name () {
        local id name ids
        ids=$(xenstore-list /local/domain)
        for id in $ids; do
-               name=$(xenstore_read /local/domain/$id/name)
+               name=$(xenstore-read /local/domain/$id/name)
                if [ "$name" == "$1" ]; then
                        echo "$id"
                        return
@@ -416,16 +416,33 @@ function vtpm_domid_from_name () {
        echo "-1"
 }
 
+#Determine the virtual TPM's instance number using the domain ID.
+#1st parm: domain ID
+function vtpm_uuid_by_domid() {
+       echo $(xenstore-read /local/domain/0/backend/vtpm/$1/0/uuid)
+}
+
+
+# Determine the vTPM's UUID by the name of the VM
+function vtpm_uuid_from_vmname() {
+       local domid=$(vtpm_domid_from_name $1)
+       if [ "$domid" != "-1" ]; then
+               echo $(vtpm_uuid_by_domid $domid)
+               return
+       fi
+       echo ""
+}
 
 #Add a virtual TPM instance number and its associated domain name
 #to the VTPMDB file and activate usage of this virtual TPM instance
 #by writing the instance number into the xenstore
 #1st parm: name of virtual machine
-#2nd parm: instance of assoicate virtual TPM
+#2nd parm: instance of associated virtual TPM
 function vtpm_add_and_activate() {
        local domid=$(vtpm_domid_from_name $1)
-       if [ "$domid" != "-1" ]; then
-               vtpmdb_add_instance $1 $2
+       local vtpm_uuid=$(vtpm_uuid_from_vmname $1)
+       if [ "$vtpm_uuid" != "" -a "$domid" != "-1" ]; then
+               vtpmdb_add_instance $vtpm_uuid $2
                xenstore-write backend/vtpm/$domid/0/instance $2
        fi
 }
diff -r d34e99141506 -r b6323bf8dae0 tools/examples/vtpm-delete
--- a/tools/examples/vtpm-delete        Mon Feb 25 16:34:49 2008 +0000
+++ b/tools/examples/vtpm-delete        Tue Feb 26 14:34:50 2008 +0000
@@ -1,9 +1,18 @@
 #!/bin/bash
 
 # This scripts must be called the following way:
-# vtpm-delete <domain name>
+# vtpm-delete <vtpm uuid>
+# or
+# vtpm-delete --vmname <vm name>
 
 dir=$(dirname "$0")
 . "$dir/vtpm-common.sh"
 
-vtpm_delete_instance $1
+if [ "$1" == "--vmname" ]; then
+       vtpm_uuid=$(vtpm_uuid_from_vmname $2)
+       if [ "$vtpm_uuid" != "" ];then
+               vtpm_delete_instance $vtpm_uuid
+       fi
+else
+       vtpm_delete_instance $1
+fi

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.