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