예제 #1
0
 def sync_state(self):
     tf_obj = self._generate_sync_state()
     base = get_inventory_base()
     if not base:
         return False, 'inventory base not found'
     sub_key = self.book_id
     return base.set_raw_object(root_key, sub_key, tf_obj)
예제 #2
0
def invt_unregister_cas_token(token_uuid,
                              user_sync=False,
                              user_timeout=default_user_timeout):
    sub_key = token_uuid
    base = get_inventory_base()
    assert (base)
    base.unregister_object(
        root_key, sub_key, user_sync=user_sync, user_timeout=user_timeout)
def invt_unregister_vswitch_ether_service(service_uuid,
                                          user_sync=False,
                                          user_timeout=default_user_timeout):
    sub_key = service_uuid
    base = get_inventory_base()
    assert (base)
    base.unregister_object(
        root_key, sub_key, user_sync=user_sync, user_timeout=user_timeout)
예제 #4
0
def invt_try_lock(lock_path, duration):
    base = get_inventory_base()
    assert (base)
    caller_id = base._SyncObj__selfNodeAddr
    return base.acquire_lock(lock_path,
                             caller_id,
                             time.time(),
                             duration,
                             sync=True)
예제 #5
0
def invt_unlock(lock_path):
    base = get_inventory_base()
    assert (base)
    caller_id = base._SyncObj__selfNodeAddr
    try:
        base.release_lock(lock_path, caller_id, sync=True)
    except:
        #capture the exceptuion and do nothing
        pass
예제 #6
0
def invt_register_cas_role(fields_create_dict,
                           user_sync=False,
                           user_timeout=default_user_timeout):
    assert ('name' in fields_create_dict)
    base = get_inventory_base()
    assert (base)
    return base.register_object(root_key,
                                fields_create_dict,
                                user_sync=user_sync,
                                user_timeout=user_timeout)
def invt_unregister_vswitch_topology_edge(edge_id,
                                          user_sync=False,
                                          user_timeout=default_user_timeout):
    sub_key = edge_id
    base = get_inventory_base()
    assert (base)
    base.unregister_object(root_key,
                           sub_key,
                           user_sync=user_sync,
                           user_timeout=user_timeout)
예제 #8
0
def invt_unregister_vswitch_lan_zone(uuid,
                                     user_sync=False,
                                     user_timeout=default_user_time):
    sub_key = uuid
    base = get_inventory_base()
    assert (base)
    base.unregister_object(root_key,
                           sub_key,
                           user_sync=user_sync,
                           user_timeout=user_timeout)
예제 #9
0
def invt_unregister_vswitch_interface(uuid,
                                      user_sync=False,
                                      user_timeout=default_user_time):
    base = get_inventory_base()
    assert (base)
    sub_key = uuid
    return base.unregister_object(root_key,
                                  sub_key,
                                  user_sync=user_sync,
                                  user_timeout=user_timeout)
예제 #10
0
def invt_unset_taskflow(logbook_id):
    try:
        with contextlib.closing(_taskflow_backend.get_connection()) as conn:
            conn.destroy_logbook(logbook_id)
    except Exception as e:
        e3loger.warning('error occurs when dstroying log book:%s' %
                        (logbook_id))
    base = get_inventory_base()
    if not base:
        return False, 'inventory base not found'
    sub_key = logbook_id
    return base.unset_raw_object(root_key, sub_key)
예제 #11
0
def invt_update_cas_role(role_uuid,
                         fields_change_dict,
                         user_sync=False,
                         user_timeout=default_user_timeout):
    base = get_inventory_base()
    assert (base)
    sub_key = role_uuid
    base.update_object(root_key,
                       sub_key,
                       fields_change_dict,
                       user_sync=user_sync,
                       user_timeout=user_timeout)
def invt_register_vswitch_topology_edge(fields_create_dict,
                                        user_sync=False,
                                        user_timeout=default_user_timeout):
    assert ('interface0' in fields_create_dict)
    assert ('interface1' in fields_create_dict)
    assert ('service_id' in fields_create_dict)
    base = get_inventory_base()
    assert (base)
    return base.register_object(root_key,
                                fields_create_dict,
                                user_sync=user_sync,
                                user_timeout=user_timeout)
예제 #13
0
def invt_update_vswitch_lan_zone(uuid,
                                 fields_change_dict,
                                 user_sync=False,
                                 user_timeout=default_user_time):
    base = get_inventory_base()
    assert (base)
    sub_key = uuid
    base.update_object(root_key,
                       sub_key,
                       fields_change_dict,
                       user_sync=user_sync,
                       user_timeout=user_timeout)
def invt_register_vswitch_ether_service_vlan(
        fields_create_dict,
        user_sync=False,
        user_timeout=default_user_timeout):
    assert ('service_id' in fields_create_dict)
    assert ('lanzone_id' in fields_create_dict)
    assert ('vlan_id' in fields_create_dict)
    base = get_inventory_base()
    assert (base)
    return base.register_object(root_key,
                                fields_create_dict,
                                user_sync=user_sync,
                                user_timeout=user_timeout)
