예제 #1
0
def virtual_instid_2_origin_instid(virtual_inst_id, get_deleted = False):
    raw_id = virtual_inst_id
    
    try:
        instance_vip = DBInstanceVip.get_by(virtual_instance_id = virtual_inst_id, deleted = get_deleted)
        LOG.info("virtual_instance_id: %s, instnace_vip: %s" % (virtual_inst_id, instance_vip))
        
        if instance_vip != None:
            raw_id = instance_vip.instance_id
    except Exception, e:
        LOG.error(e)
예제 #2
0
        def wrapper(*args, **kwargs):

            callargs = getcallargs(func, *args, **kwargs)
            argspec = getargspec(func)
#             print argspec
            args_list = argspec.args
            varargs = argspec.varargs
            varkw = argspec.keywords

            #print "orgin callargs: %s, args_list: %s, varargs: %s, varkw: %s" % (callargs, args_list, varargs, varkw)
            found_args = filter(lambda x: x in converted_keys, callargs.keys())
            #print "found_args: %s" % (found_args)

            if found_args != None and len(found_args) > 0:
                final_args = list(args)

                for k in found_args:
                    try:
                        if show_deleted:
                            instance_vip = DBInstanceVip.query().filter_by(virtual_instance_id = callargs[k]).\
                                           order_by("created DESC").first()
                        else:
                            instance_vip = DBInstanceVip.get_by(virtual_instance_id = callargs[k], deleted = 0)
                        #print "instance_vip: %s" % (instance_vip)
                        if instance_vip != None:
                            raw_id = instance_vip.instance_id
                            #print "raw_id: %s" % (raw_id)
                            #print "!! k: %s, kwargs.keys: %s, arg_names: %s" % (k, kwargs.keys(), args_list)

                            if kwargs and k in kwargs.keys():
                                kwargs.pop(k)
                                kwargs[k] = raw_id
                                #print "!! kwarg_name: %s, new_kwarg_value: %s" % (k, kwargs[k])

                            elif args_list and k in args_list:
                                idx = args_list.index(k)
                                final_args[idx] = raw_id
                                #print "!! arg_name: %s, new_arg_value: %s" % (k, final_args[idx])

                    except Exception, e:
                        LOG.error(e)
                        continue