예제 #1
0
def SMDS_authentication( logfile="/tmp/SMDS_login.log" ):
    """
    Authenticate with the Syndicate metadata service
    """
    logger.init( open(logfile, "a") )
    
    def SMDS_auth_aux(username, password):
      
      api = MDAPI()
      
      user = None
      try:
         user = auth_user_from_email( api, username )
      except Exception, e:
         logger.error( "User '%s' could not be authenticated (exception = %s)" % (username, e) )
         return False
      
      
      rc = False
      auth_struct = {'AuthMethod': 'password', 'Username': user['username'], 'AuthString': password}
      
      try:
         rc = auth_password_check( api, auth_struct, user, None )
      except Exception, e:
         logger.error( "User '%s' failed to authenticate" % username)
예제 #2
0
def SMDS_authentication(logfile="/tmp/SMDS_login.log"):
    """
    Authenticate with the Syndicate metadata service
    """
    logger.init(open(logfile, "a"))

    def SMDS_auth_aux(username, password):

        api = MDAPI()

        user = None
        try:
            user = auth_user_from_email(api, username)
        except Exception, e:
            logger.error(
                "User '%s' could not be authenticated (exception = %s)" %
                (username, e))
            return False

        rc = False
        auth_struct = {
            'AuthMethod': 'password',
            'Username': user['username'],
            'AuthString': password
        }

        try:
            rc = auth_password_check(api, auth_struct, user, None)
        except Exception, e:
            logger.error("User '%s' failed to authenticate" % username)
예제 #3
0
def init():
    global conf
    global ms_portset
    global vol_id_counter
    global uid_counter

    logger.init()
    conf = read_config("/etc/syndicate/syndicate-metadata-service.conf")
    ctl_root = conf['MD_CTL_DIR']

    if not os.path.isdir(os.path.join(ctl_root, "volumes")):
        os.makedirs(os.path.join(ctl_root, "volumes"))

    ms_portset = PortSet(conf['MD_CTL_PORT_LOW'], conf['MD_CTL_PORT_HIGH'])
    ms_portset.load(conf)

    vol_id_counter = AtomicCounter(1, os.path.join(ctl_root, "volid"))
    uid_counter = AtomicCounter(10000, os.path.join(ctl_root, "uid"))
예제 #4
0
def init():
   global conf
   global ms_portset
   global vol_id_counter
   global uid_counter

   logger.init()
   conf = read_config( "/etc/syndicate/syndicate-metadata-service.conf" )
   ctl_root = conf['MD_CTL_DIR']
   
   if not os.path.isdir( os.path.join(ctl_root, "volumes") ):
      os.makedirs( os.path.join(ctl_root, "volumes") )

   ms_portset = PortSet( conf['MD_CTL_PORT_LOW'], conf['MD_CTL_PORT_HIGH'] )
   ms_portset.load( conf )
   
   vol_id_counter = AtomicCounter( 1, os.path.join( ctl_root, "volid" ) )
   uid_counter = AtomicCounter( 10000, os.path.join( ctl_root, "uid" ) )
예제 #5
0
#!/usr/bin/python

import sys
sys.path.append("/usr/share/SMDS")

import SMDS.mdapi
import SMDS.logger as logger
logger.init()

api = SMDS.mdapi.MDAPI()
rc = api.bootstrap_node( "/home/jude/.ssh/id_rsa", "princeton_syndicate", "planetlab2.arizona-gigapop.net", True )
print rc
예제 #6
0

# Defaults
addr = "localhost"
port = 8888
config = "/etc/syndicate/syndicate-metadata-service.conf"

def usage():
    print "Usage: %s [OPTION]..." % sys.argv[0]
    print "Options:"
    print "     -p PORT, --port=PORT    TCP port number to listen on (default: %d)" % port
    print "     -F FILE, --cconfig=FILE COB configuration file (default: %s)" % config
    print "     -h, --help              This message"
    sys.exit(1)

logger.init()

# Get options
try:
    (opts, argv) = getopt.getopt(sys.argv[1:], "p:f:F:h", ["port=", "pconfig=", "config=", "help"])
except getopt.GetoptError, err:
    print "Error: " + err.msg
    usage()

for (opt, optval) in opts:
    if opt == "-p" or opt == "--port":
        try:
            port = int(optval)
        except ValueError:
            usage()
    elif opt == "-f" or opt == "--config":
예제 #7
0
from gluon import *
from gluon.fileutils import read_file
from gluon.html import *

import gluon.serializers
import gluon.contrib.simplejson as simplejson

from SMDS.mdapi import MDAPI
from SMDS.auth import auth_user_from_email, auth_password_check
from SMDS.user import *
from SMDS.web2py.extras import SMDS_validators
import SMDS.logger as logger

from gluon.tools import Auth as GluonAuth

logger.init( "/tmp/SMDS_Auth.log" )

DEFAULT = lambda: None

def callback(actions,form,tablename=None):
    if actions:
        if tablename and isinstance(actions,dict):
            actions = actions.get(tablename, [])
        if not isinstance(actions,(list, tuple)):
            actions = [actions]
        [action(form) for action in actions]

def validators(*a):
    b = []
    for item in a:
        if isinstance(item, (list, tuple)):
예제 #8
0
from gluon import *
from gluon.fileutils import read_file
from gluon.html import *

import gluon.serializers
import gluon.contrib.simplejson as simplejson

from SMDS.mdapi import MDAPI
from SMDS.auth import auth_user_from_email, auth_password_check
from SMDS.user import *
from SMDS.web2py.extras import SMDS_validators
import SMDS.logger as logger

from gluon.tools import Auth as GluonAuth

logger.init("/tmp/SMDS_Auth.log")

DEFAULT = lambda: None


def callback(actions, form, tablename=None):
    if actions:
        if tablename and isinstance(actions, dict):
            actions = actions.get(tablename, [])
        if not isinstance(actions, (list, tuple)):
            actions = [actions]
        [action(form) for action in actions]


def validators(*a):
    b = []