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());
}
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.");
}
}
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.");
}
}
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.");
}
}
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.");
}
}
Aggregations