Create Nicira NVP devices and enable plugin at deploy

This commit is contained in:
Miguel Ferreira 2015-08-05 16:03:28 +02:00
parent 2772e4da82
commit abb824e3db
1 changed files with 62 additions and 50 deletions

View File

@ -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:
'''