From 7d7cc942211f0523f970dd6c1268d1d778aed8a7 Mon Sep 17 00:00:00 2001 From: Sylvain Bauza Date: Fri, 9 Jun 2017 17:11:24 +0200 Subject: [PATCH] Amend api-ref for multiple networks request Since there are chances that the guest OS won't honor the order of networks and assign NIC#1 to the second requested network, we say to our users to rather use device tagging and metadata querying. Amending the api-ref to mention explicitly that Nova doesn't support NIC ordering although there are codepaths for that which try that. Change-Id: Id134f7745111ccd12695bb041fcce182e833126a Related-Bug: #1696664 --- api-ref/source/parameters.yaml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/api-ref/source/parameters.yaml b/api-ref/source/parameters.yaml index 85ad55a3ca23..833ae4a7dcad 100644 --- a/api-ref/source/parameters.yaml +++ b/api-ref/source/parameters.yaml @@ -3673,12 +3673,18 @@ networks: a network, specify the UUID of the network in the ``uuid`` attribute in a ``networks`` object. To provision the server instance with a NIC for an already existing port, specify the port-id in the ``port`` attribute in a ``networks`` object. - - In microversion 2.32, the ``tag`` is an optional string attribute that - can be used to assign a tag to a virtual network interface. This tag is - then exposed to the guest in the metadata API and the config drive and is - associated to hardware metadata for that network interface, such as bus - (ex: PCI), bus address (ex: 0000:00:02.0), and MAC address. + + If multiple networks are defined, the order in which they appear in the + guest operating system will not necessarily reflect the order in which they + are given in the server boot request. Guests should therefore not depend + on device order to deduce any information about their network devices. + Instead, device role tags should be used: introduced in 2.32, broken in + 2.37, and re-introduced and fixed in 2.42, the ``tag`` is an optional, + string attribute that can be used to assign a tag to a virtual network + interface. This tag is then exposed to the guest in the metadata API and + the config drive and is associated to hardware metadata for that network + interface, such as bus (ex: PCI), bus address (ex: 0000:00:02.0), and MAC + address. A bug has caused the ``tag`` attribute to no longer be accepted starting with version 2.37. Therefore, network interfaces could only be tagged in