/[smeserver]/cdrom.image/sme7/product/installclasses/smeinstallclass.py
ViewVC logotype

Diff of /cdrom.image/sme7/product/installclasses/smeinstallclass.py

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

Revision 1.2 by slords, Sun Jun 7 02:30:05 2009 UTC Revision 1.4 by slords, Wed Jun 10 14:22:18 2009 UTC
# Line 13  import partedUtils Line 13  import partedUtils
13    
14  class Script:  class Script:
15      def __repr__(self):      def __repr__(self):
16          str = ("(s: '%s' i: %s c: %d)") %  \          str = ("(s: '%s' i: %s c: %d)") % \
17              (self.script, self.interp, self.inChroot)              (self.script, self.interp, self.inChroot)
18          return string.replace(str, "\n", "|")          return string.replace(str, "\n", "|")
19    
# Line 61  class InstallClass(BaseInstallClass): Line 61  class InstallClass(BaseInstallClass):
61                       "will be repartitioned and formated.")                       "will be repartitioned and formated.")
62    
63      sortPriority = 1      sortPriority = 1
   
     cmdline = {}  
64      doPartition = False      doPartition = False
65        cmdline = {}
66    
67      parentClass = ( _("Install SME Server"), "smeserver.png" )      parentClass = ( _("Install SME Server"), "smeserver.png" )
68    
# Line 133  class InstallClass(BaseInstallClass): Line 132  class InstallClass(BaseInstallClass):
132                   "complete"                   "complete"
133                  )                  )
134    
   
135          # 'partition' can be used on the command line to force          # 'partition' can be used on the command line to force
136          # verification of partitions.  useful in some cases...          # verification of partitions.  useful in some cases...
137          if self.doPartition or self.cmdline.has_key("partition"):          if self.doPartition or self.cmdline.has_key("partition"):
# Line 145  class InstallClass(BaseInstallClass): Line 143  class InstallClass(BaseInstallClass):
143          self.cmdline = self.createCmdlineDict()          self.cmdline = self.createCmdlineDict()
144          diskset = partedUtils.DiskSet()          diskset = partedUtils.DiskSet()
145    
146          alldrives = diskset.driveList()          if self.cmdline.has_key("exclude"):
147                alldrives = filter(lambda x:not x in self.cmdline["exclude"].split(","), diskset.driveList())
148            else:
149                alldrives = diskset.driveList()
150    
151          if self.cmdline.has_key("drives"):          if self.cmdline.has_key("drives"):
152              drives = filter(lambda x:self.mediaPresent(x) and              if self.cmdline["drives"] == "all":
153                                       x in self.cmdline["drives"].split(","), alldrives)                  drives = filter(lambda x:self.mediaPresent(x), alldrives)
154                else:
155                    drives = filter(lambda x:self.mediaPresent(x) and
156                                             x in self.cmdline["drives"].split(","), alldrives)
157          else:          else:
158              drives = filter(lambda x:not isys.driveIsRemovable(x) and              drives = filter(lambda x:not isys.driveIsRemovable(x) and
159                                       self.mediaPresent(x) and                                       self.mediaPresent(x) and
160                                       not isys.driveUsesModule(x, ["usb-storage", "ub", "sbp2"]), alldrives)                                       not isys.driveUsesModule(x, ["usb-storage", "ub", "sbp2"]), alldrives)
161    
162          if self.cmdline.has_key("spares"):          if self.cmdline.has_key("spares"):
163              spares = max(0,min(int(self.cmdline["spares"]),len(drives)-2))              if self.cmdline["spares"] == "none":
164                    spares = 0
165                else:
166                    try:
167                        spares = max(0,min(int(self.cmdline["spares"]),len(drives)-2))
168                    except:
169                        spares = (len(drives)+4)/7
170          else:          else:
171              spares = (len(drives)+4)/7              spares = (len(drives)+4)/7
172    
# Line 184  class InstallClass(BaseInstallClass): Line 195  class InstallClass(BaseInstallClass):
195                  level = 1                  level = 1
196    
197          if len(drives) >= 1:          if len(drives) >= 1:
198                excluded = filter(lambda x:x not in drives, diskset.driveList())
199              log("Using the following drives: %s" % drives)              log("Using the following drives: %s" % drives)
200                log("Excluding the following drives: %s" % excluded)
201              if level >= 1:              if level >= 1:
202                  log("Installing using RAID%s" % level)                  log("Installing using RAID%s" % level)
203                  log("Using %s spare drives" % spares)                  log("Using %s spare drives" % spares)
# Line 244  class InstallClass(BaseInstallClass): Line 257  class InstallClass(BaseInstallClass):
257                              raidmembers=raid2, raidlevel="RAID"+str(level), raidminor=2, format=1, raidspares=spares))                              raidmembers=raid2, raidlevel="RAID"+str(level), raidminor=2, format=1, raidspares=spares))
258    
259                      partitions.autoPartitionRequests.append(partRequests.RaidRequestSpec(fileSystemTypeGet("ext3"),                      partitions.autoPartitionRequests.append(partRequests.RaidRequestSpec(fileSystemTypeGet("ext3"),
260                              mountpoint="/", raidmembers=raid3,  raidlevel="RAID"+str(level), raidminor=3, format=1,                              mountpoint="/", raidmembers=raid3, raidlevel="RAID"+str(level), raidminor=3, format=1,
261                              raidspares=spares))                              raidspares=spares))
262    
263              else:              else:
264                  for drive in drives:                  for drive in drives:
265                      partitions.autoPartitionRequests.append(partRequests.PartitionSpec(fileSystemTypeGet("ext3"),                      partitions.autoPartitionRequests.append(partRequests.PartitionSpec(fileSystemTypeGet("ext3"),
266                          mountpoint="/boot", drive=[drive], size=100, primary=1, format=1))                              mountpoint="/boot", drive=[drive], size=100, primary=1, format=1))
267    
268                      if not self.cmdline.has_key("nolvm"):                      if not self.cmdline.has_key("nolvm"):
269                          request = partRequests.PartitionSpec(fileSystemTypeGet("physical volume (LVM)"),                          request = partRequests.PartitionSpec(fileSystemTypeGet("physical volume (LVM)"),


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed