def create(self, context, pool): """ Create a loadbalancer_pool object. """ p = pool['pool'] tenant_id = self._get_tenant_id_for_create(context, p) project = self._project_read(project_id=tenant_id) uuid = uuidutils.generate_uuid() name = self._get_resource_name('loadbalancer-pool', project, p['name'], uuid) props = self.make_properties(p) id_perms = IdPermsType(uuid=uuid, enable=True, description=p['description']) pool = LoadbalancerPool(name, project, loadbalancer_pool_properties=props, loadbalancer_pool_provider=p['provider'], id_perms=id_perms, display_name=p['name']) pool.uuid = uuid if p['health_monitors']: for hm in p['health_monitors']: try: mon = self._api.loadbalancer_healthmonitor_read(id=hm) except NoIdError: raise loadbalancer.HealthMonitorNotFound(monitor_id=hm) pool.add_loadbalancer_healthmonitor(mon) self._api.loadbalancer_pool_create(pool) return self.make_dict(pool)
def create(self, context, pool): """ Create a loadbalancer_pool object. """ p = pool["pool"] try: sas_fq_name = ["default-global-system-config"] sas_fq_name.append(p["provider"]) sas_obj = self._api.service_appliance_set_read(fq_name=sas_fq_name) except NoIdError: raise pconf.ServiceProviderNotFound(provider=p["provider"], service_type=constants.LOADBALANCER) tenant_id = self._get_tenant_id_for_create(context, p) project = self._project_read(project_id=tenant_id) uuid = uuidutils.generate_uuid() name = self._get_resource_name("loadbalancer-pool", project, p["name"], uuid) props = self.make_properties(p) id_perms = IdPermsType(enable=True, description=p["description"]) pool = LoadbalancerPool( name, project, loadbalancer_pool_properties=props, loadbalancer_pool_provider=p["provider"], id_perms=id_perms, display_name=p["name"], ) pool.uuid = uuid if p["health_monitors"]: for hm in p["health_monitors"]: try: mon = self._api.loadbalancer_healthmonitor_read(id=hm) except NoIdError: raise loadbalancer.HealthMonitorNotFound(monitor_id=hm) pool.add_loadbalancer_healthmonitor(mon) pool.set_service_appliance_set(sas_obj) self._api.loadbalancer_pool_create(pool) return self.make_dict(pool)
def create(self, context, pool): """ Create a loadbalancer_pool object. """ p = pool['pool'] try: sas_fq_name = ["default-global-system-config"] sas_fq_name.append(p['provider']) sas_obj = self._api.service_appliance_set_read(fq_name=sas_fq_name) except NoIdError: raise pconf.ServiceProviderNotFound( provider=p['provider'], service_type=constants.LOADBALANCER) tenant_id = self._get_tenant_id_for_create(context, p) project = self._project_read(project_id=tenant_id) uuid = uuidutils.generate_uuid() name = self._get_resource_name('loadbalancer-pool', project, p['name'], uuid) props = self.make_properties(p) id_perms = IdPermsType(enable=True, description=p['description']) pool = LoadbalancerPool(name, project, loadbalancer_pool_properties=props, loadbalancer_pool_provider=p['provider'], id_perms=id_perms, display_name=p['name']) pool.uuid = uuid if p['health_monitors']: for hm in p['health_monitors']: try: mon = self._api.loadbalancer_healthmonitor_read(id=hm) except NoIdError: raise loadbalancer.HealthMonitorNotFound(monitor_id=hm) pool.add_loadbalancer_healthmonitor(mon) pool.set_service_appliance_set(sas_obj) self._api.loadbalancer_pool_create(pool) return self.make_dict(pool)