def test_server_get3_fails(self): lb_id, sf_id = self._create_lb_and_sf('1', 'tenant1') server_values = get_fake_server(sf_id, 1) server_ref1 = db_api.server_create(self.conf, server_values) with self.assertRaises(exception.ServerNotFound): db_api.server_get(self.conf, server_ref1['id'], tenant_id='tenant2')
def test_server_destroy(self): values = get_fake_server('1', 1) server = db_api.server_create(self.conf, values) db_api.server_destroy(self.conf, server['id']) with self.assertRaises(exception.ServerNotFound) as cm: db_api.server_get(self.conf, server['id']) err = cm.exception self.assertEqual(err.kwargs, {'server_id': server['id']})
def lb_change_node_status(conf, lb_id, lb_node_id, lb_node_status): balancer_instance = vserver.Balancer(conf) balancer_instance.loadFromDB(lb_id) rs = db_api.server_get(conf, lb_node_id) sf = balancer_instance.sf if rs['state'] == lb_node_status: return "OK" rs['state'] = lb_node_status rsname = rs['name'] if rs['parent_id'] != "": rs['name'] = rs['parent_id'] logger.debug("Changing RServer status to: %s" % lb_node_status) device_driver = drivers.get_device_driver( balancer_instance.lb['device_id']) with device_driver.request_context() as ctx: if lb_node_status == "inservice": commands.activate_rserver(ctx, sf, rs) else: commands.suspend_rserver(ctx, sf, rs) rs['name'] = rsname db_api.server_update(conf, rs['id'], rs) return "Node %s has status %s" % (lb_node_id, rs['state'])
def test_server_get1(self): lb_id, sf_id = self._create_lb_and_sf('1', 'tenant1') server_values = get_fake_server(sf_id, 1) server_ref1 = db_api.server_create(self.conf, server_values) server_ref2 = db_api.server_get(self.conf, server_ref1['id'], lb_id) self.assertEqual(dict(server_ref1.iteritems()), dict(server_ref2.iteritems()))
def lb_delete_node(conf, lb_id, lb_node_id): lb = db_api.loadbalancer_get(conf, lb_id) sf = db_api.serverfarm_get_all_by_lb_id(conf, lb_id)[0] rs = db_api.server_get(conf, lb_node_id) db_api.server_destroy(conf, lb_node_id) device_driver = drivers.get_device_driver(conf, lb['device_id']) with device_driver.request_context() as ctx: commands.remove_node_from_loadbalancer(ctx, sf, rs) return lb_node_id
def test_server_get1(self): lb_values = get_fake_lb("1", "tenant1") lb = db_api.loadbalancer_create(self.conf, lb_values) sf_values = get_fake_sf(lb["id"]) sf = db_api.serverfarm_create(self.conf, sf_values) server_values = get_fake_server(sf["id"], 1) server_ref1 = db_api.server_create(self.conf, server_values) server_ref2 = db_api.server_get(self.conf, server_ref1["id"], lb["id"]) self.assertEqual(dict(server_ref1.iteritems()), dict(server_ref2.iteritems()))
def lb_update_node(conf, lb_id, lb_node_id, lb_node): rs = db_api.server_get(conf, lb_node_id) lb = db_api.loadbalancer_get(conf, lb_id) device_driver = drivers.get_device_driver(conf, lb['device_id']) sf = db_api.serverfarm_get(conf, rs['sf_id']) with device_driver.request_context() as ctx: commands.delete_rserver_from_server_farm(ctx, sf, rs) db_api.pack_update(rs, lb_node) new_rs = db_api.server_update(conf, rs['id'], rs) commands.add_rserver_to_server_farm(ctx, sf, new_rs) return db_api.unpack_extra(new_rs)
def lb_delete_node(conf, lb_id, lb_node_id): balancer_instance = vserver.Balancer(conf) #Step 1: Load balancer from DB balancer_instance.loadFromDB(lb_id) #Step 3: Get RS object from DB rs = db_api.server_get(conf, lb_node_id) #Step 4: Delete RS from DB db_api.server_destroy(conf, lb_node_id) #Step 5: Delete real server from device device_driver = drivers.get_device_driver(conf, balancer_instance.lb['device_id']) with device_driver.request_context() as ctx: commands.remove_node_from_loadbalancer(ctx, balancer_instance, rs) return lb_node_id
def lb_change_node_status(conf, lb_id, lb_node_id, lb_node_status): lb = db_api.loadbalancer_get(conf, lb_id) rs = db_api.server_get(conf, lb_node_id) sf = db_api.serverfarm_get(conf, rs['sf_id']) if rs['state'] == lb_node_status: return "OK" rs['state'] = lb_node_status rsname = rs['name'] if rs['parent_id'] != "": rs['name'] = rs['parent_id'] logger.debug("Changing RServer status to: %s" % lb_node_status) device_driver = drivers.get_device_driver(conf, lb['device_id']) with device_driver.request_context() as ctx: if lb_node_status == "inservice": commands.activate_rserver(ctx, sf, rs) else: commands.suspend_rserver(ctx, sf, rs) rs['name'] = rsname db_api.server_update(conf, rs['id'], rs) return db_api.unpack_extra(rs)
def showNode(self, req, lb_id, lb_node_id): logger.debug("Got showNode request. Request: %s", req) return {'node': db_api.unpack_extra( db_api.server_get(self.conf, lb_node_id, lb_id))}
def test_server_get0(self): values = get_fake_server('1', 1) server_ref1 = db_api.server_create(self.conf, values) server_ref2 = db_api.server_get(self.conf, server_ref1['id']) self.assertEqual(dict(server_ref1.iteritems()), dict(server_ref2.iteritems()))
def show(self, req, tenant_id, lb_id, node_id): LOG.debug("Got showNode request. Request: %s", req) return {'node': db_api.unpack_extra( db_api.server_get(self.conf, node_id, lb_id, tenant_id=tenant_id))}