def test_serverfarm_destroy(self): values = get_fake_sf('1') serverfarm = db_api.serverfarm_create(self.conf, values) db_api.serverfarm_destroy(self.conf, serverfarm['id']) with self.assertRaises(exception.ServerFarmNotFound) as cm: db_api.serverfarm_get(self.conf, serverfarm['id']) err = cm.exception self.assertEqual(err.kwargs, {'serverfarm_id': serverfarm['id']})
def test_serverfarm_get(self): values = get_fake_sf('1') serverfarm_ref1 = db_api.serverfarm_create(self.conf, values) serverfarm_ref2 = db_api.serverfarm_get(self.conf, serverfarm_ref1['id']) self.assertEqual(dict(serverfarm_ref1.iteritems()), dict(serverfarm_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_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)