예제 #15
0
def invt_register_vswitch_lan_zone(fields_create_dict,
                                   user_sync=False,
                                   user_timeout=default_user_time):
    assert ('name' in fields_create_dict)
    assert ('zone_type' in fields_create_dict)
    assert (fields_create_dict['zone_type'] in [
        E3VSWITCH_LAN_ZONE_TYPE_BACKBONE, E3VSWITCH_LAN_ZONE_TYPE_CUSTOMER
    ])
    base = get_inventory_base()
    assert (base)
    return base.register_object(root_key,
                                fields_create_dict,
                                user_sync=user_sync,
                                user_timeout=user_timeout)
예제 #16
0
 def __init__(self, category, store=None, sync=True, callback=None):
     self.category = category  #this field acts as root_key
     self.schedule_node = None
     base = get_inventory_base()
     if base:
         self.schedule_node = base._getSelfNodeAddr()
     self.schedule_status = E3TASKFLOW_SCHEDULE_STATUS_UNKNOWN
     self.book_id = None
     self.flow_id = None
     self.sync = sync
     self.callback = callback
     self.store = store
     self.engine = None
     self.failure = None
     self.guard = threading.Lock()
예제 #17
0
def invt_register_vswitch_interface(fields_create_dict,
                                    user_sync=False,
                                    user_timeout=default_user_time):
    assert ('host_id' in fields_create_dict)
    assert ('dev_address' in fields_create_dict)
    assert ('lanzone_id' in fields_create_dict)
    if 'interface_status' in fields_create_dict:
        assert (fields_create_dict['interface_status'] in [
            E3VSWITCH_INTERFACE_STATUS_UNKNOWN,
            E3VSWITCH_INTERFACE_STATUS_ACTIVE,
            E3VSWITCH_INTERFACE_STATUS_INACTIVE,
            E3VSWITCH_INTERFACE_STATUS_MAINTENANCE
        ])
    if 'interface_type' in fields_create_dict:
        assert (fields_create_dict['interface_type'] in [
            E3VSWITCH_INTERFACE_TYPE_SHARED, E3VSWITCH_INTERFACE_TYPE_EXCLUSIVE
        ])
    base = get_inventory_base()
    assert (base)
    return base.register_object(root_key,
                                fields_create_dict,
                                user_sync=user_sync,
                                user_timeout=user_timeout)
예제 #18
0
def invt_get_vswitch_lan_zone(uuid):
    sub_key = uuid
    base = get_inventory_base()
    assert (base)
    return base.get_object(root_key, sub_key)
예제 #19
0
def invt_list_vswitch_lan_zones():
    base = get_inventory_base()
    assert (base)
    return base.list_objects(root_key)
def invt_get_vswitch_topology_edge(edge_id):
    sub_key = edge_id
    base = get_inventory_base()
    assert (base)
    return base.get_object(root_key, sub_key)
예제 #21
0
def invt_get_cas_token(token_uuid):
    sub_key = token_uuid
    base = get_inventory_base()
    assert (base)
    return base.get_object(root_key, sub_key)
def invt_list_vswitch_ether_service_vlans():
    base = get_inventory_base()
    assert (base)
    return base.list_objects(root_key)
def invt_list_vswitch_topology_edges():
    base = get_inventory_base()
    assert (base)
    return base.list_objects(root_key)
예제 #24
0
def invt_is_locked(lock_path):
    base = get_inventory_base()
    assert (base)
    caller_id = base._SyncObj__selfNodeAddr
    return base.is_locked(lock_path, caller_id, time.time())
def invt_get_vswitch_ether_service_vlan(vlan_uuid):
    sub_key = vlan_uuid
    base = get_inventory_base()
    assert (base)
    return base.get_object(root_key, sub_key)
예제 #26
0
def invt_list_cas_roles():
    base = get_inventory_base()
    assert (base)
    return base.list_objects(root_key)
예제 #27
0
def invt_get_cas_role(role_uuid):
    sub_key = role_uuid
    base = get_inventory_base()
    assert (base)
    return base.get_object(root_key, sub_key)
예제 #28
0
def invt_get_taskflow(logbook_id):
    base = get_inventory_base()
    if not base:
        return False, 'inventory base not found'
    sub_key = logbook_id
    return base.get_raw_object(root_key, sub_key)
예제 #29
0
def invt_list_taskflows():
    base = get_inventory_base()
    if not base:
        return False, 'inventory base not found'
    return base.list_raw_objects(root_key)
def invt_notify_event(category, obj, action=None, extra=None):
    base = get_inventory_base()
    if not base:
        return False, 'inventory not found'
    return base.notify_event(e3event(category, obj, action, extra))