diff options
author | Jeremy Katz <katzj@redhat.com> | 2006-02-09 18:43:41 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2006-02-09 18:43:41 +0000 |
commit | 9d73cbacc7cde3c4a8bad96bffb6190c927dc30b (patch) | |
tree | 3615ea940cc54c03b114623702fbe2359622ac6b /textw | |
parent | c7d5222375e20b6eeba938b91d0db1904774f235 (diff) | |
download | anaconda-9d73cbacc7cde3c4a8bad96bffb6190c927dc30b.tar.gz anaconda-9d73cbacc7cde3c4a8bad96bffb6190c927dc30b.tar.xz anaconda-9d73cbacc7cde3c4a8bad96bffb6190c927dc30b.zip |
2006-02-09 Patrick Mansfield <patmans@us.ibm.com>
* anaconda: Add handling of iscsi flag
* flags.py: Add iscsi flag
* installclass.py: Add iscsi step
* dispatch.py: Add iscsi step.
* gui.py: Add iscsi step.
* text.py: Add iscsi step
* instdata.py: Add iscsi object
* iscsi.py: Add main iscsi code
* iw/iscsi_gui.py: Add graphical iSCSI configuration
* ui/iscsi-config.glade: Glade-file for iSCSI config
* textw/iscsi_text.py: Add text mode iSCSI configuration
* scripts/mk-images (SCSIMODS): Add iscsi modules
* scripts/upd-instroot: Add iscsi tools
Diffstat (limited to 'textw')
-rw-r--r-- | textw/iscsi_text.py | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/textw/iscsi_text.py b/textw/iscsi_text.py new file mode 100644 index 000000000..83df71252 --- /dev/null +++ b/textw/iscsi_text.py @@ -0,0 +1,83 @@ +# +# iscs_text.py: iscsi text dialog +# +# Copyright 2006 IBM, Inc. +# +# This software may be freely redistributed under the terms of the GNU +# general public license. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +import isys +from network import sanityCheckIPString +from snack import * +from constants import * +from constants_text import * +from rhpl.translate import _ + +class iscsiWindow: + def __call__(self, screen, iscsi, intf): + self.iscsi = iscsi + + # We have 3 values of interest: target IP address, port and + # initiator name. + # + # Create a Grid that is 2 columns (label and value) by 3 rows in + # size. + grid = Grid(2, 3) + + row = 0 + self.ip_entry = Entry (16) + self.ip_entry.set(self.iscsi.ipaddr) + grid.setField(Label(_("Target IP address:")), 0, row, anchorLeft = 1) + grid.setField(self.ip_entry, 1, row, anchorLeft = 1, + padding = (1, 0, 0, 0)) + + row += 1 + self.port_entry = Entry(16) + self.port_entry.set(self.iscsi.port) + grid.setField(Label(_("Port Number:")), 0, row, anchorLeft = 1) + grid.setField(self.port_entry, 1, row, anchorLeft = 1, + padding = (1, 0, 0, 0)) + + row +=1 + self.initiator_entry = Entry(32) + self.initiator_entry.set(self.iscsi.initiator) + grid.setField(Label(_("iSCSI Initiator Name:")), 0, row, anchorLeft = 1) + grid.setField(self.initiator_entry, 1, row, anchorLeft = 1, + padding = (1, 0, 0, 0)) + + bb = ButtonBar(screen, (TEXT_OK_BUTTON, TEXT_BACK_BUTTON)) + + toplevel = GridFormHelp(screen, _("iSCSI Configuration"), "iSCSI", 1, 5) + toplevel.add(grid, 0, 1, (0, 0, 0, 1), anchorLeft = 1) + toplevel.add(bb, 0, 3, growx = 1) + + while 1: + result = toplevel.run() + rc = bb.buttonPressed (result) + if rc == TEXT_BACK_CHECK: + screen.popWindow() + return INSTALL_BACK + self.iscsi.ipaddr = self.ip_entry.value() + if not self.iscsi.ipaddr: + # XXX warn no iscsi configuration ... + break + if sanityCheckIPString(self.iscsi.ipaddr) is None: + ButtonChoiceWindow(screen, _("Invalid IP string"), + _("The entered IP '%s' is not a valid IP.") + %(self.iscsi.ipaddr), + buttons = [ _("OK") ]) + continue + self.iscsi.port = self.port_entry.value() + self.iscsi.initiator = self.initiator_entry.value() + break + + screen.popWindow() + self.iscsi.startup() + return INSTALL_OK + +# vim:tw=78:ts=4:et:sw=4 |