Upon LUNetworkDisconnect() export GROUP_NETWORK_MODE and
GROUP_NETWORK_LINK along with GROUP_NAME.

Export GROUP_NETWORK_VLAN too.

Signed-off-by: Dimitris Aragiorgis <[email protected]>
---
 doc/hooks.rst         |    4 ++--
 lib/cmdlib/network.py |    9 +++++++++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/doc/hooks.rst b/doc/hooks.rst
index fc37e73..3fe1b3b 100644
--- a/doc/hooks.rst
+++ b/doc/hooks.rst
@@ -245,7 +245,7 @@ Connects a network to a nodegroup.
 
 :directory: network-connect
 :env. vars: GROUP_NAME, NETWORK_NAME,
-            GROUP_NETWORK_MODE, GROUP_NETWORK_LINK,
+            GROUP_NETWORK_MODE, GROUP_NETWORK_LINK, GROUP_NETWORK_VLAN,
             NETWORK_SUBNET, NETWORK_GATEWAY, NETWORK_SUBNET6,
             NETWORK_GATEWAY6, NETWORK_MAC_PREFIX, NETWORK_TAGS
 :pre-execution: nodegroup nodes
@@ -259,7 +259,7 @@ Disconnects a network from a nodegroup.
 
 :directory: network-disconnect
 :env. vars: GROUP_NAME, NETWORK_NAME,
-            GROUP_NETWORK_MODE, GROUP_NETWORK_LINK,
+            GROUP_NETWORK_MODE, GROUP_NETWORK_LINK, GROUP_NETWORK_VLAN,
             NETWORK_SUBNET, NETWORK_GATEWAY, NETWORK_SUBNET6,
             NETWORK_GATEWAY6, NETWORK_MAC_PREFIX, NETWORK_TAGS
 :pre-execution: nodegroup nodes
diff --git a/lib/cmdlib/network.py b/lib/cmdlib/network.py
index 4cf4a43..76581e6 100644
--- a/lib/cmdlib/network.py
+++ b/lib/cmdlib/network.py
@@ -602,6 +602,7 @@ class LUNetworkConnect(LogicalUnit):
       "GROUP_NAME": self.group_name,
       "GROUP_NETWORK_MODE": self.network_mode,
       "GROUP_NETWORK_LINK": self.network_link,
+      "GROUP_NETWORK_VLAN": self.network_vlan,
       }
     return ret
 
@@ -687,6 +688,13 @@ class LUNetworkDisconnect(LogicalUnit):
     ret = {
       "GROUP_NAME": self.group_name,
       }
+
+    if self.connected:
+      ret.update({
+        "GROUP_NETWORK_MODE": self.netparams[constants.NIC_MODE],
+        "GROUP_NETWORK_LINK": self.netparams[constants.NIC_LINK],
+        "GROUP_NETWORK_VLAN": self.netparams[constants.NIC_VLAN],
+        })
     return ret
 
   def BuildHooksNodes(self):
@@ -715,6 +723,7 @@ class LUNetworkDisconnect(LogicalUnit):
         self, lambda nic: nic.network == self.network_uuid, "disconnect from",
         [instance_info for (_, instance_info) in
          self.cfg.GetMultiInstanceInfoByName(owned_instances)])
+      self.netparams = self.group.networks.get(self.network_uuid)
 
   def Exec(self, feedback_fn):
     # Disconnect the network and update the group only if network is connected
-- 
1.7.10.4

Reply via email to