Fake nodes generation script improved for FakeUI

For FakeUI we need to generate nodes at least with 2 network
interfaces. Min ifaces num option added for action generate_nodes_fixture
in manage.py.
Minimal disk size increased from 14.5Gb to 145Gb.

Change-Id: I3514d0f20e96f81e40f39792a2a9c196b7f2c5ca
Partial-Bug: #1450463
This commit is contained in:
Alexander Kislitsky 2015-09-30 17:30:02 +03:00 committed by Alexander Kislitsky
parent cfbd83c766
commit b6e3d6175b
2 changed files with 19 additions and 8 deletions

View File

@ -105,6 +105,11 @@ def load_db_parsers(subparsers):
'-o', '--offline-nodes', dest='offline_nodes', action='store', type=int,
help='offline nodes count to generate'
)
generate_parser.add_argument(
'-i', '--min-ifaces-num', dest='min_ifaces_num', action='store',
type=int, default=1,
help='minimal number of ethernet interfaces for node'
)
subparsers.add_parser(
'loaddefault',
help='load data from default fixtures (settings.FIXTURES_TO_UPLOAD) '
@ -199,8 +204,10 @@ def action_generate_nodes_fixture(params):
'{0}_fake_nodes_environment.json'.format(total_nodes_count)
)
generator = fake_generator.FakeNodesGenerator()
res = generator.generate_fake_nodes(total_nodes_count, params.error_nodes,
params.offline_nodes)
res = generator.generate_fake_nodes(
total_nodes_count, error_nodes_count=params.error_nodes,
offline_nodes_count=params.offline_nodes,
min_ifaces_num=params.min_ifaces_num)
with open(file_path, 'w') as file_to_write:
jsonutils.dump(res, file_to_write, indent=4)

View File

@ -112,7 +112,7 @@ DISK_SAMPLES = [
'model': 'Silicon-Power16G',
'name': 'sdb',
'disk': 'sdb',
'size': 15518924800
'size': 155692564480
},
{
'model': 'WDC WD3200BPVT-7',
@ -309,7 +309,7 @@ class FakeNodesGenerator:
}
def generate_fake_node(self, pk, is_online=True, is_error=False,
use_offload_iface=False):
use_offload_iface=False, min_ifaces_num=1):
"""Generate one fake node
:param int pk: node's database primary key
:param bool is_online: node's online status
@ -351,7 +351,7 @@ class FakeNodesGenerator:
'cpu': self._generate_cpu_meta(kind),
'interfaces': self._generate_interfaces_meta(
mac, ip, netmask, use_offload_iface,
random.randrange(1, 7)),
random.randrange(min_ifaces_num, 7)),
'disks': self._generate_disks_meta(random.randint(1, 7)),
'system': self._generate_systems_meta(
hostname, manufacture, platform_name),
@ -362,7 +362,8 @@ class FakeNodesGenerator:
def generate_fake_nodes(self, total_nodes_count, error_nodes_count=None,
offline_nodes_count=None,
offloading_ifaces_nodes_count=None):
offloading_ifaces_nodes_count=None,
min_ifaces_num=1):
"""Generate list of fake nodes
:param int total_nodes_count: total count of nodes to generate
:param int error_nodes_count: count of error nodes (optional)
@ -395,8 +396,11 @@ class FakeNodesGenerator:
res = []
for i in total_nodes_range:
node = self.generate_fake_node(
i + 1, i not in offline_nodes_indexes,
i in error_nodes_indexes, i in offloading_ifaces_nodes_indexes
i + 1,
is_online=i not in offline_nodes_indexes,
is_error=i in error_nodes_indexes,
use_offload_iface=i in offloading_ifaces_nodes_indexes,
min_ifaces_num=min_ifaces_num
)
res.append(node)
return res