Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 34 additions & 3 deletions plugins-base/XSFeatureNetworkReset.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,12 @@ def __init__(self):
except:
self.vlan = ''

self.renameMgmt = True
self.renameMenu = Menu(self, None, Lang("Choose to rename/keep the Management Interface name"), [
ChoiceDef(Lang("Rename"), lambda: self.HandleRenameChoice('RENAME') ),
ChoiceDef(Lang("Keep name"), lambda: self.HandleRenameChoice('KEEP') )
])

self.modeMenu = Menu(self, None, Lang("Select IP Address Configuration Mode"), [
ChoiceDef(Lang("DHCP"), lambda: self.HandleModeChoice('DHCP') ),
ChoiceDef(Lang("Static"), lambda: self.HandleModeChoice('STATIC') )
Expand Down Expand Up @@ -132,6 +138,14 @@ def UpdateFieldsDEVICE(self):
if pane.InputIndex() is None:
pane.InputIndexSet(0) # Activate first field for input

def UpdateFieldsRENAME(self):
pane = self.Pane()
pane.ResetFields()

pane.AddTitleField(Lang("Choose to rename/keep the Management Interface name"))
pane.AddMenuField(self.renameMenu)
pane.AddKeyHelpField( { Lang("<Enter>") : Lang("OK"), Lang("<Esc>") : Lang("Cancel") } )

def UpdateFieldsMODE(self):
pane = self.Pane()
pane.ResetFields()
Expand Down Expand Up @@ -174,6 +188,10 @@ def UpdateFieldsPRECOMMIT(self):

pane.AddWrappedTextField(Lang("The Primary Management Interface will be reconfigured with the following settings:"))
pane.AddStatusField(Lang("NIC", 16), self.device)
if self.renameMgmt:
pane.AddStatusField(Lang("Rename NIC:", 16), "Yes")
else:
pane.AddStatusField(Lang("Rename NIC:", 16), "No")
if self.vlan != '':
pane.AddStatusField(Lang("VLAN", 16), self.vlan)
pane.AddStatusField(Lang("IP Mode", 16), self.mode)
Expand Down Expand Up @@ -223,7 +241,7 @@ def HandleKeyDEVICE(self, inKey):
pane.InputIndexSet(None)
Layout.Inst().PushDialogue(InfoDialogue(Lang('VLAN tag must be between 0 and 4094')))
else:
self.ChangeState('MODE')
self.ChangeState('RENAME')
else:
pane.ActivateNextInput()
elif inKey == 'KEY_TAB':
Expand All @@ -236,6 +254,9 @@ def HandleKeyDEVICE(self, inKey):
handled = False
return handled

def HandleKeyRENAME(self, inKey):
return self.renameMenu.HandleKey(inKey)

def HandleKeyMODE(self, inKey):
return self.modeMenu.HandleKey(inKey)

Expand Down Expand Up @@ -324,6 +345,12 @@ def HandleKey(self, inKey):

return handled

def HandleRenameChoice(self, inChoice):
if inChoice == 'KEEP':
self.renameMgmt = False

self.ChangeState('MODE')

def HandleModeChoice(self, inChoice):
if inChoice == 'DHCP':
self.mode = 'dhcp'
Expand Down Expand Up @@ -404,9 +431,13 @@ def Commit(self):

# Reset the domain 0 network interface naming configuration
# back to a fresh-install state for the currently-installed
# hardware.
if rename_script_exists:
# hardware (unless prevented by the user).
if rename_script_exists and self.renameMgmt:
XSLog('Will rename the Management Interface')
os.system("/etc/sysconfig/network-scripts/interface-rename.py --reset-to-install")
else:
XSLog('Will NOT rename the Management Interface')

# Else, networkd will do the reset during starting up

class XSFeatureNetworkReset:
Expand Down