Search in sources :

Example 1 with Perspective

use of org.onosproject.openstacknode.api.OpenstackAuth.Perspective in project onos by opennetworkinglab.

the class OpenstackNetworkingUtil method getConnectedClient.

/**
 * Obtains a connected openstack client.
 *
 * @param osNode openstack node
 * @return a connected openstack client
 */
public static OSClient getConnectedClient(OpenstackNode osNode) {
    OpenstackAuth auth = osNode.keystoneConfig().authentication();
    String endpoint = buildEndpoint(osNode);
    Perspective perspective = auth.perspective();
    Config config = getSslConfig();
    try {
        if (endpoint.contains(KEYSTONE_V2)) {
            IOSClientBuilder.V2 builder = OSFactory.builderV2().endpoint(endpoint).tenantName(auth.project()).credentials(auth.username(), auth.password()).withConfig(config);
            if (perspective != null) {
                builder.perspective(getFacing(perspective));
            }
            return builder.authenticate();
        } else if (endpoint.contains(KEYSTONE_V3)) {
            Identifier project = Identifier.byName(auth.project());
            Identifier domain = Identifier.byName(DOMAIN_DEFAULT);
            IOSClientBuilder.V3 builder = OSFactory.builderV3().endpoint(endpoint).credentials(auth.username(), auth.password(), domain).scopeToProject(project, domain).withConfig(config);
            if (perspective != null) {
                builder.perspective(getFacing(perspective));
            }
            return builder.authenticate();
        } else {
            log.warn("Unrecognized keystone version type");
            return null;
        }
    } catch (AuthenticationException e) {
        log.error("Authentication failed due to {}", e);
        return null;
    }
}
Also used : OpenstackAuth(org.onosproject.openstacknode.api.OpenstackAuth) Perspective(org.onosproject.openstacknode.api.OpenstackAuth.Perspective) Identifier(org.openstack4j.model.common.Identifier) IOSClientBuilder(org.openstack4j.api.client.IOSClientBuilder) AuthenticationException(org.openstack4j.api.exceptions.AuthenticationException) Config(org.openstack4j.core.transport.Config)

Example 2 with Perspective

use of org.onosproject.openstacknode.api.OpenstackAuth.Perspective in project onos by opennetworkinglab.

the class OpenstackNodeUtil method getConnectedClient.

/**
 * Obtains a connected openstack client.
 *
 * @param osNode openstack node
 * @return a connected openstack client
 */
public static OSClient getConnectedClient(OpenstackNode osNode) {
    OpenstackAuth auth = osNode.keystoneConfig().authentication();
    String endpoint = buildEndpoint(osNode);
    Perspective perspective = auth.perspective();
    Config config = getSslConfig();
    try {
        if (endpoint.contains(KEYSTONE_V2)) {
            IOSClientBuilder.V2 builder = OSFactory.builderV2().endpoint(endpoint).tenantName(auth.project()).credentials(auth.username(), auth.password()).withConfig(config);
            if (perspective != null) {
                builder.perspective(getFacing(perspective));
            }
            return builder.authenticate();
        } else if (endpoint.contains(KEYSTONE_V3)) {
            Identifier project = Identifier.byName(auth.project());
            Identifier domain = Identifier.byName(DOMAIN_DEFAULT);
            IOSClientBuilder.V3 builder = OSFactory.builderV3().endpoint(endpoint).credentials(auth.username(), auth.password(), domain).scopeToProject(project, domain).withConfig(config);
            if (perspective != null) {
                builder.perspective(getFacing(perspective));
            }
            return builder.authenticate();
        } else {
            log.warn("Unrecognized keystone version type");
            return null;
        }
    } catch (AuthenticationException e) {
        log.error("Authentication failed due to {}", e);
        return null;
    }
}
Also used : OpenstackAuth(org.onosproject.openstacknode.api.OpenstackAuth) Perspective(org.onosproject.openstacknode.api.OpenstackAuth.Perspective) Identifier(org.openstack4j.model.common.Identifier) IOSClientBuilder(org.openstack4j.api.client.IOSClientBuilder) AuthenticationException(org.openstack4j.api.exceptions.AuthenticationException) Config(org.openstack4j.core.transport.Config) BridgeConfig(org.onosproject.net.behaviour.BridgeConfig)

Aggregations

OpenstackAuth (org.onosproject.openstacknode.api.OpenstackAuth)2 Perspective (org.onosproject.openstacknode.api.OpenstackAuth.Perspective)2 IOSClientBuilder (org.openstack4j.api.client.IOSClientBuilder)2 AuthenticationException (org.openstack4j.api.exceptions.AuthenticationException)2 Config (org.openstack4j.core.transport.Config)2 Identifier (org.openstack4j.model.common.Identifier)2 BridgeConfig (org.onosproject.net.behaviour.BridgeConfig)1