Пример #1
0
def get_logger(name):
    try:
        import xlogging
        logger = xlogging.getLogger(name)
        # print('bootinit using xlogging logger')
        return logger
    except ImportError as e:
        pass
    return sf_logger(name)
Пример #2
0
import os
import signal
import subprocess
import tempfile
import traceback
import tarfile
import io
import threading
import struct
import xlogging
import time
import copy

NUL = b"\0"

_logger = xlogging.getLogger(__name__)

# 功能说明:
#
#
#
# 参考
#

class TapeFileobj(object):
    def __init__(self,tar_out_devname):
        self.__tar_out_devname = tar_out_devname
        self.__fd = 0
        try:
            mode = os.O_WRONLY | os.O_APPEND
            self.__fd = os.open(tar_out_devname, mode, 0o666)
Пример #3
0
import os
import signal
import subprocess
import tempfile
import traceback

import xlogging

_logger = xlogging.getLogger('network_r')


def get_info_from_file(in_file):
    if os.path.isfile(in_file):
        try:
            with open(in_file) as fd:
                mstr = fd.read()
                fd.close()
                _logger.info("read file {} success,info {}".format(
                    in_file, mstr))
                return 0, mstr
        except Exception as e:
            _logger.error("read file {} failed {},{}".format(
                in_file, e, traceback.format_exc()))
    else:
        _logger.error("read file {} failed,file not exist".format(in_file))
    return -1, None


def set_info_to_file(in_file, in_str, in_format):
    # if os.path.isfile(in_file):
    try:
Пример #4
0
import client
import time
import logging
import random
import uuid
from unittest.mock import patch
# import pytest

from data_access import models as m
from data_access import session as s
import create_storage_task as cst
import xlogging

_logger = xlogging.getLogger('destroy_task')
logging.basicConfig(filename='destroy_task.log',
                    format='%(asctime)s [%(levelname)s] %(message)s',
                    level=logging.INFO)


class DestroyStorage(object):
    def __init__(self):
        self.journal_token = cst.generate_token()
        self.idents = [
            self.journal_token,
        ]

    def create_destroy_journal(self):
        destroy_journal_params = {
            'journal_token': self.journal_token,
            'idents': self.idents,
        }
Пример #5
0
import configparser
import copy
import json
import os
import re
import subprocess
import threading
import traceback

import logicService
import net_common
import xlogging

net_lock = threading.Lock()

_logger = xlogging.getLogger('net_base')

# define type info
_NET_TYPE_NAME_BOND = 'bond'
_NET_TYPE_NAME_PHY = 'phy'
_NET_TYPE_NAME_UNKNOWN = 'net name unknown'

# define error info
_NET_ERROR_NO_CFG_FILE = 'no cfg_file'
_NET_ERROR_NAME_UNKNOWN = _NET_TYPE_NAME_UNKNOWN

# 网卡驱动和网卡型号对应字典,驱动作为key
net_cardtype_driver_dict = dict()

reip = re.compile("^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])"
                  "\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])"
Пример #6
0
import decimal
import json
import logging
import os
import random
import string
import time

import client
from data_access import models as m
from data_access import session as s
import test_disksnapshot_complex_task as td
import xlogging

_logger = xlogging.getLogger('create_task')
logging.basicConfig(filename='create_task.log',
                    format='%(asctime)s [%(levelname)s] %(message)s',
                    level=logging.INFO)


class DecimalEncoder(json.JSONEncoder):
    def default(self, o):
        if isinstance(o, decimal.Decimal):
            return float(o)
        return super(DecimalEncoder, self).default(o)


token_list = list()
ident_list = list()
handle_list = list()
Пример #7
0
# !/usr/bin/python

import os
import shlex
import shutil
import subprocess
import sys
import threading
import time

import kvm_host
import linux_system_locker
import net_common
import xlogging

_logger = xlogging.getLogger(__name__)
_nbd_logger = xlogging.getLogger('nbd_r')
_device_size = None

_TMP_DIR = r'/dev/shm/dev'
_EXEC_PATH = r'/sbin/aio/gznbd'
_QEMU_NDB_EXEC_PATH = r'qemu-nbd'
_LVM_CFG_PATH = r'/etc/lvm/lvm.conf'
_LVM_CFG_TEMP_PATH = r'/etc/lvm/lvm.conf.tmp'
_LVM_CFG_BEGIN = r'#CLW_FLAG_BEGIN'
_LVM_CFG_END = r'#CLW_FLAG_END'
_LVM_CFG_FILE_LOCK = r'/run/systemlocker.logic_serivce.lvm_cfg'

_lvm_global_filter = set()
_lvm_global_filter_locker = threading.RLock()
Пример #8
0
import shutil
import threading
import time
import uuid
import sys

import logicService
import nbd
import xlogging
from bitmap import MmapBitMap, BitMap
from compare_aio_hash import fetch_changes
from net_common import get_info_from_syscmd
import qcow_helper
import queue

_hash_logger = xlogging.getLogger('hash_r')

import IMG

BLK_SIZE = 64 * 1024

index_file = re.compile('\d+')
hash_helper = ctypes.cdll.LoadLibrary(r'/sbin/aio/hash_helper.so')
_sort_locker = threading.Lock()
"""
hash 文件一行内容 lba(16进制,扇区偏移), length, hash_content 
例如:0x0,256,89b5ccfb65269ede9c52e5a235e3658530c1a5a8
"""


def _get_offset(_byte):
Пример #9
0
import logging
import os
import random
import time

import client
import test_disksnapshot_complex_task as td
import create_storage_task as cst
import xlogging

_logger = xlogging.getLogger('open_task')
logging.basicConfig(filename='open_task.log',
                    format='%(asctime)s [%(levelname)s] %(message)s',
                    level=logging.INFO)


class OpenStorage(object):
    def __init__(self):
        self.storage_ident = random.sample(td.normal_guid_pool, 1)[0]
        self.handle = self.storage_ident

    def open_storage(self):
        caller_trace = 'open storage of {}'.format(self.handle)
        caller_pid = os.getpid()
        caller_pid_created = int(time.time())
        # timestamp = cst.GetStorage(self.storage_ident).start_time()
        timestamp = float(cst.GetStorage(self.storage_ident).start_time())
        open_raw_handle = False
        open_storage_params_dict = {
            'handle': self.handle,
            'caller_trace': caller_trace,
Пример #10
0
    (-3, 'busy'),  # 表示设备繁忙。
]


class MBaseException(Exception):
    def __init__(self, msg, debug, code):
        self.msg = msg
        self.debug = debug
        self.code = code

    def __str__(self):
        return '{}:{} {} {}'.format(self.__class__.__name__, self.msg,
                                    self.debug, self.code)


_logger = xlogging.getLogger('tape_r')


class MediaTarget(object):
    def __init__(self, media_uuid, media_data):
        self.media_uuid = copy.copy(media_uuid)  # 要跟子类共用。
        self.media_data = copy.copy(media_data)  # 要跟子类共用。
        self.align_size = 64 * 1024
        self.__lock = threading.RLock()  # 不能重写。

        self.writetask = False
        self.__task_info = None  # 不能重写。
        self.__taskext = dict()  #
        self.__handles = list()  # 不能重写。
        self.__file_uuids_list = list()  # 不能重写。
        self.__uuid_used_check = dict()