Esempio n. 1
0
    def __init__(self):
        self._logger = logging.getLogger(__name__)

        self._filter = None
        self._current_version = None
        self._vm_cache = {}
        self._vm_name_to_ref = BlockingDict()
        self._ds_cache = {}
        self._lock = threading.RLock()
        self._task_cache = BlockingDict()
        self._memory_usage = 0
Esempio n. 2
0
    def __init__(self,
                 host="localhost",
                 user=None,
                 pwd=None,
                 wait_timeout=10,
                 min_interval=1,
                 auto_sync=True,
                 ticket=None,
                 stats_interval=600,
                 errback=None):
        self._logger = logging.getLogger(__name__)
        self.host = host
        self.current_version = None
        self._vm_cache = {}
        self._vm_name_to_ref = BlockingDict()
        self._host_stats = {}
        self._ds_name_properties = {}
        self._vm_cache_lock = threading.RLock()
        self._host_cache_lock = threading.Lock()
        self._task_cache = BlockingDict()
        self._task_counter_lock = threading.Lock()
        self._task_counter = 0
        self.filter = None
        self.min_interval = min_interval
        self.sync_thread = None
        self.wait_timeout = wait_timeout
        self.stats_interval = stats_interval
        self.username = None
        self.password = None
        self.auto_sync = auto_sync
        self.errback = errback
        self.update_listeners = set()

        if ticket:
            self._si = self.connect_ticket(host, ticket)
        else:
            if not user or not pwd:
                (self.username, self.password) = \
                    VimClient.acquire_credentials()
            else:
                (self.username, self.password) = (user, pwd)
            self._si = self.connect_userpwd(host, self.username, self.password)

        self._content = self._si.RetrieveContent()

        if auto_sync:
            # Initialize host stat counters.
            self.initialize_host_counters()

            # Initialize vm cache
            self.update_cache()

            # Start syncing vm cache periodically
            self._start_syncing_cache()