def create_server_farm(ctx, sf): try: pr = db_api.predictor_get_all_by_sf_id(ctx.conf, sf['id']) ctx.device.create_server_farm(sf, pr) db_api.serverfarm_update(ctx.conf, sf['id'], {'deployed': True}) yield except Exception: delete_server_farm(ctx, sf) raise
def create_server_farm(ctx, sf_ref): try: predictor_ref = db_api.predictor_get_by_sf_id(ctx.conf, sf_ref['id']) ctx.device.create_server_farm(sf_ref, predictor_ref) db_api.serverfarm_update(ctx.conf, sf_ref['id'], {'deployed': True}) yield except Exception: with utils.save_and_reraise_exception(): delete_server_farm(ctx, sf_ref)
def create_server_farm(ctx, sf): try: pr = db_api.predictor_get_all_by_sf_id(ctx.conf, sf["id"]) ctx.device.create_server_farm(sf, pr) sf["deployed"] = "True" db_api.serverfarm_update(ctx.conf, sf["id"], sf) yield except Exception: delete_server_farm(ctx, sf) raise
def test_serverfarm_update(self): values = get_fake_sf("1") serverfarm_ref = db_api.serverfarm_create(self.conf, values) update = {"name": "test", "extra": {"extrafield": "extravalue"}} serverfarm_ref = db_api.serverfarm_update(self.conf, serverfarm_ref["id"], update) serverfarm = dict(serverfarm_ref.iteritems()) values.update(update) self.assertIsNotNone(serverfarm["id"]) values["id"] = serverfarm["id"] self.assertEqual(serverfarm, values)
def test_serverfarm_update(self): values = get_fake_sf('1') serverfarm_ref = db_api.serverfarm_create(self.conf, values) update = {'name': 'test', 'extra': {'extrafield': 'extravalue'}} serverfarm_ref = db_api.serverfarm_update(self.conf, serverfarm_ref['id'], update) serverfarm = dict(serverfarm_ref.iteritems()) values.update(update) self.assertIsNotNone(serverfarm['id']) values['id'] = serverfarm['id'] self.assertEqual(serverfarm, values)
def delete_server_farm(ctx, sf): ctx.device.delete_server_farm(sf) sf['deployed'] = 'False' db_api.serverfarm_update(ctx.conf, sf['id'], sf)
def delete_server_farm(ctx, sf): ctx.device.delete_server_farm(sf) sf["deployed"] = "False" db_api.serverfarm_update(ctx.conf, sf["id"], sf)
def savetoDB(self): try: lb_ref = db_api.loadbalancer_update(self.conf, self.lb['id'], self.lb) except exception.LoadBalancerNotFound: lb_ref = db_api.loadbalancer_create(self.conf, self.lb) self.sf['lb_id'] = lb_ref['id'] try: sf_ref = db_api.serverfarm_update(self.conf, self.sf['id'], self.sf) except exception.ServerFarmNotFound: sf_ref = db_api.serverfarm_create(self.conf, self.sf) self.sf._predictor['sf_id'] = sf_ref['id'] try: db_api.predictor_update(self.conf, self.sf._predictor['id'], self.sf._predictor) except exception.PredictorNotFound: db_api.predictor_create(self.conf, self.sf._predictor) stickies = self.sf._sticky vips = [] self.sf = sf_ref self.sf._rservers = [] self.sf._probes = [] self.sf._sticky = [] for rs in self.rs: rs['sf_id'] = sf_ref['id'] try: rs_ref = db_api.server_update(self.conf, rs['id'], rs) except exception.ServerNotFound: rs_ref = db_api.server_create(self.conf, rs) self.sf._rservers.append(rs_ref) for pr in self.probes: pr['sf_id'] = sf_ref['id'] try: pr_ref = db_api.probe_update(self.conf, pr['id'], pr) except exception.ProbeNotFound: pr_ref = db_api.probe_create(self.conf, pr) self.sf._probes.append(pr_ref) for vip in self.vips: vip['sf_id'] = sf_ref['id'] vip['lb_id'] = lb_ref['id'] try: vip_ref = db_api.virtualserver_update(self.conf, vip['id'], vip) except exception.VirtualServerNotFound: vip_ref = db_api.virtualserver_create(self.conf, vip) vips.append(vip_ref) for st in stickies: st['sf_id'] = sf_ref['id'] try: st_ref = db_api.sticky_update(self.conf, st['id'], st) except exception.StickyNotFound: st_ref = db_api.sticky_create(self.conf, st) self.sf._sticky.append(st_ref) self.rs = self.sf._rservers self.probes = self.sf._probes self.vips = vips