Search in sources :

Example 1 with NeutronNetworksNorthboundAction

use of org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction in project cloudstack by apache.

the class OpenDaylightControllerResource method executeRequest.

private Answer executeRequest(ConfigureNetworkCommand cmd) {
    NeutronNetworksNorthboundAction configureNetwork = new NeutronNetworksNorthboundAction(controllerUrl, controllerUsername, controllerPassword);
    // Find free gre key
    int gre_key = -1;
    Random keyGenerator = new Random(System.currentTimeMillis());
    try {
        NeutronNetworksList<NeutronNetwork> networks = configureNetwork.listAllNetworks();
        while (true) {
            int i = keyGenerator.nextInt();
            for (NeutronNetwork network : networks.getNetworks()) {
                if (network.getSegmentationId() == i) {
                    continue;
                }
            }
            gre_key = i;
            break;
        }
    } catch (NeutronRestApiException e) {
        s_logger.error("Failed to list existing networks on the ODL Controller", e);
        return new ConfigureNetworkAnswer(cmd, e);
    }
    NeutronNetwork newNetwork = new NeutronNetwork();
    // Configuration from the command
    newNetwork.setName(cmd.getName());
    newNetwork.setTenantId(cmd.getTenantId());
    // Static configuation
    newNetwork.setNetworkType("gre");
    newNetwork.setShared(false);
    newNetwork.setSegmentationId(gre_key);
    newNetwork.setId(UUID.randomUUID());
    NeutronNetworkWrapper wrapper = new NeutronNetworkWrapper();
    wrapper.setNetwork(newNetwork);
    try {
        wrapper = configureNetwork.createNeutronNetwork(wrapper);
    } catch (NeutronRestApiException e) {
        s_logger.error("createNeutronNetwork failed", e);
        return new ConfigureNetworkAnswer(cmd, e);
    }
    return new ConfigureNetworkAnswer(cmd, true, null, wrapper.getNetwork().getId().toString());
}
Also used : NeutronNetwork(org.apache.cloudstack.network.opendaylight.api.model.NeutronNetwork) Random(java.util.Random) ConfigureNetworkAnswer(org.apache.cloudstack.network.opendaylight.agent.responses.ConfigureNetworkAnswer) NeutronRestApiException(org.apache.cloudstack.network.opendaylight.api.NeutronRestApiException) NeutronNetworkWrapper(org.apache.cloudstack.network.opendaylight.api.model.NeutronNetworkWrapper) NeutronNetworksNorthboundAction(org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction)

Example 2 with NeutronNetworksNorthboundAction

use of org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction in project cloudstack by apache.

the class NeutronRestApiIT method neutronListAllNetworks.

@Test
public void neutronListAllNetworks() throws NeutronRestApiException {
    URL url;
    try {
        url = new URL("http://178.237.34.233:8080");
        NeutronNetworksNorthboundAction neutron = new NeutronNetworksNorthboundAction(url, "admin", "admin");
        NeutronNetworksList<NeutronNetworkWrapper> results = neutron.listAllNetworks();
        Assert.assertNotNull(results);
        List<NeutronNetworkWrapper> networks = results.getNetworks();
        Assert.assertNotNull(networks);
    } catch (MalformedURLException e) {
        Assert.fail("Should not fail here.");
    }
}
Also used : MalformedURLException(java.net.MalformedURLException) NeutronNetworkWrapper(org.apache.cloudstack.network.opendaylight.api.model.NeutronNetworkWrapper) URL(java.net.URL) NeutronNetworksNorthboundAction(org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction) Test(org.junit.Test)

Example 3 with NeutronNetworksNorthboundAction

use of org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction in project cloudstack by apache.

the class NeutronRestApiMock method neutronHTTPDeleteMethod.

/*
     * Test fails because there is no controller. It's used only to test that
     * the HTTP methods are correct.
     */
@Test(expected = NeutronRestApiException.class)
public void neutronHTTPDeleteMethod() throws NeutronRestApiException {
    URL url;
    try {
        url = new URL("http://127.0.0.1:8080");
        NeutronNetworksNorthboundAction neutron = new NeutronNetworksNorthboundAction(url, "admin", "admin");
        neutron.deleteNeutronNetwork("0AACEED5-A688-429A-92FC-E1C9E4EEEE98");
    } catch (MalformedURLException e) {
        Assert.fail("Should not fail here.");
    }
}
Also used : MalformedURLException(java.net.MalformedURLException) URL(java.net.URL) NeutronNetworksNorthboundAction(org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction) Test(org.junit.Test)

Example 4 with NeutronNetworksNorthboundAction

use of org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction in project cloudstack by apache.

the class NeutronRestApiMock method neutronNetworksFail.

@Test(expected = NeutronRestApiException.class)
public void neutronNetworksFail() throws NeutronRestApiException {
    URL url;
    try {
        url = new URL("http://localhost:8080");
        NeutronNetworksNorthboundAction neutron = new NeutronNetworksNorthboundAction(url, "admin", "admin");
        neutron.listAllNetworks();
    } catch (MalformedURLException e) {
        Assert.fail("Should not fail here.");
    }
}
Also used : MalformedURLException(java.net.MalformedURLException) URL(java.net.URL) NeutronNetworksNorthboundAction(org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction) Test(org.junit.Test)

Example 5 with NeutronNetworksNorthboundAction

use of org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction in project cloudstack by apache.

the class NeutronRestApiMock method neutronHTTPGetMethod.

/*
     * Test fails because there is no controller. It's used only to test that
     * the HTTP methods are correct.
     */
@Test(expected = NeutronRestApiException.class)
public void neutronHTTPGetMethod() throws NeutronRestApiException {
    URL url;
    try {
        url = new URL("http://localhost:8080");
        NeutronNetworksNorthboundAction neutron = new NeutronNetworksNorthboundAction(url, "admin", "admin");
        neutron.listAllNetworks();
    } catch (MalformedURLException e) {
        Assert.fail("Should not fail here.");
    }
}
Also used : MalformedURLException(java.net.MalformedURLException) URL(java.net.URL) NeutronNetworksNorthboundAction(org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction) Test(org.junit.Test)

Aggregations

NeutronNetworksNorthboundAction (org.apache.cloudstack.network.opendaylight.api.resources.NeutronNetworksNorthboundAction)8 MalformedURLException (java.net.MalformedURLException)7 URL (java.net.URL)7 Test (org.junit.Test)7 NeutronNetworkWrapper (org.apache.cloudstack.network.opendaylight.api.model.NeutronNetworkWrapper)4 NeutronNetwork (org.apache.cloudstack.network.opendaylight.api.model.NeutronNetwork)3 Random (java.util.Random)1 ConfigureNetworkAnswer (org.apache.cloudstack.network.opendaylight.agent.responses.ConfigureNetworkAnswer)1 NeutronRestApiException (org.apache.cloudstack.network.opendaylight.api.NeutronRestApiException)1