[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] xenstore/wmi behaviour
Hi, I am accessing xenstore using python via wmi and I appear to have inconsistent behaviour compared to Linux with xenstore-read. My xenstore key is: /a/path/to/a/key = "" In xs.c in the xen source: char *val = xs_read(xsh, xth, argv[optind], &len); if (val == NULL) { warnx("couldn't read path %s", argv[optind]); return 1; } So a NULL return value is used to indicate that the key does not exist. Testing this: # xenstore-read /a/path/to/a/key ; echo $? 0 # # no output or error However reading the same key on Windows through wmi instead results in python getting a None type object where I believe it should get an empty string "". Setting up a connection in Python through wmi to xenstore then: >>> print session.GetValue("/a/path/to/a/key") (None,) In powershell: PS C:\>$base = gwmi -n root\wmi -cl XenProjectXenStoreBase PS C:\>$sid = $base.AddSession("MyNewSession") PS C:\>$session = gwmi -n root\wmi -q "select * from XenProjectXenStoreSession where SessionId=$($sid.SessionId)" PS C:\>$v = $session.GetValue("/a/path/to/a/key").value PS C:\>echo $v.getType(); You cannot call a method on a null-valued expression. At line:1 char:1 + echo $v.getType() + ~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull PS C:\>echo "".getType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object So the behaviour outside of python seems to be the same. I have tried to follow the xen source code and I didn't find any special NULL -> "" conversion in the read path but it is quite possible I have missed something. Therefore I believe that SessionExecuteGetValue() of wmi.c should be doing something special so there is compatibility in its behaviour between operating systems. Thanks, James _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |