Beispiel #1
0
def sync_volumeslice_record(vs):
    """
    Synchronize a VolumeSlice record
    """
    logger.info("Sync VolumeSlice for (%s, %s)" % (vs.volume_id.name, vs.slice_id.name))

    # extract arguments...
    principal_id = vs.slice_id.creator.email
    slice_name = vs.slice_id.name
    volume_name = vs.volume_id.name
    syndicate_caps = observer_core.opencloud_caps_to_syndicate_caps(vs.cap_read_data, vs.cap_write_data, vs.cap_host_data)
    RG_port = vs.RG_portnum
    UG_port = vs.UG_portnum
    slice_secret = None
    gateway_name_prefix = None

    config = observer_core.get_config()
    try:
        observer_secret = observer_core.get_syndicate_observer_secret(config.SYNDICATE_OBSERVER_SECRET)
        RG_closure = config.SYNDICATE_RG_CLOSURE
        observer_pkey_path = config.SYNDICATE_OBSERVER_PRIVATE_KEY
        syndicate_url = config.SYNDICATE_SMI_URL
        gateway_name_prefix = config.SYNDICATE_GATEWAY_NAME_PREFIX
    except Exception, e:
        traceback.print_exc()
        logger.error("syndicatelib config is missing one or more of the following: SYNDICATE_OBSERVER_SECRET, SYNDICATE_RG_CLOSURE, SYNDICATE_OBSERVER_PRIVATE_KEY, SYNDICATE_SMI_URL")
        raise e
Beispiel #2
0
def sync_volume_record(volume):
    """
    Synchronize a Volume record with Syndicate.
    """
    logger.info("Sync Volume = %s\n\n" % volume.name)

    principal_id = volume.owner_id.email
    config = observer_core.get_config()

    max_UGs = None
    max_RGs = None
    volume_principal_id = observer_core.make_volume_principal_id(
        principal_id, volume.name)

    # get the observer secret
    try:
        max_UGs = CONFIG.SYNDICATE_UG_QUOTA
        max_RGs = CONFIG.SYNDICATE_RG_QUOTA
        observer_secret = observer_core.get_syndicate_observer_secret(
            config.SYNDICATE_OBSERVER_SECRET)
    except Exception, e:
        traceback.print_exc()
        logger.error(
            "config is missing SYNDICATE_OBSERVER_SECRET, SYNDICATE_UG_QUOTA, SYNDICATE_RG_QUOTA"
        )
        raise e
Beispiel #3
0
def sync_volumeslice_record(vs):
    """
    Synchronize a VolumeSlice record
    """
    logger.info("Sync VolumeSlice for (%s, %s)" %
                (vs.volume_id.name, vs.slice_id.name))

    # extract arguments...
    principal_id = vs.slice_id.creator.email
    slice_name = vs.slice_id.name
    volume_name = vs.volume_id.name
    syndicate_caps = observer_core.opencloud_caps_to_syndicate_caps(
        vs.cap_read_data, vs.cap_write_data, vs.cap_host_data)
    RG_port = vs.RG_portnum
    UG_port = vs.UG_portnum
    slice_secret = None
    gateway_name_prefix = None

    config = observer_core.get_config()
    try:
        observer_secret = observer_core.get_syndicate_observer_secret(
            config.SYNDICATE_OBSERVER_SECRET)
        RG_closure = config.SYNDICATE_RG_CLOSURE
        observer_pkey_path = config.SYNDICATE_OBSERVER_PRIVATE_KEY
        syndicate_url = config.SYNDICATE_SMI_URL
        gateway_name_prefix = config.SYNDICATE_GATEWAY_NAME_PREFIX
    except Exception, e:
        traceback.print_exc()
        logger.error(
            "syndicatelib config is missing one or more of the following: SYNDICATE_OBSERVER_SECRET, SYNDICATE_RG_CLOSURE, SYNDICATE_OBSERVER_PRIVATE_KEY, SYNDICATE_SMI_URL"
        )
        raise e
