Moved parse_compute_hosts to common

This commit is contained in:
Anton Beloglazov 2012-10-03 11:11:59 +10:00
parent 932323961a
commit f5338d15b6
4 changed files with 24 additions and 23 deletions

View File

@ -21,6 +21,7 @@ from neat.contracts_extra import *
import os
import time
import json
import re
import numpy
from neat.config import *
@ -223,6 +224,19 @@ def parse_parameters(params):
return dict((str(k), v)
for k, v in json.loads(params).items())
@contract
def parse_compute_hosts(compute_hosts):
""" Transform a coma-separated list of host names into a list.
:param compute_hosts: A coma-separated list of host names.
:type compute_hosts: str
:return: A list of host names.
:rtype: list(str)
"""
return filter(None, re.split('\W+', compute_hosts))
@contract
def calculate_migration_time(vms, bandwidth):

View File

@ -71,7 +71,6 @@ from contracts import contract
from neat.contracts_extra import *
import bottle
import re
import json
from hashlib import sha1
from novaclient.v1_1 import client
@ -235,20 +234,8 @@ def init_state(config):
service_type="compute"),
'hashed_username': sha1(config['os_admin_user']).hexdigest(),
'hashed_password': sha1(config['os_admin_password']).hexdigest(),
'compute_hosts': parse_compute_hosts(config['compute_hosts'])}
@contract
def parse_compute_hosts(compute_hosts):
""" Transform a coma-separated list of host names into a list.
:param compute_hosts: A coma-separated list of host names.
:type compute_hosts: str
:return: A list of host names.
:rtype: list(str)
"""
return filter(None, re.split('\W+', compute_hosts))
'compute_hosts': common.parse_compute_hosts(
config['compute_hosts'])}
@contract

View File

@ -146,7 +146,7 @@ class GlobalManager(TestCase):
'user', 'password', 'tenant', 'url',
service_type='compute'). \
and_return(nova).once()
expect(manager).parse_compute_hosts('host1, host2'). \
expect(common).parse_compute_hosts('host1, host2'). \
and_return(hosts).once()
state = manager.init_state(config)
assert state['previous_time'] == 0
@ -156,13 +156,6 @@ class GlobalManager(TestCase):
assert state['hashed_password'] == sha1('password').hexdigest()
assert state['compute_hosts'] == hosts
def test_parse_compute_hosts(self):
assert manager.parse_compute_hosts('') == []
assert manager.parse_compute_hosts('test1, test2') == \
['test1', 'test2']
assert manager.parse_compute_hosts('t1,, t2 , t3') == \
['t1', 't2', 't3']
def test_service(self):
app = mock('app')
state = {'hashed_username': 'user',

View File

@ -146,6 +146,13 @@ class Common(TestCase):
self.assertEqual(common.parse_parameters(params), {'param1': 0.56,
'param2': 'abc'})
def test_parse_compute_hosts(self):
assert common.parse_compute_hosts('') == []
assert common.parse_compute_hosts('test1, test2') == \
['test1', 'test2']
assert common.parse_compute_hosts('t1,, t2 , t3') == \
['t1', 't2', 't3']
@qc(10)
def calculate_migration_time(
data=dict_(