From abb824e3db0625b435fa55b49496e41efbcbc894 Mon Sep 17 00:00:00 2001 From: Miguel Ferreira Date: Wed, 5 Aug 2015 16:03:28 +0200 Subject: [PATCH] Create Nicira NVP devices and enable plugin at deploy --- tools/marvin/marvin/deployDataCenter.py | 112 +++++++++++++----------- 1 file changed, 62 insertions(+), 50 deletions(-) diff --git a/tools/marvin/marvin/deployDataCenter.py b/tools/marvin/marvin/deployDataCenter.py index 4fcd6967f62..3dd56672dde 100644 --- a/tools/marvin/marvin/deployDataCenter.py +++ b/tools/marvin/marvin/deployDataCenter.py @@ -534,7 +534,7 @@ class DeployDataCenters(object): netprov.physicalnetworkid = phynetwrk.id result = self.__apiClient.addNetworkServiceProvider(netprov) self.enableProvider(result.id) - elif provider.name in ['Netscaler', 'JuniperSRX', 'F5BigIp']: + elif provider.name in ['Netscaler', 'JuniperSRX', 'F5BigIp', 'NiciraNvp']: netprov = addNetworkServiceProvider.\ addNetworkServiceProviderCmd() netprov.name = provider.name @@ -548,55 +548,67 @@ class DeployDataCenters(object): self.__addToCleanUp( "NetworkServiceProvider", result.id) - for device in provider.devices: - if provider.name == 'Netscaler': - dev = addNetscalerLoadBalancer.\ - addNetscalerLoadBalancerCmd() - dev.username = device.username - dev.password = device.password - dev.networkdevicetype = device.networkdevicetype - dev.url = configGenerator.getDeviceUrl(device) - dev.physicalnetworkid = phynetwrk.id - ret = self.__apiClient.addNetscalerLoadBalancer( - dev) - if ret.id: + if provider.devices is not None: + for device in provider.devices: + if provider.name == 'Netscaler': + dev = addNetscalerLoadBalancer.\ + addNetscalerLoadBalancerCmd() + dev.username = device.username + dev.password = device.password + dev.networkdevicetype = device.networkdevicetype + dev.url = configGenerator.getDeviceUrl(device) + dev.physicalnetworkid = phynetwrk.id + ret = self.__apiClient.addNetscalerLoadBalancer( + dev) + if ret.id: + self.__tcRunLogger.\ + debug("==== AddNetScalerLB " + "Successful=====") + self.__addToCleanUp( + "NetscalerLoadBalancer", + ret.id) + elif provider.name == 'JuniperSRX': + dev = addSrxFirewall.addSrxFirewallCmd() + dev.username = device.username + dev.password = device.password + dev.networkdevicetype = device.networkdevicetype + dev.url = configGenerator.getDeviceUrl(device) + dev.physicalnetworkid = phynetwrk.id + ret = self.__apiClient.addSrxFirewall(dev) + if ret.id: + self.__tcRunLogger.\ + debug("==== AddSrx " + "Successful=====") + self.__addToCleanUp("SrxFirewall", ret.id) + elif provider.name == 'F5BigIp': + dev = addF5LoadBalancer.addF5LoadBalancerCmd() + dev.username = device.username + dev.password = device.password + dev.networkdevicetype = device.networkdevicetype + dev.url = configGenerator.getDeviceUrl(device) + dev.physicalnetworkid = phynetwrk.id + ret = self.__apiClient.addF5LoadBalancer(dev) + if ret.id: + self.__tcRunLogger.\ + debug("==== AddF5 " + "Successful=====") + self.__addToCleanUp("F5LoadBalancer", ret.id) + elif provider.name == 'NiciraNvp': + cmd = addNiciraNvpDevice.addNiciraNvpDeviceCmd() + cmd.hostname = device.hostname + cmd.username = device.username + cmd.password = device.password + cmd.transportzoneuuid = device.transportzoneuuid + cmd.physicalnetworkid = phynetwrk.id + ret = self.__apiClient.addNiciraNvpDevice(cmd) self.__tcRunLogger.\ - debug("==== AddNetScalerLB " - "Successful=====") - self.__addToCleanUp( - "NetscalerLoadBalancer", - ret.id) - elif provider.name == 'JuniperSRX': - dev = addSrxFirewall.addSrxFirewallCmd() - dev.username = device.username - dev.password = device.password - dev.networkdevicetype = device.networkdevicetype - dev.url = configGenerator.getDeviceUrl(device) - dev.physicalnetworkid = phynetwrk.id - ret = self.__apiClient.addSrxFirewall(dev) - if ret.id: - self.__tcRunLogger.\ - debug("==== AddSrx " - "Successful=====") - self.__addToCleanUp("SrxFirewall", ret.id) - elif provider.name == 'F5BigIp': - dev = addF5LoadBalancer.addF5LoadBalancerCmd() - dev.username = device.username - dev.password = device.password - dev.networkdevicetype = device.networkdevicetype - dev.url = configGenerator.getDeviceUrl(device) - dev.physicalnetworkid = phynetwrk.id - ret = self.__apiClient.addF5LoadBalancer(dev) - if ret.id: - self.__tcRunLogger.\ - debug("==== AddF5 " - "Successful=====") - self.__addToCleanUp("F5LoadBalancer", ret.id) - else: - raise InvalidParameterException( - "Device %s doesn't match " - "any know provider " - "type" % device) + debug("==== AddNiciraNvp Successful =====") + self.__addToCleanUp("NiciraNvp", ret.id) + else: + raise InvalidParameterException( + "Device %s doesn't match " + "any know provider " + "type" % device) self.enableProvider(result.id) except Exception as e: print "Exception Occurred: %s" % GetDetailExceptionInfo(e) @@ -1133,7 +1145,7 @@ if __name__ == "__main__": print "\n===Deploy Failed===" tc_run_logger.debug("\n===Deploy Failed==="); exit(1) - + if options.remove and os.path.isfile(options.remove) and options.input: '''