def __init__(self, plugin): base_v2_driver.RadwareLBaaSBaseV2Driver.__init__(self, plugin) rad = cfg.CONF.radwarev2 rad_debug = cfg.CONF.radwarev2_debug self.plugin = plugin self.service = { "name": "_REPLACE_", "tenantId": "_REPLACE_", "haPair": rad.service_ha_pair, "sessionMirroringEnabled": rad.service_session_mirroring_enabled, "primary": { "capacity": { "throughput": rad.service_throughput, "sslThroughput": rad.service_ssl_throughput, "compressionThroughput": rad.service_compression_throughput, "cache": rad.service_cache }, "network": { "type": "portgroup", "portgroups": '_REPLACE_' }, "adcType": rad.service_adc_type, "acceptableAdc": "Exact" } } if rad.service_resource_pool_ids: ids = rad.service_resource_pool_ids self.service['resourcePoolIds'] = [ {'id': id} for id in ids ] else: self.service['resourcePoolIds'] = [] if rad.service_isl_vlan: self.service['islVlan'] = rad.service_isl_vlan self.workflow_template_name = rad.workflow_template_name self.child_workflow_template_names = rad.child_workflow_template_names self.workflow_params = rad.workflow_params self.workflow_action_name = rad.workflow_action_name self.stats_action_name = rad.stats_action_name vdirect_address = rad.vdirect_address sec_server = rad.ha_secondary_address self.rest_client = rest.vDirectRESTClient( server=vdirect_address, secondary_server=sec_server, user=rad.vdirect_user, password=rad.vdirect_password) self.workflow_params['provision_service'] = rad_debug.provision_service self.workflow_params['configure_l3'] = rad_debug.configure_l3 self.workflow_params['configure_l4'] = rad_debug.configure_l4 self.queue = Queue.Queue() self.completion_handler = OperationCompletionHandler(self.queue, self.rest_client, plugin) self.workflow_templates_exists = False self.completion_handler.setDaemon(True) self.completion_handler_started = False