예제 #1
0
def add_resource_label(label, resource, policyref, policy_type):
    """Adds a resource label to the global resource label file.
    """

    if xm_main.serverType != xm_main.SERVER_XEN_API:
        old = server.xend.security.get_resource_label(resource)
        if len(old) == 0:
            try:
                rc = server.xend.security.set_resource_label(
                    resource, policy_type, policyref, label)
            except Exception, e:
                raise
            if rc != xsconstants.XSERR_SUCCESS:
                security.err("An error occurred labeling the resource: %s" % \
                             xsconstants.xserr2string(-rc))
        else:
            old = security.format_resource_label(old)
            security.err("'%s' is already labeled with '%s'." % \
                         (resource,old))
예제 #2
0
def add_resource_label(label, resource, policyref, policy_type):
    """Adds a resource label to the global resource label file.
    """

    if xm_main.serverType != xm_main.SERVER_XEN_API:
        old = server.xend.security.get_resource_label(resource)
        if len(old) == 0:
            try:
                rc = server.xend.security.set_resource_label(resource,
                                                             policy_type,
                                                             policyref,
                                                             label)
            except Exception, e:
                raise
            if rc != xsconstants.XSERR_SUCCESS:
                security.err("An error occurred labeling the resource: %s" % \
                             xsconstants.xserr2string(-rc))
        else:
            old = security.format_resource_label(old)
            security.err("'%s' is already labeled with '%s'." % \
                         (resource,old))
예제 #3
0
                rc = server.xend.security.set_resource_label(resource,
                                                             policy_type,
                                                             policyref,
                                                             label)
            except Exception, e:
                raise
            if rc != xsconstants.XSERR_SUCCESS:
                security.err("An error occurred labeling the resource: %s" % \
                             xsconstants.xserr2string(-rc))
        else:
            old = security.format_resource_label(old)
            security.err("'%s' is already labeled with '%s'." % \
                         (resource,old))
    else:
        res = [ policy_type, policyref, label ]
        res_xapi = security.format_resource_label(res)
        old = server.xenapi.XSPolicy.get_resource_label(resource)
        if old == "":
            try:
                server.xenapi.XSPolicy.set_resource_label(resource,
                                                          res_xapi,
                                                          "")
            except Exception, e:
                raise security.XSMError("Could not label this resource: %s" %
                                        str(e))
        else:
            raise security.XSMError("'%s' is already labeled with '%s'" %
                                    (resource,old))

def add_domain_label(label, configfile, policyref):
    # sanity checks: make sure this label can be instantiated later on
예제 #4
0
        if len(old) == 0:
            try:
                rc = server.xend.security.set_resource_label(
                    resource, policy_type, policyref, label)
            except Exception, e:
                raise
            if rc != xsconstants.XSERR_SUCCESS:
                security.err("An error occurred labeling the resource: %s" % \
                             xsconstants.xserr2string(-rc))
        else:
            old = security.format_resource_label(old)
            security.err("'%s' is already labeled with '%s'." % \
                         (resource,old))
    else:
        res = [policy_type, policyref, label]
        res_xapi = security.format_resource_label(res)
        old = server.xenapi.XSPolicy.get_resource_label(resource)
        if old == "":
            try:
                server.xenapi.XSPolicy.set_resource_label(
                    resource, res_xapi, "")
            except Exception, e:
                raise security.XSMError("Could not label this resource: %s" %
                                        str(e))
        else:
            raise security.XSMError("'%s' is already labeled with '%s'" %
                                    (resource, old))


def add_domain_label(label, configfile, policyref):
    # sanity checks: make sure this label can be instantiated later on