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
