Esempio n. 1
0
    def test_bulk_start_stop_and_usage(self):
        num_of_servers = 40

        # Check if usage is correct
        usage_client = cr.CurrentUsage()
        curr_cpu_usage = usage_client.list()['usage']['intel_cpu']['using']

        print(f'\nCreating servers ({num_of_servers})')
        server_req = [
            {
                'name': 'test_start_stop_server_%i' % i,
                'cpu': 1000,
                'mem': 512 * 1024 ** 2,
                'vnc_password': '******',
            } for i in range(num_of_servers)
        ]

        # Creating 40 servers
        servers = self.client.create(server_req)
        cpu_usage = sum(g['cpu'] for g in server_req) + curr_cpu_usage

        # Starting the servers
        print('Starting Servers', end='', flush=True)
        for i, server in enumerate(servers):
            print(f' {i + 1}', end='', flush=True)
            self.client.start(server['uuid'])

        # give a bit of time for usage to update
        time.sleep(2)

        self.assertEqual(
            cpu_usage,
            usage_client.list()['usage']['intel_cpu']['using']
        )

        # Wait for status running
        for server in servers:
            self._wait_for_status(server['uuid'], 'running')

        # Stop the servers
        print('\nStopping Servers', end='', flush=True)
        for i, server in enumerate(servers):
            print(f' {i + 1}', end='', flush=True)
            self.client.stop(server['uuid'])

        # Wait for them to stop
        for server in servers:
            self._wait_for_status(server['uuid'], 'stopped', timeout=45)

        # Delete them
        print('\nDeleting Servers', end='', flush=True)
        for i, server in enumerate(servers):
            print(f' {i + 1}', end='', flush=True)
            self.client.delete(server['uuid'])
Esempio n. 2
0
    def test_bulk_start_stop_and_usage(self):

        time.sleep(60)

        # Check if usage is correct
        usage_client = cr.CurrentUsage()
        curr_cpu_usage = usage_client.list()['usage']['cpu']['using']

        server_req = [{
            'name': 'test_start_stop_server_%i' % i,
            'cpu': 500,
            'mem': 512 * 1024**2,
            'vnc_password': '******',
        } for i in range(10)]

        # Creating 10 servers
        servers = self.client.create(server_req)
        cpu_usage = sum(g['cpu'] for g in server_req) + curr_cpu_usage

        # Subtract your own cpu usage from cpu_usage
        # 1 vm (4000 MHz) - 1000 MHz free tier
        #cpu_usage = cpu_usage - (4000 - 1000)

        # Starting the servers
        for server in servers:
            self.client.start(server['uuid'])

        time.sleep(120)  # give a bit of time for usage to update

        self.assertEqual(cpu_usage,
                         usage_client.list()['usage']['cpu']['using'])

        # Wait for status running
        for server in servers:
            self._wait_for_status(server['uuid'], 'running')

        # Stop the servers
        for server in servers:
            self.client.stop(server['uuid'])

        # Wait for them to stop
        for server in servers:
            self._wait_for_status(server['uuid'], 'stopped', timeout=45)

        # Delete them
        for server in servers:
            self.client.delete(server['uuid'])
Esempio n. 3
0
 def test_currentusage(self):
     client = cr.CurrentUsage()
     with DumpResponse(clients=[client])('currentusage_list'):
         currentusage = client.get()
     with DumpResponse(clients=[client])('currentusage_schema'):
         client.get_schema()