For performance testing all invotations to Nailgun were mocked in order to only measure pure client's performance. The patch introduces the following tests for 100 nodes: - list all nodes; - assign nodes to an environment; - list environment with pending nodes; - upload network parameters to nodes. Blueprint: 100-nodes-support Change-Id: I849ecd17ba4a9a48b8d4e6dafa75b095ee919ce6
132 lines
5.7 KiB
Python
132 lines
5.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
#
|
|
# Copyright 2014 Mirantis, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import random
|
|
|
|
from fuelclient import tests
|
|
|
|
|
|
def get_fake_node(cluster=None, hostname=None, node_id=None, cpu_model=None,
|
|
roles=None, mac=None, memory_b=None, os_platform=None,
|
|
status=None, node_name=None, group_id=None):
|
|
"""Creates a fake random node
|
|
|
|
Returns the serialized and parametrized representation of a dumped Fuel
|
|
environment. Represents the average amount of data.
|
|
|
|
"""
|
|
host_name = hostname or tests.utils.random_string(15, prefix='fake-node-')
|
|
|
|
return {"name": node_name or host_name,
|
|
"error_type": None,
|
|
"cluster": cluster or 1,
|
|
"id": node_id or random.randint(1, 10000),
|
|
"ip": "10.20.0.4",
|
|
"kernel_params": None,
|
|
"group_id": group_id or 1,
|
|
"mac": mac or "d6:11:3f:b0:f1:43",
|
|
"manufacturer": "VirtualBox",
|
|
"online": True,
|
|
"os_platform": os_platform or "centos",
|
|
"pending_addition": False,
|
|
"pending_deletion": False,
|
|
"pending_roles": [],
|
|
"platform_name": None,
|
|
"progress": 100,
|
|
"roles": roles or ["compute"],
|
|
"status": status or "ready",
|
|
"fqdn": "{hostname}.example.com".format(hostname=host_name),
|
|
|
|
"meta": {"cpu": {"real": 0,
|
|
"spec": [{"frequency": 2553,
|
|
"model": cpu_model or "Random CPU"}],
|
|
"total": 1},
|
|
|
|
"disks": [{"disk": "disk/by-path/pci:00:0d.0-scsi-2:0:0",
|
|
"extra": ["disk/by-id/scsi-SATA_VBOX_aef0bb5c",
|
|
"disk/by-id/ata-VBOX_HARDDISK_VB37"],
|
|
"model": "VBOX HARDDISK",
|
|
"name": "sdc",
|
|
"removable": "0",
|
|
"size": 68718428160},
|
|
|
|
{"disk": "disk/by-path/pci:0:0d.0-scsi-1:0:0:0",
|
|
"extra": ["disk/by-id/scsi-SATA_VBOX_30fbc3bb",
|
|
"disk/by-id/ata-VBOX_HARDD30fbc3bb"],
|
|
"model": "VBOX HARDDISK",
|
|
"name": "sdb",
|
|
"removable": "0",
|
|
"size": 68718428160},
|
|
|
|
{"disk": "disk/by-path/pci:00:d.0-scsi-0:0:0:0",
|
|
"extra": ["disk/by-id/scsi-SATA_VBOX-17e33653",
|
|
"disk/by-id/ata-VBOX_HARDD17e33653"],
|
|
"model": "VBOX HARDDISK",
|
|
"name": "sda",
|
|
"removable": "0",
|
|
"size": 68718428160}],
|
|
|
|
"interfaces": [{"name": "eth2",
|
|
"current_speed": 100,
|
|
"mac": "08:00:27:88:9C:46",
|
|
"max_speed": 100,
|
|
"state": "unknown"},
|
|
|
|
{"name": "eth1",
|
|
"current_speed": 100,
|
|
"mac": "08:00:27:24:BD:6D",
|
|
"max_speed": 100,
|
|
"state": "unknown"},
|
|
|
|
{"name": "eth0",
|
|
"current_speed": 100,
|
|
"mac": "08:00:27:C1:C5:72",
|
|
"max_speed": 100,
|
|
"state": "unknown"}],
|
|
"memory": {"total": memory_b or 1968627712},
|
|
|
|
"system": {"family": "Virtual Machine",
|
|
"fqdn": host_name,
|
|
"manufacturer": "VirtualBox",
|
|
"serial": "0",
|
|
"version": "1.2"}},
|
|
"network_data": [{"brd": "192.168.0.255",
|
|
"dev": "eth0",
|
|
"gateway": None,
|
|
"ip": "192.168.0.2/24",
|
|
"name": "management",
|
|
"netmask": "255.255.255.0",
|
|
"vlan": 101},
|
|
|
|
{"brd": "192.168.1.255",
|
|
"dev": "eth0",
|
|
"gateway": None,
|
|
"ip": "192.168.1.2/24",
|
|
"name": "storage",
|
|
"netmask": "255.255.255.0",
|
|
"vlan": 102},
|
|
|
|
{"brd": "172.16.0.255",
|
|
"dev": "eth1",
|
|
"gateway": "172.16.0.1",
|
|
"ip": "172.16.0.3/24",
|
|
"name": "public",
|
|
"netmask": "255.255.255.0",
|
|
"vlan": None},
|
|
|
|
{"dev": "eth0",
|
|
"name": "admin"}]}
|