Beispiel #4
0
def sync_volumeaccessright_record(vac):
    """
    Synchronize a volume access record
    """
    syndicate_caps = "UNKNOWN"  # for exception handling

    # get arguments
    config = observer_core.get_config()
    principal_id = vac.owner_id.email
    volume_name = vac.volume.name
    syndicate_caps = observer_core.opencloud_caps_to_syndicate_caps(
        vac.cap_read_data, vac.cap_write_data, vac.cap_host_data)

    logger.info("Sync VolumeAccessRight for (%s, %s)" %
                (principal_id, volume_name))

    # validate config
    try:
        observer_secret = observer_core.get_syndicate_observer_secret(
            config.SYNDICATE_OBSERVER_SECRET)
    except Exception, e:
        traceback.print_exc()
        logger.error(
            "syndicatelib config is missing SYNDICATE_RG_DEFAULT_PORT, SYNDICATE_OBSERVER_SECRET"
        )
        raise e
Beispiel #5
0
def credential_server_spawn( old_exit_status ):
   """
   Start our credential server (i.e. in a separate process, started by the watchdog)
   """
   
   setproctitle.setproctitle( "syndicate-credential-server" )
   
   private_key = syndicate_storage_api.read_private_key( CONFIG.SYNDICATE_OBSERVER_PRIVATE_KEY )
   if private_key is None:
      # exit code 255 will be ignored...
      logger.error("Cannot load private key.  Exiting...")
      sys.exit(255)
   
   logger.info("Starting Syndicate Observer credential server on port %s" % CONFIG.SYNDICATE_OBSERVER_HTTP_PORT)
               
   srv = CredentialServer( private_key.exportKey(), observer_core.get_syndicate_observer_secret( CONFIG.SYNDICATE_OBSERVER_SECRET ), ('', CONFIG.SYNDICATE_OBSERVER_HTTP_PORT), CredentialServerHandler)
   srv.serve_forever()
Beispiel #6
0
def sync_volumeaccessright_record(vac):
    """
    Synchronize a volume access record
    """
    syndicate_caps = "UNKNOWN"  # for exception handling

    # get arguments
    config = observer_core.get_config()
    principal_id = vac.owner_id.email
    volume_name = vac.volume.name
    syndicate_caps = observer_core.opencloud_caps_to_syndicate_caps(vac.cap_read_data, vac.cap_write_data, vac.cap_host_data)

    logger.info("Sync VolumeAccessRight for (%s, %s)" % (principal_id, volume_name))

    # validate config
    try:
        observer_secret = observer_core.get_syndicate_observer_secret(config.SYNDICATE_OBSERVER_SECRET)
    except Exception, e:
        traceback.print_exc()
        logger.error("syndicatelib config is missing SYNDICATE_RG_DEFAULT_PORT, SYNDICATE_OBSERVER_SECRET")
        raise e
Beispiel #7
0
def sync_volume_record(volume):
    """
    Synchronize a Volume record with Syndicate.
    """
    logger.info("Sync Volume = %s\n\n" % volume.name)

    principal_id = volume.owner_id.email
    config = observer_core.get_config()

    max_UGs = None
    max_RGs = None
    volume_principal_id = observer_core.make_volume_principal_id(principal_id, volume.name)

    # get the observer secret
    try:
        max_UGs = CONFIG.SYNDICATE_UG_QUOTA
        max_RGs = CONFIG.SYNDICATE_RG_QUOTA
        observer_secret = observer_core.get_syndicate_observer_secret(config.SYNDICATE_OBSERVER_SECRET)
    except Exception, e:
        traceback.print_exc()
        logger.error("config is missing SYNDICATE_OBSERVER_SECRET, SYNDICATE_UG_QUOTA, SYNDICATE_RG_QUOTA")
        raise e
def credential_server_spawn(old_exit_status):
    """
   Start our credential server (i.e. in a separate process, started by the watchdog)
   """

    setproctitle.setproctitle("syndicate-credential-server")

    private_key = syndicate_storage_api.read_private_key(
        CONFIG.SYNDICATE_OBSERVER_PRIVATE_KEY)
    if private_key is None:
        # exit code 255 will be ignored...
        logger.error("Cannot load private key.  Exiting...")
        sys.exit(255)

    logger.info("Starting Syndicate Observer credential server on port %s" %
                CONFIG.SYNDICATE_OBSERVER_HTTP_PORT)

    srv = CredentialServer(
        private_key.exportKey(),
        observer_core.get_syndicate_observer_secret(
            CONFIG.SYNDICATE_OBSERVER_SECRET),
        ('', CONFIG.SYNDICATE_OBSERVER_HTTP_PORT), CredentialServerHandler)
    srv.serve_forever()