Changeset 157 for cleverbox/trunk
- Timestamp:
- 08/10/07 21:51:05 (5 years ago)
- Location:
- cleverbox/trunk
- Files:
-
- 4 modified
-
CHANGELOG (modified) (1 diff)
-
README (modified) (1 diff)
-
cleverbox/scripts/admin.py (modified) (6 diffs)
-
cleverbox/upgrades/upgrades.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
cleverbox/trunk/CHANGELOG
r154 r157 25 25 * implemented [ticket:1 trac.ini-defaults variable substitution] 26 26 * started to implement [ticket:4 setuptools for distributing the package] 27 * implemented [ticket:13 upgrade scripts framework] 27 28 28 29 === 2007-08-07 | 0.3-beta === -
cleverbox/trunk/README
r146 r157 10 10 * Easy to setup 11 11 * Easy to use 12 * Upgrade scripts provided with each new release (as of 0.4) 12 13 13 14 == Non-goals == -
cleverbox/trunk/cleverbox/scripts/admin.py
r156 r157 55 55 # Check if environment needs an upgrade 56 56 # - open VERSION 57 env_version = open(os.path.join(self.envname, 'VERSION')).read() 58 59 # - compare with self._version 60 # - if VERSION < self._version : 61 if parse_version(env_version) < parse_version(self._version): 62 # - call upgrade script corresponding to self._upg (?) 63 from cleverbox.upgrades import upgrades 64 i = 1 65 while i: 66 try: 67 upgrades['do_upgrade_' + i].__call__(self.envname, env_version) 68 except ImportError, e: 69 break 70 i = i + 1 71 72 elif parse_version(env_version) > parse_version(self._version): 73 raise 57 try: 58 env_version = open(os.path.join(self.envname, 'VERSION')).read().strip() 59 60 # - compare with self._version 61 # - if VERSION < self._version : 62 if parse_version(env_version) < parse_version(_version): 63 print "\nCleverbox environment needs to be upgraded. Please run :" 64 print " cleverbox-admin %s upgrade\n" % self.envname 65 sys.exit(1) 66 except IOError, e: 67 # no VERSION file means user wants to create an environment 68 pass 74 69 75 70 if env is not None: … … 146 141 collected_infos['clients_root'] = raw_input('Projects directory [%s]> ' % default_root).strip() or default_root 147 142 143 # Path to cleverbox assets 144 default_assets_dir = '/usr/share/cleverbox' 145 collected_infos['assets_dir'] = raw_input('Cleverbox assets directory [%s]> ' % default_assets_dir).strip() or default_assets_dir 146 148 147 try : 149 148 os.makedirs(collected_infos['clients_root'], 0775) … … 215 214 print "\n\tCreating default configuration profile\n" 216 215 for filename in _defaults['profile_files']: 217 shutil.copy( '/usr/share/cleverbox/' + filename, os.path.join(self.envname, 'profiles', 'default'))216 shutil.copy(collected_infos['assets_dir'] + '/' + filename, os.path.join(self.envname, 'profiles', 'default')) 218 217 219 218 … … 222 221 print "You need to add this statement to your apache configuration : \n" \ 223 222 "\t'Include %(env_dir)s/clients-enabled/*'\n" % {'env_dir' : self.envname} 223 224 _help_upgrade = [('upgrade', 'Executes necessary operation to make environment up to date')] 225 def do_upgrade(self, line=None): 226 env_version = open(os.path.join(self.envname, 'VERSION')).read() 227 if parse_version(env_version) < parse_version(_version): 228 from cleverbox.upgrades import upgrades 229 i = 1 230 while i: 231 try: 232 upgrade_func = getattr(upgrades, 'do_upgrade_' + str(i)) 233 upgrade_func.__call__(self.envname, env_version) 234 except AttributeError, e: 235 break 236 i = i + 1 237 224 238 225 239 ## help … … 234 248 print "No documentation found for %s" % arg[0] 235 249 else: 236 docs = (self._help_client + self._help_project + self._help_initenv )250 docs = (self._help_client + self._help_project + self._help_initenv + self._help_upgrade) 237 251 print 'cleverbox-admin - The Cleverbox Administration Console' 238 252 if not self.interactive: … … 1087 1101 1088 1102 if len(args) > 0: 1089 if args[0] in ('-h', '--help', 'help'): 1090 return admin.onecmd("help") 1091 elif args[0] in ('-v','--version','about'): 1092 return admin.onecmd("about") 1103 if len(args) > 1: 1104 if args[1] in ('-h', '--help', 'help'): 1105 return admin.onecmd("help") 1106 elif args[1] in ('-v','--version','about'): 1107 return admin.onecmd("about") 1108 elif args[1] in ('-u', '--upgrade', 'upgrade'): 1109 admin.envname = args[0] 1110 return admin.onecmd("upgrade") 1093 1111 else: 1094 1112 admin.env_set(os.path.abspath(args[0])) -
cleverbox/trunk/cleverbox/upgrades/upgrades.py
r156 r157 1 1 from pkg_resources import parse_version 2 2 3 3 4 def do_upgrade_1(envname, env_version): 4 if parse_version(env_version) >= parse_version(0.4): 5 pass 6 else: 7 print "upgrade 1 !" 5 if parse_version(env_version) < parse_version('0.4'): 6 print "It is not possible to upgrade cleverbox instances created with Cleverbox prior to 0.4" 7 print "It was not even a public release !" 8 print "Your only choice left is to pay big money for Clever Age (http://www.clever-age.com) consultants to make a manual migration." 9
