Пример #1
0
    def test_get_disk_usage__(self):
        output = ('Filesystem      Size  Used Avail Use% Mounted on\n'
                  '/dev/sda5        24G  5.2G   18G  24% /\n'
                  'udev            7.8G  4.0K  7.8G   1% /dev\n'
                  'tmpfs           3.2G  892K  3.2G   1% /run\n'
                  'none            5.0M     0  5.0M   0% /run/lock\n'
                  '/dev/sda4       7.8G  164K  7.8G   1% /run/shm\n'
                  '/dev/sda6       255G  434M  209G  14% /home')
        df = MagicMock()
        df.communicate.return_value = [output]
        with patch.object(sys_assist.sys, 'platform', self.platform), \
                patch.object(sys_assist.subprocess, 'Popen', return_value=df):
            usage = sys_assist.get_disk_usage()

        self.assertTrue('/dev/sda4' in usage)
        self.assertTrue('total' in usage['/dev/sda4'])
        self.assertEqual(usage['/dev/sda4']['total'], 7.8)
        self.assertEqual(usage['/dev/sda4']['used'], 0.000156402587890625)
        self.assertTrue('/dev/sda5' in usage)
        self.assertEqual(usage['/dev/sda5']['total'], 24.0)
        self.assertEqual(usage['/dev/sda5']['used'], 5.2)
        self.assertTrue('/dev/sda6' in usage)
        self.assertEqual(usage['/dev/sda6']['total'], 255.0)
        self.assertEqual(usage['/dev/sda6']['used'], 0.423828125)
        self.assertTrue('tmpfs' in usage)
        self.assertTrue('udev' in usage)
Пример #2
0
 def __init__(self, **kwargs):
     if kwargs:
         self.cpu_cores = kwargs['cpu_cores']
         self.os_type = kwargs['os_type']
         self.memory_mb = kwargs['memory_mb']
         self.architecture = kwargs['architecture']
         self.load_average = kwargs['load_average']
         self.disk_usage = kwargs['disk_usage']
     else:
         self.cpu_cores = sys_assist.get_cpu_core_count()
         self.os_type = platform.platform()
         self.memory_mb = sys_assist.get_sys_mem_total_MB()
         self.architecture = platform.machine()
         self.load_average = sys_assist.get_load_average()
         self.disk_usage = sys_assist.get_disk_usage()
Пример #3
0
 def __init__(self, **kwargs):
     if kwargs:
         self.cpu_cores = kwargs['cpu_cores']
         self.os_type = kwargs['os_type']
         self.memory_mb = kwargs['memory_mb']
         self.architecture = kwargs['architecture']
         self.load_average = kwargs['load_average']
         self.disk_usage = kwargs['disk_usage']
         self.timestamp = kwargs['timestamp']
     else:
         self.cpu_cores = sys_assist.get_cpu_core_count()
         self.os_type = platform.platform()
         self.memory_mb = sys_assist.get_sys_mem_total_MB()
         self.architecture = platform.machine()
         self.load_average = sys_assist.get_load_average()
         self.disk_usage = sys_assist.get_disk_usage()
         self.timestamp = timeutils.utcnow()
