Difference between revisions of "Provider-network-partial-specs"
m (→API impacts) |
(→Use Cases) |
||
Line 7: | Line 7: | ||
= Use Cases = | = Use Cases = | ||
This functionality could be used when : | This functionality could be used when : | ||
− | * creating networks for bare metal instances: neutron admin creates provider-networks with provider:network_type=vlan and delegates to neutron-server provider:physical_network and provider:segmentation_id | + | * creating networks for bare metal instances: neutron admin creates provider-networks with provider:network_type=vlan and delegates to neutron-server the choice of provider:physical_network and provider:segmentation_id using tenant-network pools, |
− | * creating service oriented networks which imposes some | + | * creating service oriented networks which imposes some provider attributes: neutron creates provider-networks with previous attributes and delegates to neutron-server the choice of remaining provider attributes using tenant-network pools. |
+ | |||
+ | = Examples = | ||
= API impacts = | = API impacts = |
Revision as of 20:54, 21 January 2014
Overview
Currently, all provider attributes for networks are chosen by:
- neutron-server for tenant networks,
- neutron admin for provider networks.
The aim of this functionality is to allow to the neutron admin to provide some provider network attributes and delegate when possible the choice of remaining provider attributes to neutron.
Use Cases
This functionality could be used when :
- creating networks for bare metal instances: neutron admin creates provider-networks with provider:network_type=vlan and delegates to neutron-server the choice of provider:physical_network and provider:segmentation_id using tenant-network pools,
- creating service oriented networks which imposes some provider attributes: neutron creates provider-networks with previous attributes and delegates to neutron-server the choice of remaining provider attributes using tenant-network pools.
Examples
API impacts
This functionality will change provider attributes constraints on provider network create:
- provider:network_type is required,
- when provider:network_type=vlan, provider::physical_network and provider:segmentation_id become optional, provider:segmentation_id can be provided only if provider::physical_network is provided (otherwise raise a http bad request),
- when provider:network_type=gre or vxlan, provider:segmentation_id becomes optional,
- when provider:network_type=flat, provider::physical_network becomes optional (not sure for the moment),
- when provider:network_type=local, no impact.
If some provider attributes are not provided, neutron will try to find in tenant network pools a network respecting provided provider attributes, if not network is found a http bad request (http code to discuss) is returned.
Implementation
Options (to discuss):
- Define alternative TypeDriver implementations for vlan/gre/vxlan/flat supporting to provide partial provider network specs.
- Update current TypeDriver implementations supporting to provide partial provider network specs.