#!/usr/bin/python
#
-# Test script for obtaining a node session key. Usually, the Boot
-# Manager obtains it, then writes it to /etc/planetlab/session. To
-# generate a node key for a node, execute:
-#
-# AdmGenerateNodeConfFile(node_id)
+# Obtaining a node session key. Usually, the Boot
+# Manager obtains it, then writes it to /etc/planetlab/session.
#
# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2006 The Trustees of Princeton University
#
-# $Id$
-#
import os, sys
import getopt
# Get options
try:
- (opts, argv) = getopt.getopt(sys.argv[1:], "n:k:h",
- ["node=", "nodeid=", "node-id", "node_id",
+ (opts, argv) = getopt.getopt(sys.argv[1:], "f:n:k:h",
+ ["config=", "cfg=", "file=",
+ "node=", "nodeid=", "node-id", "node_id",
"key=",
"help"])
except getopt.GetoptError, err:
for (opt, optval) in opts:
if opt == "-f" or opt == "--config" or opt == "--cfg" or opt == "--file":
- config = optval
+ config = Config(optval)
elif opt == "-n" or opt == "--node" or opt == "--nodeid" or opt == "--node-id" or opt == "--node_id":
if os.path.exists(optval):
node_id = file(optval).read().strip()
usage()
# Authenticate as the Boot Manager would and get a session key
- plc = PLCAPI(config.plc_api_uri, (node_id, key))
+ plc = PLCAPI(config.plc_api_uri, config.cacert, (node_id, key))
session = plc.BootGetNodeDetails()['session']
- plc = PLCAPI(config.plc_api_uri, session)
+ plc = PLCAPI(config.plc_api_uri, config.cacert, session)
assert session == plc.GetSession()
print session