1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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, anaconda):
self.iscsi = anaconda.id.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
|