def delete_volumeslice_record(vs): """ Unmount a volume from a slice. That is, prevent the slice from mounting it, by revoking the slice's principal's permissions and deleting its gateways. """ principal_id = vs.slice_id.creator.email slice_name = vs.slice_id.name volume_name = vs.volume_id.name slice_principal_id = observer_core.make_slice_principal_id(principal_id, slice_name) try: observer_core.revoke_volume_access(slice_principal_id, volume_name) except Exception, e: traceback.print_exc() logger.error("Failed to remove slice principal %s from %s" % (slice_principal_id, volume_name)) raise e
def delete_volumeslice_record(vs): """ Unmount a volume from a slice. That is, prevent the slice from mounting it, by revoking the slice's principal's permissions and deleting its gateways. """ principal_id = vs.slice_id.creator.email slice_name = vs.slice_id.name volume_name = vs.volume_id.name slice_principal_id = observer_core.make_slice_principal_id( principal_id, slice_name) try: observer_core.revoke_volume_access(slice_principal_id, volume_name) except Exception, e: traceback.print_exc() logger.error("Failed to remove slice principal %s from %s" % (slice_principal_id, volume_name)) raise e
# get secrets... try: observer_pkey_pem = observer_core.get_observer_private_key_pem(observer_pkey_path) assert observer_pkey_pem is not None, "Failed to load Observer private key" # get/create the slice secret slice_secret = observer_core.get_or_create_slice_secret(observer_pkey_pem, slice_name) assert slice_secret is not None, "Failed to get or create slice secret for %s" % slice_name except Exception, e: traceback.print_exc() logger.error("Failed to load secret credentials") raise e # make sure there's a slice-controlled Syndicate user account for the slice owner slice_principal_id = observer_core.make_slice_principal_id(principal_id, slice_name) try: rc, user = observer_core.ensure_principal_exists(slice_principal_id, observer_secret, is_admin=False, max_UGs=1100, max_RGs=1) assert rc is True, "Failed to ensure principal %s exists (rc = %s,%s)" % (slice_principal_id, rc, user) except Exception, e: traceback.print_exc() logger.error('Failed to ensure slice user %s exists' % slice_principal_id) raise e # grant the slice-owning user the ability to provision UGs in this Volume try: rc = observer_core.ensure_volume_access_right_exists(slice_principal_id, volume_name, syndicate_caps) assert rc is True, "Failed to set up Volume access right for slice %s in %s" % (slice_principal_id, volume_name) except Exception, e:
observer_pkey_pem = observer_core.get_observer_private_key_pem( observer_pkey_path) assert observer_pkey_pem is not None, "Failed to load Observer private key" # get/create the slice secret slice_secret = observer_core.get_or_create_slice_secret( observer_pkey_pem, slice_name) assert slice_secret is not None, "Failed to get or create slice secret for %s" % slice_name except Exception, e: traceback.print_exc() logger.error("Failed to load secret credentials") raise e # make sure there's a slice-controlled Syndicate user account for the slice owner slice_principal_id = observer_core.make_slice_principal_id( principal_id, slice_name) try: rc, user = observer_core.ensure_principal_exists(slice_principal_id, observer_secret, is_admin=False, max_UGs=1100, max_RGs=1) assert rc is True, "Failed to ensure principal %s exists (rc = %s,%s)" % ( slice_principal_id, rc, user) except Exception, e: traceback.print_exc() logger.error('Failed to ensure slice user %s exists' % slice_principal_id) raise e