/** * No-parameters constructor used when updating. */ private Builder() { subnet = new Subnet(); }
HostRoute.builder().destinationCidr("192.168.100.0/30").nextHop("192.168.100.4").build() ); Subnet subnet = subnetApi.create(Subnet.createBuilder(networkId, "192.168.100.0/30").ipVersion(4).allocationPools(allocationPools).hostRoutes(hostRoutes).build()); assertNotNull(subnet); Subnet subnetGet = api.getSubnetApi(region).get(subnetList.getId()); assertEquals(subnetList, subnetGet); Subnet retrievedSubnet = subnetApi.get(subnet.getId()); assertEquals(retrievedSubnet.getId(), subnet.getId()); assertEquals(retrievedSubnet.getCidr(), "192.168.100.0/30"); assertTrue(retrievedSubnet.getDnsNameservers().isEmpty()); assertEquals(retrievedSubnet.getAllocationPools().size(), 1); assertEquals(retrievedSubnet.getHostRoutes().size(), 1); assertNotNull(subnetApi.update(retrievedSubnet.getId(), Subnet.updateBuilder().name("jclouds-live-test-update").build())); retrievedSubnet = subnetApi.get(retrievedSubnet.getId()); assertEquals(retrievedSubnet.getId(), subnet.getId()); assertEquals(retrievedSubnet.getName(), "jclouds-live-test-update"); assertTrue(retrievedSubnet.getDnsNameservers().isEmpty()); assertTrue(subnetApi.delete(subnet.getId())); assertTrue(networkApi.delete(networkId));
SubnetApi api = neutronApi.getSubnetApi("RegionOne"); Subnet.CreateSubnet createSubnet1 = Subnet.createBuilder("e6031bc2-901a-4c66-82da-f4c32ed89406", "192.168.199.0/24") .ipVersion(4) .build(); Subnet.CreateSubnet createSubnet2 = Subnet.createBuilder("64239a54-dcc4-4b39-920b-b37c2144effa", "10.56.4.0/22") .ipVersion(4) assertEquals(subnets.get(0).getName(), ""); assertEquals(subnets.get(0).getIpVersion().intValue(), 4); assertEquals(subnets.get(0).getCidr(), "192.168.199.0/24"); assertTrue(subnets.get(0).getDnsNameservers().isEmpty()); assertTrue(subnets.get(0).getEnableDhcp()); assertTrue(subnets.get(0).getHostRoutes().isEmpty()); assertEquals(subnets.get(0).getTenantId(), "d19231fc08ec4bc4829b668040d34512"); assertEquals(subnets.get(0).getId(), "0468a7a7-290d-4127-aedd-6c9449775a24"); assertEquals(subnets.get(0).getNetworkId(), "e6031bc2-901a-4c66-82da-f4c32ed89406"); assertEquals(subnets.get(0).getAllocationPools().iterator().next().getStart(), "192.168.199.2"); assertEquals(subnets.get(0).getAllocationPools().iterator().next().getEnd(), "192.168.199.254"); } finally { server.shutdown();
public void testCreateSubnet() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(201).setBody(stringFromResource("/subnet_create_response.json")))); try { NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); SubnetApi api = neutronApi.getSubnetApi("RegionOne"); Subnet.CreateSubnet createSubnet = Subnet.createBuilder("1234567890", "10.0.3.0/24") .name("jclouds-wibble") .ipVersion(4) .build(); Subnet subnet = api.create(createSubnet); /* * Check request */ assertAuthentication(server); assertRequest(server.takeRequest(), "POST", uriApiVersion + "/subnets", "/subnet_create_request.json"); /* * Check response */ assertNotNull(subnet); assertEquals(subnet.getName(), "jclouds-wibble"); assertEquals(subnet.getIpVersion().intValue(), 4); assertEquals(subnet.getCidr(), "10.0.3.0/24"); assertEquals(subnet.getTenantId(), "1234567890"); assertEquals(subnet.getId(), "624312ff-d14b-4ba3-9834-1c78d23d574d"); } finally { server.shutdown(); } }
public void testBulkCreateSubnet() { for (String region : api.getConfiguredRegions()) { NetworkApi networkApi = api.getNetworkApi(region); String networkId = networkApi.create(Network.createBuilder("jclouds-live-test").networkType(NetworkType.LOCAL).build()).getId(); SubnetApi subnetApi = api.getSubnetApi(region); Set<? extends Subnet> subnets = subnetApi.createBulk( ImmutableList.of( Subnet.createBuilder("jclouds-live-test-1", "a3:bd01::/48").ipVersion(6).networkId(networkId).build(), Subnet.createBuilder("jclouds-live-test-2", "a3:bd02::/48").ipVersion(6).networkId(networkId).build(), Subnet.createBuilder("jclouds-live-test-3", "a3:bd03::/48").ipVersion(6).networkId(networkId).build() ) ).toSet(); Set<Subnet> existingSubnets = subnetApi.list().concat().toSet(); assertNotNull(subnets); assertTrue(!subnets.isEmpty()); assertEquals(subnets.size(), 3); for (Subnet net : subnets) { Predicate<Subnet> idEqualsPredicate = PredicateUtil.createIdEqualsPredicate(net.getId()); assertEquals(1, Sets.filter(existingSubnets, idEqualsPredicate).size()); assertTrue(subnetApi.delete(net.getId())); } assertTrue(networkApi.delete(networkId)); } } }
public void testUpdateSubnet() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/subnet_update_response.json")))); try { NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); SubnetApi api = neutronApi.getSubnetApi("RegionOne"); Subnet.UpdateSubnet updateSubnet = Subnet.updateBuilder() .name("new_name") .gatewayIp("10.0.3.254") .build(); Subnet subnet = api.update("12345", updateSubnet); /* * Check request */ assertEquals(server.getRequestCount(), 2); assertAuthentication(server); assertRequest(server.takeRequest(), "PUT", uriApiVersion + "/subnets/12345", "/subnet_update_request.json"); /* * Check response */ assertNotNull(subnet); assertEquals(subnet.getName(), "new_name"); assertEquals(subnet.getId(), "9436e561-47bf-436a-b1f1-fe23a926e031"); assertEquals(subnet.getTenantId(), "c1210485b2424d48804aad5d39c61b8f"); } finally { server.shutdown(); } }
public void testGetSubnet() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/subnet_get_response.json")))); try { NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); SubnetApi api = neutronApi.getSubnetApi("RegionOne"); Subnet subnet = api.get("12345"); /* * Check request */ assertEquals(server.getRequestCount(), 2); assertAuthentication(server); assertRequest(server.takeRequest(), "GET", uriApiVersion + "/subnets/12345"); /* * Check response */ assertNotNull(subnet); assertEquals(subnet.getName(), "jclouds-wibble"); assertEquals(subnet.getId(), "624312ff-d14b-4ba3-9834-1c78d23d574d"); assertEquals(subnet.getTenantId(), "1234567890"); assertEquals(subnet.getIPv6AddressMode(), IPv6DHCPMode.SLAAC); } finally { server.shutdown(); } }
Pool.CreatePool createPool = Pool.createBuilder(subnet.getId(), Protocol.HTTP, Pool.ROUND_ROBIN) .name("jclouds-lbaas-test-pool").description(null).healthMonitors(null).provider(null).adminStateUp(null).build(); pool = lbaasApi.createPool(createPool); assertNotNull(pool); assertNotNull(pool.getId()); assertEquals(pool.getTenantId(), subnet.getTenantId()); assertNull(pool.getVIPId()); assertEquals(pool.getName(), "jclouds-lbaas-test-pool"); assertEquals(pool.getDescription(), ""); assertEquals(pool.getSubnetId(), subnet.getId()); assertEquals(pool.getProtocol(), Protocol.HTTP); assertNotNull(pool.getProvider()); assertNotNull(poolGet); assertEquals(poolGet.getId(), pool.getId()); assertEquals(poolGet.getTenantId(), subnet.getTenantId()); assertNull(poolGet.getVIPId()); assertEquals(poolGet.getName(), "jclouds-lbaas-test-pool-renamed"); assertEquals(poolGet.getDescription(), "new description"); assertEquals(poolGet.getSubnetId(), subnet.getId()); assertEquals(poolGet.getProtocol(), Protocol.HTTP); assertNotNull(poolGet.getProvider());
@AfterClass public void deleteSubnets() { for (String region : api.getConfiguredRegions()) { NetworkApi networkApi = api.getNetworkApi(region); SubnetApi subnetApi = api.getSubnetApi(region); try { Subnet subnet = subnets.get(region); if (subnet != null) { assertTrue(subnetApi.delete(subnet.getId())); } } finally { Network network = networks.get(region); if (network != null) { assertTrue(networkApi.delete(network.getId())); } } } }
@BeforeClass public void createSubnets() { for (String region : api.getConfiguredRegions()) { Optional<LBaaSApi> lbaasApiExtension = api.getLBaaSApi(region); if (!lbaasApiExtension.isPresent()) { continue; } NetworkApi networkApi = api.getNetworkApi(region); SubnetApi subnetApi = api.getSubnetApi(region); Network network = networkApi.create(Network.createBuilder("jclouds-lbaas-test-network").networkType(NetworkType.LOCAL).build()); assertNotNull(network); networks.put(region, network); Subnet subnet = subnetApi.create(Subnet.createBuilder(network.getId(), "10.0.0.0/24").ipVersion(4).name("jclouds-lbaas-test-subnet").build()); assertNotNull(subnet); subnets.put(region, subnet); } }
HostRoute.builder().destinationCidr("192.168.100.0/30").nextHop("192.168.100.4").build() ); Subnet subnet = subnetApi.create(Subnet.createBuilder(networkId, "192.168.100.0/30").ipVersion(4).allocationPools(allocationPools).hostRoutes(hostRoutes).build()); assertNotNull(subnet); Subnet subnetGet = api.getSubnetApi(region).get(subnetList.getId()); assertEquals(subnetList, subnetGet); Subnet retrievedSubnet = subnetApi.get(subnet.getId()); assertEquals(retrievedSubnet.getId(), subnet.getId()); assertEquals(retrievedSubnet.getCidr(), "192.168.100.0/30"); assertTrue(retrievedSubnet.getDnsNameservers().isEmpty()); assertEquals(retrievedSubnet.getAllocationPools().size(), 1); assertEquals(retrievedSubnet.getHostRoutes().size(), 1); assertNotNull(subnetApi.update(retrievedSubnet.getId(), Subnet.updateBuilder().name("jclouds-live-test-update").build())); retrievedSubnet = subnetApi.get(retrievedSubnet.getId()); assertEquals(retrievedSubnet.getId(), subnet.getId()); assertEquals(retrievedSubnet.getName(), "jclouds-live-test-update"); assertTrue(retrievedSubnet.getDnsNameservers().isEmpty()); assertTrue(subnetApi.delete(subnet.getId())); assertTrue(networkApi.delete(networkId));
public void testCreateAndDeleteRouterInterfaceForSubnet() { for (String region : api.getConfiguredRegions()) { RouterApi routerApi = api.getRouterApi(region).get(); NetworkApi networkApi = api.getNetworkApi(region); SubnetApi subnetApi = api.getSubnetApi(region); Network network = networkApi.create(Network.createBuilder("jclouds-network-test").external(true).networkType(NetworkType.LOCAL).build()); assertNotNull(network); Subnet subnet = subnetApi.create(Subnet.createBuilder(network.getId(), "192.168.0.0/16").ipVersion(4).build()); assertNotNull(subnet); Network network2 = networkApi.create(Network.createBuilder("jclouds-network-test2").external(true).networkType(NetworkType.LOCAL).build()); assertNotNull(network2); Subnet subnet2 = subnetApi.create(Subnet.createBuilder(network2.getId(), "192.169.0.0/16").ipVersion(4).build()); assertNotNull(subnet2); Router router = routerApi.create(Router.createBuilder().name("jclouds-router-test").build()); assertNotNull(router); RouterInterface routerInterface = routerApi.addInterfaceForSubnet(router.getId(), subnet.getId()); assertNotNull(routerInterface); RouterInterface routerInterface2 = routerApi.addInterfaceForSubnet(router.getId(), subnet2.getId()); assertNotNull(routerInterface2); assertTrue(routerApi.removeInterfaceForSubnet(router.getId(), subnet.getId())); assertTrue(routerApi.removeInterfaceForSubnet(router.getId(), subnet2.getId())); assertTrue(routerApi.delete(router.getId())); assertTrue(subnetApi.delete(subnet.getId())); assertTrue(networkApi.delete(network.getId())); assertTrue(subnetApi.delete(subnet2.getId())); assertTrue(networkApi.delete(network2.getId())); } }
Pool.CreateBuilder createBuilder = Pool.createBuilder(subnet.getId(), Protocol.HTTP, Pool.ROUND_ROBIN) .name("jclouds-lbaas-test-vip-pool-1").description(null).healthMonitors(null).provider(null).adminStateUp(null); pool1 = lbaasApi.createPool(createBuilder.build()); VIP.CreateVIP createVIP = VIP.createBuilder(subnet.getId(), Protocol.HTTP, 80, pool1.getId()) .name("jclouds-lbaas-test-vip").description(null).address(null).sessionPersistence(null).connectionLimit(null).build(); vip = lbaasApi.createVIP(createVIP); assertNotNull(vip); assertNotNull(vip.getId()); assertEquals(vip.getTenantId(), subnet.getTenantId()); assertEquals(vip.getName(), "jclouds-lbaas-test-vip"); assertEquals(vip.getDescription(), ""); assertEquals(vip.getSubnetId(), subnet.getId()); assertNotNull(vip.getAddress()); assertNotNull(vip.getPortId()); VIPs vips = lbaasApi.listVIPs(PaginationOptions.Builder.queryParameters(ImmutableMap.of("tenant_id", subnet.getTenantId()).asMultimap())); assertNotNull(vips); assertFalse(vips.isEmpty()); assertNotNull(vipGet); assertNotNull(vipGet.getId()); assertEquals(vipGet.getTenantId(), subnet.getTenantId()); assertEquals(vipGet.getName(), "jclouds-lbaas-test-vip-renamed"); assertEquals(vipGet.getDescription(), "new description"); assertEquals(vipGet.getSubnetId(), subnet.getId()); assertNotNull(vipGet.getAddress()); assertNotNull(vipGet.getPortId());
Pool.CreatePool poolCreateOptions = Pool.createBuilder(subnet.getId(), Protocol.TCP, Pool.ROUND_ROBIN) .name("jclouds-lbaas-test-pool-association").build(); pool = lbaasApi.createPool(poolCreateOptions);
HostRoute.builder().destinationCidr("a3:bc00::/48").nextHop("a3:bc00::0004").build() ); Subnet subnet = subnetApi.create(Subnet.createBuilder(networkId, "a3:bc00::/48").ipVersion(6).allocationPools(allocationPools).hostRoutes(hostRoutes).build()); assertNotNull(subnet); Subnet subnetGet = api.getSubnetApi(region).get(subnetList.getId()); assertEquals(subnetList, subnetGet); Subnet retrievedSubnet = subnetApi.get(subnet.getId()); assertEquals(retrievedSubnet.getId(), subnet.getId()); assertEquals(retrievedSubnet.getCidr(), "a3:bc00::/48"); assertTrue(retrievedSubnet.getDnsNameservers().isEmpty()); assertEquals(retrievedSubnet.getAllocationPools().size(), 2); assertEquals(retrievedSubnet.getHostRoutes().size(), 1); assertNotNull(subnetApi.update(retrievedSubnet.getId(), Subnet.updateBuilder().name("jclouds-live-test-update").build())); retrievedSubnet = subnetApi.get(retrievedSubnet.getId()); assertEquals(retrievedSubnet.getId(), subnet.getId()); assertEquals(retrievedSubnet.getName(), "jclouds-live-test-update"); assertTrue(retrievedSubnet.getDnsNameservers().isEmpty()); Subnet subnet2 = subnetApi.create(Subnet.createBuilder(networkId, "a3:bd01::/48").ipVersion(6).build()); assertNotNull(subnet2); assertTrue(subnetApi.delete(subnet.getId())); assertTrue(subnetApi.delete(subnet2.getId())); assertTrue(networkApi.delete(networkId));
String ipv4SubnetId = subnetApi.create(Subnet.createBuilder(networkId, "198.51.100.0/24").ipVersion(4) .name("JClouds-Live-IPv4-Subnet").build()).getId(); String ipv6SubnetId = subnetApi.create(Subnet.createBuilder(networkId, "a1ca:1e1:c:107d::/96").ipVersion(6) .name("JClouds-Live-IPv6-Subnet").build()).getId();
Pool.CreateBuilder createBuilder = Pool.createBuilder(subnet.getId(), Protocol.HTTP, Pool.ROUND_ROBIN) .name("jclouds-lbaas-test-member-pool-1").description(null).healthMonitors(null).provider(null).adminStateUp(null); pool1 = lbaasApi.createPool(createBuilder.build()); assertNotNull(member); assertNotNull(member.getId()); assertEquals(member.getTenantId(), subnet.getTenantId()); assertEquals(member.getPoolId(), pool1.getId()); assertEquals(member.getAddress(), "10.0.0.100"); Members members = lbaasApi.listMembers(PaginationOptions.Builder.queryParameters(ImmutableMap.of("tenant_id", subnet.getTenantId()).asMultimap())); assertNotNull(members); assertFalse(members.isEmpty()); assertNotNull(memberGet); assertNotNull(memberGet.getId()); assertEquals(memberGet.getTenantId(), subnet.getTenantId()); assertEquals(memberGet.getPoolId(), pool2.getId()); assertEquals(member.getAddress(), "10.0.0.100");
public void testListPagedSubnet() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/subnet_list_response_pages1.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/subnet_list_response_pages2.json")))); try { NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); SubnetApi api = neutronApi.getSubnetApi("RegionOne"); // Note: Lazy! Have to actually look at the collection. List<Subnet> subnets = api.list().concat().toList(); /* * Check request */ assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertRequest(server.takeRequest(), "GET", uriApiVersion + "/subnets"); assertRequest(server.takeRequest(), "GET", uriApiVersion + "/subnets?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718"); /* * Check response */ assertNotNull(subnets); assertEquals(subnets.size(), 4); assertEquals(subnets.get(0).getId(), "16dba3bc-f3fa-4775-afdc-237e12c72f6a"); assertEquals(subnets.get(3).getId(), "6ba4c788-661f-49ab-9bf8-5f10cbbb2f57"); } finally { server.shutdown(); } }
/** * No-parameters constructor used when updating. */ private Builder() { subnet = new Subnet(); }
String networkId = networkApi.create( Network.createBuilder("JClouds-Live-Network").networkType(NetworkType.LOCAL).build()).getId(); String ipv4SubnetId = subnetApi.create(Subnet.createBuilder(networkId, "198.51.100.0/24").ipVersion(4) .name("JClouds-Live-IPv4-Subnet").build()).getId(); String ipv6SubnetId = subnetApi.create(Subnet.createBuilder(networkId, "a1ca:1e1:c:107d::/96").ipVersion(6) .name("JClouds-Live-IPv6-Subnet").build()).getId();