Index: root/xen-unstable.hg/tools/xm-test/lib/XmTestLib/xapi.py =================================================================== --- root.orig/xen-unstable.hg/tools/xm-test/lib/XmTestLib/xapi.py +++ root/xen-unstable.hg/tools/xm-test/lib/XmTestLib/xapi.py @@ -24,9 +24,6 @@ from xen.util.xmlrpclib2 import ServerPr from types import DictType -XAPI_DEFAULT_LOGIN = " " -XAPI_DEFAULT_PASSWORD = " " - class XenAPIError(Exception): pass @@ -58,8 +55,12 @@ def _connect(*args): global _server, _session, _initialised if not _initialised: _server = ServerProxy('httpu:///var/run/xend/xen-api.sock') - login = XAPI_DEFAULT_LOGIN - password = XAPI_DEFAULT_PASSWORD + try: + from XmTestLib import xapi_auth + except: + FAIL("Missing Xen-API credentials. Run xapi-setup.py!") + login = xapi_auth.XAPI_DEFAULT_LOGIN + password = xapi_auth.XAPI_DEFAULT_PASSWORD creds = (login, password) _session = execute(_server.session.login_with_password, *creds) _initialised = True Index: root/xen-unstable.hg/tools/xm-test/tests/vtpm/09_vtpm-xapi.py =================================================================== --- root.orig/xen-unstable.hg/tools/xm-test/tests/vtpm/09_vtpm-xapi.py +++ root/xen-unstable.hg/tools/xm-test/tests/vtpm/09_vtpm-xapi.py @@ -68,6 +68,10 @@ def do_test(): domain.destroy() +try: + import PAM +except ImportError: + SKIP("Skipping test. Python-PAM module not found.") try: do_test() Index: root/xen-unstable.hg/tools/xm-test/xapi-setup.py =================================================================== --- /dev/null +++ root/xen-unstable.hg/tools/xm-test/xapi-setup.py @@ -0,0 +1,41 @@ +#!/usr/bin/python +import sys as sys +import getpass as getpass + +XAPI_AUTH_FILE = "xapi_auth.py" +XAPI_AUTH_PATH = "./lib/XmTestLib/" +XAPI_FILE = XAPI_AUTH_PATH + XAPI_AUTH_FILE + +def usage(): + print "Usage: xapi-setup.py [] []\n\n" \ + "Tool to setup the xm-test suite for being able to use the Xen-API\n" \ + "with authenticated sessions. Username and password are stored in\n" \ + "cleartext in %s.\n" % XAPI_FILE + +def main(): + if (len(sys.argv) >= 2) and sys.argv[1] == "-?": + usage() + sys.exit(0) + print "Enter username and password for usage with Xen-API:\n" + if (len(sys.argv) >=2 ): + username = sys.argv[1] + print "Login: %s" % username + else: + username = rawinput("Login: ") + if (len(sys.argv) >= 3 ): + password = sys.argv[2] + print "Password: " + else: + password = getpass.getpass() + f = open(XAPI_FILE, "w") + if f: + f.write("# File was created by xapi-setup.py.\n" + "XAPI_DEFAULT_LOGIN = \"%s\"\n" + "XAPI_DEFAULT_PASSWORD = \"%s\"\n" + % (username, password)) + f.close() + else: + print("Could not open file %s for writing." % XAPI_FILE) + +if __name__ == "__main__": + sys.exit(main())