mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	PVLAN: Add integration test
This commit is contained in:
		
							parent
							
								
									065d2561b9
								
							
						
					
					
						commit
						2bcf71638d
					
				
							
								
								
									
										86
									
								
								test/integration/smoke/test_pvlan.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								test/integration/smoke/test_pvlan.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,86 @@ | |||||||
|  | # Licensed to the Apache Software Foundation (ASF) under one | ||||||
|  | # or more contributor license agreements.  See the NOTICE file | ||||||
|  | # distributed with this work for additional information | ||||||
|  | # regarding copyright ownership.  The ASF licenses this file | ||||||
|  | # to you under the Apache License, Version 2.0 (the | ||||||
|  | # "License"); you may not use this file except in compliance | ||||||
|  | # with the License.  You may obtain a copy of the License at | ||||||
|  | #  | ||||||
|  | #   http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | #  | ||||||
|  | # Unless required by applicable law or agreed to in writing, | ||||||
|  | # software distributed under the License is distributed on an | ||||||
|  | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||||||
|  | # KIND, either express or implied.  See the License for the | ||||||
|  | # specific language governing permissions and limitations | ||||||
|  | # under the License. | ||||||
|  | """ test for private vlan isolation | ||||||
|  | """ | ||||||
|  | #Import Local Modules | ||||||
|  | import marvin | ||||||
|  | from marvin.cloudstackTestCase import * | ||||||
|  | from marvin.cloudstackAPI import * | ||||||
|  | from marvin import remoteSSHClient | ||||||
|  | from marvin.integration.lib.utils import * | ||||||
|  | from marvin.integration.lib.base import * | ||||||
|  | from marvin.integration.lib.common import * | ||||||
|  | from nose.plugins.attrib import attr | ||||||
|  | import telnetlib | ||||||
|  | 
 | ||||||
|  | #Import System modules | ||||||
|  | import time | ||||||
|  | _multiprocess_shared_ = True | ||||||
|  | 
 | ||||||
|  | class TestPVLAN(cloudstackTestCase): | ||||||
|  | 
 | ||||||
|  |     zoneId = 1 | ||||||
|  |     networkOfferingId = 7 | ||||||
|  |     vlan = 1234 | ||||||
|  |     isolatedpvlan = 567 | ||||||
|  | 
 | ||||||
|  |     def setUp(self): | ||||||
|  |         self.apiClient = self.testClient.getApiClient() | ||||||
|  | 
 | ||||||
|  |     def test_create_pvlan_network(self): | ||||||
|  |         self.debug("Test create pvlan network") | ||||||
|  |         createNetworkCmd = createNetwork.createNetworkCmd() | ||||||
|  |         createNetworkCmd.name = "pvlan network" | ||||||
|  |         createNetworkCmd.displaytext = "pvlan network" | ||||||
|  |         createNetworkCmd.netmask = "255.255.255.0" | ||||||
|  |         createNetworkCmd.gateway = "10.10.10.1" | ||||||
|  |         createNetworkCmd.startip = "10.10.10.10" | ||||||
|  |         createNetworkCmd.gateway = "10.10.10.20" | ||||||
|  |         createNetworkCmd.vlan = "1234" | ||||||
|  |         createNetworkCmd.isolatedpvlan = "567" | ||||||
|  |         createNetworkCmd.zoneid = self.zoneId | ||||||
|  |         createNetworkCmd.networkofferingid = self.networkOfferingId | ||||||
|  |         createNetworkResponse = self.apiClient.createNetwork(createNetworkCmd) | ||||||
|  |         self.networkId = createNetworkResponse.id | ||||||
|  |         self.broadcasttype = createNetworkResponse.broadcastdomaintype | ||||||
|  |         self.broadcasturi = createNetworkResponse.broadcasturi | ||||||
|  | 
 | ||||||
|  |         self.assertIsNotNone(createNetworkResponse.id, "Network failed to create") | ||||||
|  |         self.assertTrue(createNetworkResponse.broadcastdomaintype, "Pvlan") | ||||||
|  |         self.assertTrue(createNetworkResponse.broadcasturi, "pvlan://1234-i567") | ||||||
|  | 
 | ||||||
|  |         self.debug("Clean up test pvlan network") | ||||||
|  |         deleteNetworkCmd = deleteNetwork.deleteNetworkCmd() | ||||||
|  |         deleteNetworkCmd.id = self.networkId; | ||||||
|  |         self.apiClient.deleteNetwork(deleteNetworkCmd) | ||||||
|  | 
 | ||||||
|  |         #Test invalid parameter | ||||||
|  | 
 | ||||||
|  |         # CLOUDSTACK-2392: Should not allow create pvlan with ipv6 | ||||||
|  |         createNetworkCmd.ip6gateway="fc00:1234::1" | ||||||
|  |         createNetworkCmd.ip6cidr="fc00:1234::/64" | ||||||
|  |         createNetworkCmd.startipv6="fc00:1234::10" | ||||||
|  |         createNetworkCmd.endipv6="fc00:1234::20" | ||||||
|  |         err = 0; | ||||||
|  |         try: | ||||||
|  |             createNetworkResponse = self.apiClient.createNetwork(createNetworkCmd) | ||||||
|  |         except Exception as e: | ||||||
|  |             err = 1; | ||||||
|  |             self.debug("Try alloc with ipv6, got:%s" % e) | ||||||
|  |         self.assertEqual(err, 1, "Shouldn't allow create PVLAN network with IPv6"); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user