if errors:
sys.exit(1)
- if self.options.verbose :
- print "Contacting Slice Manager at:", sm_url
- print "Contacting Registry at:", reg_url
# Get key and certificate
key_file = self.get_key_file()
self.cert_file = cert_file
self.cert = Certificate(filename=cert_file)
# Establish connection to server(s)
+ if self.options.verbose : print "Contacting Registry at:", reg_url
self.registry = xmlrpcprotocol.get_server(reg_url, key_file, cert_file, self.options.debug)
+ if self.options.verbose : print "Contacting Slice Manager at:", sm_url
self.slicemgr = xmlrpcprotocol.get_server(sm_url, key_file, cert_file, self.options.debug)
return
from sfa.util.sfatablesRuntime import run_sfatables
import sys
from sfa.trust.credential import Credential
-from sfa.util.sfalogging import logger
class CreateSliver(Method):
"""
import traceback
import string
import xmlrpclib
+
+import sfa.util.sfalogging
from sfa.trust.auth import Auth
from sfa.util.config import *
from sfa.util.faults import *
from sfa.util.namespace import *
from sfa.util.api import *
from sfa.util.nodemanager import NodeManager
-from sfa.util.sfalogging import *
from collections import defaultdict
self.hrn = self.config.SFA_INTERFACE_HRN
self.time_format = "%Y-%m-%d %H:%M:%S"
- self.logger=get_sfa_logger()
+ self.logger=sfa.util.sfalogging.logger
def getPLCShell(self):
self.plauth = {'Username': self.config.SFA_PLC_USER,
import traceback
import string
import xmlrpclib
+
+import sfa.util.sfalogging
import sfa.util.xmlrpcprotocol as xmlrpcprotocol
from sfa.trust.auth import Auth
from sfa.util.config import *
from sfa.util.namespace import *
from sfa.util.api import *
from sfa.util.nodemanager import NodeManager
-from sfa.util.sfalogging import *
try:
from collections import defaultdict
except:
self.hrn = self.config.SFA_INTERFACE_HRN
self.time_format = "%Y-%m-%d %H:%M:%S"
- self.logger=get_sfa_logger()
+ self.logger=sfa.util.sfalogging.logger
def getPLCShell(self):
self.plauth = {'Username': self.config.SFA_PLC_USER,
#
+#import sfa.util.sfalogging
from sfa.trust.certificate import Keypair, Certificate
from sfa.trust.credential import Credential
from sfa.trust.trustedroot import TrustedRootList
from sfa.util.config import *
from sfa.util.namespace import *
from sfa.util.sfaticket import *
-from sfa.util.sfalogging import logger
import sys
class Auth:
import tempfile
import base64
import traceback
+from tempfile import mkstemp
+
from OpenSSL import crypto
import M2Crypto
from M2Crypto import X509
-from tempfile import mkstemp
-from sfa.util.sfalogging import logger
+
+import sfa.util.sfalogging
from sfa.util.namespace import urn_to_hrn
from sfa.util.faults import *
# if this cert is signed by a trusted_cert, then we are set
for trusted_cert in trusted_certs:
if self.is_signed_by_cert(trusted_cert):
- logger.debug("Cert %s signed by trusted cert %s", self.get_subject(), trusted_cert.get_subject())
+ sfa.util.sfalogging.logger.debug("Cert %s signed by trusted cert %s", self.get_subject(), trusted_cert.get_subject())
# verify expiration of trusted_cert ?
if not trusted_cert.cert.has_expired():
return trusted_cert
else:
- logger.debug("Trusted cert %s is expired", trusted_cert.get_subject())
+ sfa.util.sfalogging.logger.debug("Trusted cert %s is expired", trusted_cert.get_subject())
# if there is no parent, then no way to verify the chain
if not self.parent:
import os
import datetime
-from xml.dom.minidom import Document, parseString
from tempfile import mkstemp
+from xml.dom.minidom import Document, parseString
+from dateutil.parser import parse
+
+import sfa.util.sfalogging
from sfa.trust.certificate import Keypair
from sfa.trust.credential_legacy import CredentialLegacy
from sfa.trust.rights import *
from sfa.trust.gid import *
from sfa.util.faults import *
-from sfa.util.sfalogging import logger
-from dateutil.parser import parse
trusted_cert_objects.append(GID(filename=f))
ok_trusted_certs.append(f)
except Exception, exc:
- logger.error("Failed to load trusted cert from %s: %r", f, exc)
+ sfa.util.sfalogging.logger.error("Failed to load trusted cert from %s: %r", f, exc)
trusted_certs = ok_trusted_certs
# Use legacy verification if this is a legacy credential
# Maybe should be (hrn, type) = urn_to_hrn(root_cred_signer.get_urn())
root_cred_signer_type = root_cred_signer.get_type()
if (root_cred_signer_type == 'authority'):
- #logger.debug('Cred signer is an authority')
+ #sfa.util.sfalogging.logger.debug('Cred signer is an authority')
# signer is an authority, see if target is in authority's domain
hrn = root_cred_signer.get_hrn()
if root_target_gid.get_hrn().startswith(hrn):
from sfa.trust.rights import *
from sfa.trust.gid import *
from sfa.util.faults import *
-from sfa.util.sfalogging import *
##
# Credential is a tuple:
### $URL$
import xmlrpclib
import uuid
+
+import sfa.util.sfalogging
from sfa.trust.certificate import Certificate
from sfa.util.namespace import *
-from sfa.util.sfalogging import logger
##
# Create a new uuid. Returns the UUID as a string.
Certificate.__init__(self, create, subject, string, filename)
if subject:
- logger.debug("Creating GID for subject: %s" % subject)
+ sfa.util.sfalogging.logger.debug("Creating GID for subject: %s" % subject)
if uuid:
self.uuid = int(uuid)
if hrn:
import string
import xmlrpclib
+import sfa.util.sfalogging
from sfa.trust.auth import Auth
from sfa.util.config import *
from sfa.util.faults import *
from sfa.trust.credential import *
from sfa.trust.certificate import *
from sfa.util.namespace import *
-from sfa.util.sfalogging import *
# See "2.2 Characters" in the XML specification:
#
self.credential = None
self.source = None
self.time_format = "%Y-%m-%d %H:%M:%S"
- self.logger=get_sfa_logger()
+ self.logger=sfa.util.sfalogging.logger
# load registries
from sfa.server.registry import Registries
import xmlrpclib
+import sfa.util.sfalogging
from sfa.util.faults import *
from sfa.util.parameter import Parameter, Mixed, python_type, xmlrpc_type
from sfa.trust.auth import Auth
-from sfa.util.debug import profile, log
+#from sfa.util.debug import profile, log
# we inherit object because we use new-style classes for legacy methods
class Method (object):
runtime = time.time() - start
if self.api.config.SFA_API_DEBUG or hasattr(self, 'message'):
+ msg=getattr(self,'message',"method %s completed"%methodname)
+ sfa.util.sfalogging.logger.info(msg)
# XX print to some log file
# print >> log, "some output"
- pass
return result
# Prepend caller and method name to expected faults
fault.faultString = caller + ": " + self.name + ": " + fault.faultString
runtime = time.time() - start
-
- if self.api.config.SFA_API_DEBUG:
- traceback.print_exc()
+# if self.api.config.SFA_API_DEBUG:
+# traceback.print_exc()
+ sfa.util.sfalogging.log_exc("Method %s raised an exception"%self.name)
raise fault
import SimpleXMLRPCServer
from OpenSSL import SSL
from Queue import Queue
+
+#import sfa.util.sfalogging
from sfa.trust.certificate import Keypair, Certificate
from sfa.trust.credential import *
from sfa.util.faults import *
from sfa.plc.api import SfaAPI
from sfa.util.cache import Cache
-from sfa.util.debug import log
-from sfa.util.sfalogging import logger
+#from sfa.util.debug import log
##
# Verification callback for pyOpenSSL. We do our own checking of keys because
# we have our own authentication spec. Thus we disable several of the normal
import logging
import os
+import traceback
#SFA access log initialization
TMPDIR = os.getenv("TMPDIR", "/tmp")
SFA_HTTPD_ACCESS_LOGFILE = TMPDIR + "/" + 'sfa_httpd_access.log'
SFA_ACCESS_LOGFILE='/var/log/sfa_access.log'
logger=logging.getLogger()
-logger.setLevel(logging.INFO)
+#logger.setLevel(logging.INFO)
+logger.setLevel(logging.DEBUG)
try:
logfile=logging.FileHandler(SFA_ACCESS_LOGFILE)
# owned by root, but httpd is trying to access it.
logfile=logging.FileHandler(SFA_HTTPD_ACCESS_LOGFILE)
-formatter = logging.Formatter("%(asctime)s - %(message)s")
+formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
logfile.setFormatter(formatter)
logger.addHandler(logfile)
def get_sfa_logger():
return logger
+
+# logs an exception - use in an except statement
+def log_exc(message):
+ logger.error("%s BEG TRACEBACK"%message+"\n"+traceback.format_exc().strip("\n"))
+ logger.error("%s END TRACEBACK"%message)
+
+
+# for investigation purposes, can be placed anywhere
+def log_stack(message):
+ to_log="".join(traceback.format_stack())
+ logger.debug("%s BEG STACK"%message+"\n"+to_log)
+ logger.debug("%s END STACK"%message)
+
+