[PATCH 08/10] Vlan support: generate kickstart (#906272)
Radek Vykydal
rvykydal at redhat.com
Mon Mar 11 13:15:30 UTC 2013
---
pyanaconda/network.py | 15 +++++++++++++++
pyanaconda/ui/gui/spokes/network.py | 4 +++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/network.py b/pyanaconda/network.py
index 626e2c0..9ed2bc7 100644
--- a/pyanaconda/network.py
+++ b/pyanaconda/network.py
@@ -512,6 +512,11 @@ def kickstartNetworkData(ifcfg=None, hostname=None):
sep = ";"
kwargs["bondopts"] = sep.join(bondopts.split())
+ # vlan
+ if ifcfg.get("VLAN") == "yes" or ifcfg.get("TYPE") == "Vlan":
+ kwargs["device"] = ifcfg.get("PHYSDEV")
+ kwargs["vlanid"] = ifcfg.get("VLAN_ID")
+
return handler.NetworkData(**kwargs)
def get_bond_master_ifcfg_name(devname):
@@ -525,6 +530,16 @@ def get_bond_master_ifcfg_name(devname):
if ifcfg.get("DEVICE") == devname:
return filename
+def get_vlan_ifcfg_name(devname):
+ """Name of ifcfg file of vlan device devname"""
+
+ for filename in _ifcfg_files(netscriptsDir):
+ ifcfg = NetworkDevice(netscriptsDir, filename[6:])
+ ifcfg.loadIfcfgFile()
+ if ifcfg.get("VLAN") == "yes" or ifcfg.get("TYPE") == "Vlan":
+ if ifcfg.get("DEVICE") == devname:
+ return filename
+
def get_bond_slaves_from_ifcfgs(master_specs):
"""List of slave device names of master specified by master_specs.
diff --git a/pyanaconda/ui/gui/spokes/network.py b/pyanaconda/ui/gui/spokes/network.py
index 9732b6f..140b4f9 100644
--- a/pyanaconda/ui/gui/spokes/network.py
+++ b/pyanaconda/ui/gui/spokes/network.py
@@ -41,7 +41,7 @@ from pyanaconda.ui.gui.categories.software import SoftwareCategory
from pyanaconda.ui.gui.hubs.summary import SummaryHub
from pyanaconda.ui.gui.utils import gtk_call_once
-from pyanaconda.network import NetworkDevice, netscriptsDir, kickstartNetworkData, logIfcfgFiles, update_hostname_data, sanityCheckHostname, getHostname, DEFAULT_HOSTNAME, get_bond_master_ifcfg_name
+from pyanaconda.network import NetworkDevice, netscriptsDir, kickstartNetworkData, logIfcfgFiles, update_hostname_data, sanityCheckHostname, getHostname, DEFAULT_HOSTNAME, get_bond_master_ifcfg_name, get_vlan_ifcfg_name
from pyanaconda.nm import nm_activated_devices, nm_device_setting_value
from gi.repository import GLib, GObject, Pango, Gio, NetworkManager, NMClient
@@ -1310,6 +1310,8 @@ def getKSNetworkData(device):
ifcfg_suffix = ap.get_ssid()
elif device.get_device_type() == NetworkManager.DeviceType.BOND:
ifcfg_suffix = get_bond_master_ifcfg_name(device.get_iface())[6:]
+ elif device.get_device_type() == NetworkManager.DeviceType.VLAN:
+ ifcfg_suffix = get_vlan_ifcfg_name(device.get_iface())[6:]
if ifcfg_suffix:
ifcfg_suffix = ifcfg_suffix.replace(' ', '_')
--
1.7.11.7
More information about the anaconda-patches
mailing list