Esempio n. 1
0
 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']})
Esempio n. 2
0
 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()))
Esempio n. 3
0
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)
Esempio n. 4
0
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)