[Setup] Migration from 2.5.5 -> 3.0.6

akertis akertis at gmail.com
Fri Aug 22 22:21:21 UTC 2008


I tried to get this going in linux but I can't get past a different error in
linux. Here is my log from what happens when i try to run portal_migration:

Starting the migration from version: 2.5.5 
Attempting to upgrade from: 2.5.5 
Upgrade aborted 
Error type: exceptions.KeyError 
Error value: 'Products.CMFPlone:plone' 
File "C:\Program Files\Plone 3\Data\Products\CMFPlone\MigrationTool.py",
line 210, in upgrade newv, msgs = self._upgrade(newv) 
File "C:\Program Files\Plone 3\Data\Products\CMFPlone\MigrationTool.py",
line 321, in _upgrade res = function(self.aq_parent) 
File "C:\Program Files\Plone
3\Data\Products\CMFPlone\migrations\v3_0\alphas.py", line 97, in
three0_alpha1 updateImportStepsFromBaseProfile(portal, out) 
File "C:\Program Files\Plone
3\Data\Products\CMFPlone\migrations\v3_0\alphas.py", line 1358, in
updateImportStepsFromBaseProfile
tool.setBaselineContext("profile-Products.CMFPlone:plone") 
File "C:\Program Files\Plone 3\Data\Products\GenericSetup\tool.py", line
235, in setBaselineContext self.applyContextById(context_id, encoding) 
File "C:\Program Files\Plone 3\Data\Products\GenericSetup\tool.py", line
240, in applyContextById context = self._getImportContext(context_id) 
File "C:\Program Files\Plone 3\Data\Products\GenericSetup\tool.py", line
992, in _getImportContext info =
_profile_registry.getProfileInfo(context_id) 
File "C:\Program Files\Plone 3\Data\Products\GenericSetup\registry.py", line
669, in getProfileInfo result = self._profile_info[ profile_id ] 
End of upgrade path, migration has finished 
The upgrade path did NOT reach current version 
Migration has failed 

Does this make any sense? I did do an un-make site on the old 2.5 site and
re-copied the data.fs over. That didn't seem to make a difference. Any idea
what this error means? I tried in linux to use PDBDebugMode but when i try
to do del app.__local_site_hook__ it says app is not defined.