Пример #4
0
    def test_get_disk_usage__(self):
        output = ('Filesystem      Size  Used Avail Use% Mounted on\n'
                  '/dev/sda5        24G  5.2G   18G  24% /\n'
                  'udev            7.8G  4.0K  7.8G   1% /dev\n'
                  'tmpfs           3.2G  892K  3.2G   1% /run\n'
                  'none            5.0M     0  5.0M   0% /run/lock\n'
                  '/dev/sda4       7.8G  164K  7.8G   1% /run/shm\n'
                  '/dev/sda6       255G  434M  209G  14% /home')
        df = MagicMock()
        df.communicate.return_value = [output]
        with patch.object(sys_assist.sys, 'platform', self.platform), \
                patch.object(sys_assist.subprocess, 'Popen', return_value=df):
            usage = sys_assist.get_disk_usage()

        sda4 = {
            'device': '/dev/sda4',
            'total': 7.8,
            'used': 0.000156402587890625
        }
        self.assertTrue(sda4 in usage)
        sda5 = {
            'device': '/dev/sda5',
            'total': 24.0,
            'used': 5.2
        }
        self.assertTrue(sda5 in usage)
        sda6 = {
            'device': '/dev/sda6',
            'total': 255.0,
            'used': 0.423828125
        }
        self.assertTrue(sda6 in usage)
        sda4 = {
            'device': '/dev/sda4',
            'total': 7.8,
            'used': 0.000156402587890625
        }
        self.assertTrue(sda4 in usage)
        sda4 = {
            'device': '/dev/sda4',
            'total': 7.8,
            'used': 0.000156402587890625
        }
        self.assertTrue(sda4 in usage)
Пример #5
0
    def _send_stats(self, load_ave_interval, disk_usage_interval):
        """
        send system usage data to the coordinator on specified intervals
        """

        time_lapsed = 0

        while True:
            sleep(load_ave_interval)
            time_lapsed += load_ave_interval

            cache = ConfigCache()
            config = cache.get_config()
            if config:
                token_header = {
                    "WORKER-ID": config.worker_id,
                    "WORKER-TOKEN": config.worker_token
                }

                request_uri = "{0}/worker/{1}/status".format(
                    config.coordinator_uri, config.worker_id)

                req_body = {'load_average': sys_assist.get_load_average()}

                if time_lapsed == disk_usage_interval:
                    time_lapsed = 0
                    req_body.update(
                        {'disk_usage': sys_assist.get_disk_usage()})

                try:
                    http_request(request_uri, token_header,
                                 jsonutils.dumps(req_body),
                                 http_verb='PUT')

                except requests.RequestException:
                    pass

            if self.run_once:
                break
Пример #6
0
 def __init__(self, **kwargs):
     """
     An object can be initialized by passing in a dictionary representation
     of the data as **kwargs.  Otherwise the constructor will retrieve
     system stats from the machine it is executing on.
     """
     if kwargs:
         self.cpu_cores = kwargs['cpu_cores']
         self.os_type = kwargs['os_type']
         self.memory_mb = kwargs['memory_mb']
         self.architecture = kwargs['architecture']
         self.load_average = kwargs['load_average']
         self.disk_usage = kwargs['disk_usage']
         self.timestamp = kwargs['timestamp']
     else:
         self.cpu_cores = sys_assist.get_cpu_core_count()
         self.os_type = platform.platform()
         self.memory_mb = sys_assist.get_sys_mem_total_MB()
         self.architecture = platform.machine()
         self.load_average = sys_assist.get_load_average()
         self.disk_usage = sys_assist.get_disk_usage()
         self.timestamp = str(timeutils.utcnow())
Пример #7
0
 def __init__(self, **kwargs):
     """
     An object can be initialized by passing in a dictionary representation
     of the data as **kwargs.  Otherwise the constructor will retrieve
     system stats from the machine it is executing on.
     """
     if kwargs:
         self.cpu_cores = kwargs['cpu_cores']
         self.os_type = kwargs['os_type']
         self.memory_mb = kwargs['memory_mb']
         self.architecture = kwargs['architecture']
         self.load_average = kwargs['load_average']
         self.disk_usage = kwargs['disk_usage']
         self.timestamp = kwargs['timestamp']
     else:
         self.cpu_cores = sys_assist.get_cpu_core_count()
         self.os_type = platform.platform()
         self.memory_mb = sys_assist.get_sys_mem_total_MB()
         self.architecture = platform.machine()
         self.load_average = sys_assist.get_load_average()
         self.disk_usage = sys_assist.get_disk_usage()
         self.timestamp = timeutils.utcnow()