diff options
author | Kubi <jean.gaoliang@huawei.com> | 2017-04-23 10:41:27 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-04-23 10:41:27 +0000 |
commit | bd877d6bd6928ac4bdebdd292c15dc94241542f3 (patch) | |
tree | 75f15e6220cadad75aac8bcdb35933c15c6e75f6 /yardstick | |
parent | bb365d411d88a71871993b4ed803c2ffbbcb79bf (diff) | |
parent | f51ba41255d6ab2c03fd62a044d372b73b496459 (diff) |
Merge "Add SRIOV support"
Diffstat (limited to 'yardstick')
-rw-r--r-- | yardstick/benchmark/contexts/heat.py | 7 | ||||
-rw-r--r-- | yardstick/benchmark/contexts/model.py | 5 | ||||
-rw-r--r-- | yardstick/orchestrator/heat.py | 31 |
3 files changed, 32 insertions, 11 deletions
diff --git a/yardstick/benchmark/contexts/heat.py b/yardstick/benchmark/contexts/heat.py index 604df80d1..d5dccd2a2 100644 --- a/yardstick/benchmark/contexts/heat.py +++ b/yardstick/benchmark/contexts/heat.py @@ -133,8 +133,11 @@ class HeatContext(Context): template.add_security_group(self.secgroup_name) for network in self.networks: - template.add_network(network.stack_name) - template.add_subnet(network.subnet_stack_name, network.stack_name, + template.add_network(network.stack_name, + network.physical_network, + network.provider) + template.add_subnet(network.subnet_stack_name, + network.stack_name, network.subnet_cidr) if network.router: diff --git a/yardstick/benchmark/contexts/model.py b/yardstick/benchmark/contexts/model.py index 4873afde3..71ee1f3c2 100644 --- a/yardstick/benchmark/contexts/model.py +++ b/yardstick/benchmark/contexts/model.py @@ -105,6 +105,8 @@ class Network(Object): self.subnet_stack_name = self.stack_name + "-subnet" self.subnet_cidr = attrs.get('cidr', '10.0.1.0/24') self.router = None + self.physical_network = attrs.get('physical_network', 'physnet1') + self.provider = attrs.get('provider', None) if "external_network" in attrs: self.router = Router("router", self.name, @@ -226,7 +228,8 @@ class Server(Object): # pragma: no cover self.ports[network.name] = {"stack_name": port_name} template.add_port(port_name, network.stack_name, network.subnet_stack_name, - sec_group_id=self.secgroup_name) + sec_group_id=self.secgroup_name, + provider=network.provider) port_name_list.append(port_name) if self.floating_ip: diff --git a/yardstick/orchestrator/heat.py b/yardstick/orchestrator/heat.py index 49126f661..fa2da5e11 100644 --- a/yardstick/orchestrator/heat.py +++ b/yardstick/orchestrator/heat.py @@ -31,6 +31,8 @@ log = logging.getLogger(__name__) HEAT_KEY_UUID_LENGTH = 8 +PROVIDER_SRIOV = "sriov" + def get_short_key_uuid(uuid): return str(uuid)[:HEAT_KEY_UUID_LENGTH] @@ -188,13 +190,23 @@ class HeatTemplate(HeatObject): log.debug("template object '%s' created", name) - def add_network(self, name): + def add_network(self, name, physical_network='physnet1', provider=None): """add to the template a Neutron Net""" log.debug("adding Neutron::Net '%s'", name) - self.resources[name] = { - 'type': 'OS::Neutron::Net', - 'properties': {'name': name} - } + if provider is None: + self.resources[name] = { + 'type': 'OS::Neutron::Net', + 'properties': {'name': name} + } + else: + self.resources[name] = { + 'type': 'OS::Neutron::ProviderNet', + 'properties': { + 'name': name, + 'network_type': 'vlan', + 'physical_network': physical_network + } + } def add_server_group(self, name, policies): # pragma: no cover """add to the template a ServerGroup""" @@ -228,7 +240,6 @@ class HeatTemplate(HeatObject): def add_router(self, name, ext_gw_net, subnet_name): """add to the template a Neutron Router and interface""" log.debug("adding Neutron::Router:'%s', gw-net:'%s'", name, ext_gw_net) - self.resources[name] = { 'type': 'OS::Neutron::Router', 'depends_on': [subnet_name], @@ -244,7 +255,6 @@ class HeatTemplate(HeatObject): """add to the template a Neutron RouterInterface and interface""" log.debug("adding Neutron::RouterInterface '%s' router:'%s', " "subnet:'%s'", name, router_name, subnet_name) - self.resources[name] = { 'type': 'OS::Neutron::RouterInterface', 'depends_on': [router_name, subnet_name], @@ -254,7 +264,8 @@ class HeatTemplate(HeatObject): } } - def add_port(self, name, network_name, subnet_name, sec_group_id=None): + def add_port(self, name, network_name, subnet_name, sec_group_id=None, + provider=None): """add to the template a named Neutron Port""" log.debug("adding Neutron::Port '%s', network:'%s', subnet:'%s', " "secgroup:%s", name, network_name, subnet_name, sec_group_id) @@ -269,6 +280,10 @@ class HeatTemplate(HeatObject): } } + if provider == PROVIDER_SRIOV: + self.resources[name]['properties']['binding:vnic_type'] = \ + 'direct' + if sec_group_id: self.resources[name]['depends_on'].append(sec_group_id) self.resources[name]['properties']['security_groups'] = \ |