akertis wrote:
> 
> Thanks a lot for your reply. I was able to get rid of the localsitehook
> error with help from the code you gave me to add to five. I still get the
> same error I was getting in 3.0.6 when trying to do portal_migration. I
> guess my only option is to run PDBDebug mode? To see what really went
> wrong because it doesn't tell me anything. It is the same as before in my
> first post. 
> 
> Thanks,
> 
> AJ
> 
> 
> 
> Maurits van Rees-3 wrote:
>> 
>> 
>> Hi, 
>> 
>> I will add some comments inline.
>> 
>> akertis, on 2008-08-21:
>>>
>>> I was first trying 3.1 then 3.0 actually seemed to work a little better.
>>> I
>>> couldn't even get to zmi/Plone at all because it would error out and I
>>> installed 3.1 again and this is the error i'm getting. Previously I
>>> could
>>> get the plone part to load and run the portal_migration but not with
>>> 3.1.
>>>
>>> 2008-08-21T17:42:30 INFO ZServer HTTP server started at Thu Aug 21
>>> 17:42:30
>>> 2008
>>> 	Hostname: prodwebwin02.energycap.local
>>> 	Port: 81
>>> ------
>>> 2008-08-21T17:42:30 INFO ZServer HTTP server started at Thu Aug 21
>>> 17:42:30
>>> 2008
>>> 	Hostname: prodwebwin02.energycap.local
>>> 	Port: 8080
>>> ------
>>> 2008-08-21T17:42:41 WARNING Init Class Products.Formulator.Form.ZMIForm
>>> has
>>> a security declaration for nonexistent method 'fieldAdd'
>>> ------
>>> 2008-08-21T17:42:41 WARNING Init Class Products.Formulator.Form.ZMIForm
>>> has
>>> a security declaration for nonexistent method 'fieldAdd'
>>> ------
>> 
>> These warnings are harmless and can be ignored.
>> 
>>> 2008-08-21T17:42:41 ERROR Application Could not import
>>> Products.Formulator
>>> Traceback (most recent call last):
>>>   File "C:\Program Files\Plone 3\Zope\lib\python\OFS\Application.py",
>>> line
>>> 709, in import_product
>>>     product=__import__(pname, global_dict, global_dict, silly)
>>>   File "e:\Plone 2\Data\Products\Formulator\__init__.py", line 16, in ?
>>>     
>>>   File "e:\Plone 2\Data\Products\Formulator\FSForm.py", line 10, in ?
>>> ImportError: cannot import name expandpath
>> 
>> This looks like the version of Formulator you are using is not
>> compatible with Plone 3 or you are missing a dependency.
>> 
>>> ------
>>> 2008-08-21T17:42:42 ERROR ShellExServer EventMarshaller not available.
>>> You
>>> will not be able to import and export iCalendar files properly without
>>> this.
>>> Traceback (most recent call last):
>>>   File "e:\Plone 2\Data\Products\ShellExServer\config.py", line 52, in ?
>>> ImportError: No module named Calendaring.marshaller
>> 
>> Apparently you are missing a product called Calendaring here.  The
>> error sounds more like a warning: you are missing some functionality
>> but Zope can start up just fine.
>> 
>>> 2008-08-21T17:42:56 ERROR Application Couldn't install DavPack
>>> Traceback (most recent call last):
>>>   File "C:\Program Files\Plone 3\Zope\lib\python\OFS\Application.py",
>>> line
>>> 786, in install_product
>>>     initmethod(context)
>>>   File "e:\Plone 2\Data\Products\DavPack\__init__.py", line 733, in
>>> initialize
>>>   File "C:\Program Files\Plone 3\Data\Products\Archetypes\utils.py",
>>> line
>>> 765, in getPkgInfo
>>>     ['__pkginfo__'])
>>>   File "C:\Program Files\Plone
>>> 3\Data\Products\Archetypes\__pkginfo__.py",
>>> line 12, in ?
>>>     bugfix, release = bugfix.split('-')[:2]
>>> ValueError: need more than 1 value to unpack
>> 
>> This looks like an error in DevPack.  Perhaps there is a newer
>> version.  I don't know this product.
>> 
>> 
>>> 2008-08-21T17:43:12 WARNING OFS.Uninstalled Could not import class
>>> 'GlossaryTopic' from module 'Products.ZopeTutorial.TutorialTopic'
>>> ------
>>> 2008-08-21T17:43:12 WARNING OFS.Uninstalled Could not import class
>>> 'FieldHelpTopic' from module 'Products.Formulator.FieldHelpTopic'
>> 
>> I see these two warnings too in some sites.  Irritating but harmless.
>> 
>>> ------
>>> 2008-08-21T17:43:12 INFO Zope Ready to handle requests
>>> ------
>>> 2008-08-21T17:43:19 WARNING OFS.Uninstalled Could not import class
>>> 'PloneFormMailer' from module 'Products.PloneFormMailer.PloneFormMailer'
>>> ------
>>> 2008-08-21T17:43:20 WARNING OFS.Uninstalled Could not import class
>>> 'CalendarTool' from module 'Products.Calendaring.tools.calendar'
>>> ------
>>> 2008-08-21T17:43:20 WARNING OFS.Uninstalled Could not import class
>>> 'LocalSiteHook' from module 'Products.Five.site.localsite'
>>> ------
>>> 2008-08-21T17:43:20 WARNING OFS.Uninstalled Could not import class
>>> 'CustomSearch' from module 'Products.customsearch.customsearch'
>>> ------
>>> 2008-08-21T17:43:20 WARNING OFS.Uninstalled Could not import class
>>> 'webexform' from module 'Products.webEx.webex.webexform'
>> 
>> Looks like you hade these products in your Plone 2.5 site and have not
>> put them in the Products directory in Plone 3.
>> 
>>> 2008-08-21T17:43:24 ERROR ZPublisher BeforeTraverse: Error while
>>> invoking
>>> hook: "__local_site_hook__"
>>> Traceback (most recent call last):
>>>   File "C:\Program Files\Plone
>>> 3\Zope\lib\python\ZPublisher\BeforeTraverse.py", line 145, in __call__
>>>     meth(*(container, request, None)[:args])
>>> AttributeError: __call__
>>> ------
>>> 2008-08-21T17:43:25 ERROR Zope.SiteErrorLog
>>> http://localhost:8080/Plone/manage_main
>>> Traceback (innermost last):
>>>   Module ZPublisher.Publish, line 125, in publish
>>>   Module Zope2.App.startup, line 238, in commit
>>>   Module transaction._manager, line 96, in commit
>>>   Module transaction._transaction, line 395, in commit
>>>   Module transaction._transaction, line 495, in _commitResources
>>>   Module ZODB.Connection, line 510, in commit
>>>   Module ZODB.Connection, line 555, in _commit
>>>   Module ZODB.Connection, line 582, in _store_objects
>>>   Module ZODB.serialize, line 407, in serialize
>>>   Module OFS.Uninstalled, line 40, in __getstate__
>>> SystemError: This object was originally created by a product that
>>>             is no longer installed.  It cannot be updated.
>>>             (<LocalSiteHook at broken>)
>> 
>> Okay, this one is nasty and can be tricky to get rid of.  You
>> definitely need backups here in case you make a mistake that can't be
>> reverted.
>> 
>> Some info about the error is here:
>> 
>> http://groups.google.com/group/getpaid-dev/browse_thread/thread/eb7b681511667e42/e8a81f505aea9bbb?#e8a81f505aea9bbb
>> 
>> Best is to try and fix this in Plone 2.5, like I mentioned in one of
>> the posts of that thread:
>> 
>> 1. In the quick installer uninstall CMFonFive if you have that
>>    installed.  Also: do *not* add CMFonFive to your Products directory
>>    under Plone 3.  If you have no CMFonFive in Plone 2.5, you can
>>    ignore this first point.
>> 
>> 2. Go to http://<your plone site>/manage_site.html
>>    Click on the "Unmake site" button. 
>> 
>> Hopefully this will function without errors.  And hopefully you will
>> then be able to start your plone 3 site also without errors.  When
>> not, there are some things you can try in Plone 3, but it's much
>> harder there.  Here goes.
>> 
>> 
>> Add these lines at the top of
>> C:\Program Files\Plone 3\Zope\lib\python\Products\Five\site\localsite.py:
>> 
>> -------------------------------------
>> from zope.event import notify
>> from ExtensionClass import Base
>> 
>> class LocalSiteHook(Base):
>>     def __call__(self, container, request):
>>          pass
>> -------------------------------------
>> 
>> This should make the LocalSiteHook object not broken anymore.  If Zope
>> then starts up correctly you can breathe a sigh of relief. :-)
>> 
>> It's a workaround.  Really the (formerly) broken object should be
>> removed.  On Linux I would start Zope in debug mode with "bin/zopectl
>> debug".  I think there is no way to do that on Windows though.  If you
>> know PDBDebugMode you can put that in your instance and perform some
>> actions in the python prompt that comes up when you encounter an
>> exception after starting zope with runzope.bat.  For the record, this
>> is what I would do (I'm doing this from memory):
>> 
>> import transaction
>> del app.__local_site_hook__
>> transaction.commit()
>> # Or perhaps the broken object needs to be removed from
>> # the Plone Site:
>> del app.your_plone_site_id.__local_site_hook__
>> transaction.commit()
>> 
>> And I had a case where after a zope start the component registry was
>> dead and I needed to do this:
>> 
>> from zope.component.globalregistry import globalSiteManager
>> app.setSiteManager(globalSiteManager)
>> transaction.commit()
>> 
>> 
>> If you start screaming now, that is perfectly understandable. ;-)
>> This stuff is ugly and scary.  At least I did not like having to do
>> this for a client; but that site is still running fine after this
>> treatment. :-)
>> 
>> 
>>> ComponentLookupError: (<InterfaceClass
>>> plone.portlets.interfaces.IPortletManager>, 'plone.leftcolumn')
>> 
>> Hopefully this error goes away after you have run the plone_migration.
>> Perhaps it is also caused by the broken local site hook.
>> 
>> Good luck!
>> 
>> -- 
>> Maurits van Rees | http://maurits.vanrees.org/
>>             Work | http://zestsoftware.nl/
>> "This is your day, don't let them take it away." [Barlow Girl]
>> 
>> 
>> _______________________________________________
>> Setup mailing list
>> Setup at lists.plone.org
>> http://lists.plone.org/mailman/listinfo/setup
>> 
>> 
> 
> 

-- 
View this message in context: http://n2.nabble.com/Migration-from-2.5.5--%3E-3.0.6-tp737330p777217.html
Sent from the Installation, Setup, Upgrades mailing list archive at Nabble.com.




More information about the Setup mailing list