[Server-devel] Backup and Recovery

Martin Langhoff martin.langhoff at gmail.com
Tue Nov 3 09:26:45 EST 2009


On Tue, Nov 3, 2009 at 3:01 PM, Hamilton Chua <hamilton.chua at gmail.com> wrote:
> Thanks for the confirmation. I am in the process of debugging. The only
> change that made it get that far was to the journalentrybundle.py file.

Ok - that sounds like the right place to be hacking in ;-)

> Adding the get_bundle_id def (it just returns  "None" btw) allowed it to
> go a step further and unzip the backup file.

But get_bundle_id is a method that returns the "id" as defined in the
metadata. Maybe that should come from an inherited class? We
definitely need the eyes of someone who understands that code (Tomeu?)

> However, please see the new error I am getting below. It deflates the
> backup file but right after that it errors out complaining about a
> missing __zip_file.
>
> I noticed that it assumes the files extracted from the backup data is an
> ActivityBundle. Is that correct ?

No idea -- I am not familiar with the code that appears in the stacktrace...

> I'm tempted to just upgrade sugar to 0.86 but there might be those still
> using strawberry who are reluctant to upgrade but would like to get
> backup and restore working for strawberry, so finding exactly what to
> change/fix on strawberry might be useful.

Definitely useful -- as I need this to work on 0.84 for the new
F11-based builds!

cheers,


m

> Archive:  /home/liveuser/.sugar/default/data/8419a696-5a24-4595-aeda-7488e72605fa
>
> inflating: /tmp/83366588-d84b-4f00-acc1-3e5f32525540/83366588-d84b-4f00-acc1-3e5f32525540
>  inflating: /tmp/83366588-d84b-4f00-acc1-3e5f32525540/_metadata.json
> caution: excluded filename not matched:  mimetype
> <sugar.bundle.activitybundle.ActivityBundle object at 0x9e7ad6c>
> Traceback (most recent call last):
>  File "/usr/lib/python2.6/site-packages/dbus/connection.py", line 214,
> in maybe_handle_message
>    self._handler(*args, **kwargs)
>  File "/usr/lib/python2.6/site-packages/jarabe/journal/model.py", line
> 377, in _datastore_updated_cb
>    updated.send(None, object_id=object_id)
>  File "/usr/lib/python2.6/site-packages/sugar/dispatch/dispatcher.py",
> line 125, in send
>    response = receiver(signal=self, sender=sender, **named)
>  File
> "/usr/lib/python2.6/site-packages/jarabe/journal/journalactivity.py",
> line 250, in __model_updated_cb
>    self._check_for_bundle(kwargs['object_id'])
>  File
> "/usr/lib/python2.6/site-packages/jarabe/journal/journalactivity.py",
> line 283, in _check_for_bundle
>    registry.install(bundle)
>  File
> "/usr/lib/python2.6/site-packages/jarabe/model/bundleregistry.py", line
> 344, in install
>    elif not self.add_bundle(install_path):
>  File
> "/usr/lib/python2.6/site-packages/jarabe/model/bundleregistry.py", line
> 194, in add_bundle
>    bundle = self._add_bundle(bundle_path)
>  File
> "/usr/lib/python2.6/site-packages/jarabe/model/bundleregistry.py", line
> 208, in _add_bundle
>    bundle = ActivityBundle(bundle_path)
>  File
> "/usr/lib/python2.6/site-packages/sugar/bundle/activitybundle.py", line
> 51, in __init__
>    Bundle.__init__(self, path)
>  File "/usr/lib/python2.6/site-packages/sugar/bundle/bundle.py", line
> 65, in __init__
>    if os.path.isdir(self._path):
>  File "/usr/lib/python2.6/genericpath.py", line 41, in isdir
>    st = os.stat(s)
> TypeError: coercing to Unicode: need string or buffer, NoneType found
> Exception AttributeError: "'ActivityBundle' object has no attribute
> '_zip_file'" in <bound method ActivityBundle.__del__ of
> <sugar.bundle.activitybundle.Acti
> vityBundle object at 0x9e7ad6c>> ignored
>
> *********************
>
> On Mon, 2009-11-02 at 16:47 +0100, Martin Langhoff wrote:
>> On Mon, Nov 2, 2009 at 4:43 AM, Hamilton Chua <hamilton.chua at gmail.com> wrote:
>> > I have backported the changes to the strawberry release and restore
>> > seems to be working now.
>>
>> Good to hear you've narrowed it down. I'll probably have to apply
>> similar patches on the OLPC F11 Sugar :-)
>>
>> > 4) Browse downloads the file and puts it in the Journal
>> > 5) I click "Show in Journal"
>> > 6) I see the "Activity+Backup" file details.
>> > 7) Click "back" to journal
>>
>> That's weird. On the 8.2.1 XO OS release, the process is skips step
>> 6&7. The "downloading" message in Browse.xo does mention
>> "Activity+Backup" (I tweaked the "apparent" filename that browse
>> downloads to get that msg), but after that the Journal has only added
>> the entry you want.
>>
>> > Is the above how more or less restore should work or behave ? I was sort
>> > of expecting the  "Activity+Backup" file to be replaced by the restored
>> > data in the Journal.
>>
>> Your expectations are right, and I think you are seeing another bug in
>> the Browse.xo -> Journal interop.
>>
>> cheers,
>>
>>
>> m
>
>



-- 
 martin.langhoff at gmail.com
 martin at laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff


More information about the Server-devel mailing list