Search in sources :

Example 1 with NiciraNvpBindingConfig

use of com.cloud.network.nicira.NiciraNvpBindingConfig in project cosmic by MissionCriticalCloud.

the class NiciraNvpCreateLogicalSwitchCommandWrapper method execute.

@Override
public Answer execute(final CreateLogicalSwitchCommand command, final NiciraNvpResource niciraNvpResource) {
    final NiciraNvpUtilities niciraNvpUtilities = niciraNvpResource.getNiciraNvpUtilities();
    LogicalSwitch logicalSwitch = niciraNvpUtilities.createLogicalSwitch();
    logicalSwitch.setDisplayName(niciraNvpResource.truncate("lswitch-" + command.getName(), NiciraNvpResource.NAME_MAX_LEN));
    logicalSwitch.setPortIsolationEnabled(false);
    // Set transport binding
    final List<TransportZoneBinding> ltzb = new ArrayList<>();
    final List<NiciraNvpVxlanTransport> vxlanTransport = new ArrayList<>();
    vxlanTransport.add(new NiciraNvpVxlanTransport(command.getVni()));
    final NiciraNvpBindingConfig bindingConfig = new NiciraNvpBindingConfig(vxlanTransport);
    ltzb.add(new TransportZoneBinding(command.getTransportUuid(), command.getTransportType(), bindingConfig));
    logicalSwitch.setTransportZones(ltzb);
    // Tags set to scope cs_account and account name
    final List<NiciraNvpTag> tags = new ArrayList<>();
    tags.add(new NiciraNvpTag("cs_account", command.getOwnerName()));
    logicalSwitch.setTags(tags);
    try {
        final NiciraNvpApi niciraNvpApi = niciraNvpResource.getNiciraNvpApi();
        logicalSwitch = niciraNvpApi.createLogicalSwitch(logicalSwitch);
        final String switchUuid = logicalSwitch.getUuid();
        return new CreateLogicalSwitchAnswer(command, true, "Logicalswitch " + switchUuid + " created", switchUuid);
    } catch (final NiciraNvpApiException e) {
        final CommandRetryUtility retryUtility = niciraNvpResource.getRetryUtility();
        retryUtility.addRetry(command, NUM_RETRIES);
        return retryUtility.retry(command, CreateLogicalSwitchAnswer.class, e);
    }
}
Also used : NiciraNvpVxlanTransport(com.cloud.network.nicira.NiciraNvpVxlanTransport) CreateLogicalSwitchAnswer(com.cloud.agent.api.CreateLogicalSwitchAnswer) NiciraNvpUtilities(com.cloud.network.resource.NiciraNvpUtilities) LogicalSwitch(com.cloud.network.nicira.LogicalSwitch) ArrayList(java.util.ArrayList) TransportZoneBinding(com.cloud.network.nicira.TransportZoneBinding) NiciraNvpTag(com.cloud.network.nicira.NiciraNvpTag) NiciraNvpApi(com.cloud.network.nicira.NiciraNvpApi) NiciraNvpBindingConfig(com.cloud.network.nicira.NiciraNvpBindingConfig) CommandRetryUtility(com.cloud.network.utils.CommandRetryUtility) NiciraNvpApiException(com.cloud.network.nicira.NiciraNvpApiException)

Aggregations

CreateLogicalSwitchAnswer (com.cloud.agent.api.CreateLogicalSwitchAnswer)1 LogicalSwitch (com.cloud.network.nicira.LogicalSwitch)1 NiciraNvpApi (com.cloud.network.nicira.NiciraNvpApi)1 NiciraNvpApiException (com.cloud.network.nicira.NiciraNvpApiException)1 NiciraNvpBindingConfig (com.cloud.network.nicira.NiciraNvpBindingConfig)1 NiciraNvpTag (com.cloud.network.nicira.NiciraNvpTag)1 NiciraNvpVxlanTransport (com.cloud.network.nicira.NiciraNvpVxlanTransport)1 TransportZoneBinding (com.cloud.network.nicira.TransportZoneBinding)1 NiciraNvpUtilities (com.cloud.network.resource.NiciraNvpUtilities)1 CommandRetryUtility (com.cloud.network.utils.CommandRetryUtility)1 ArrayList (java.util.ArrayList)1