Fixing the python config file if you’re getting server errors

Some folks may see errors when trying to use their own python sync server. This actually has nothing to do with the FF5 launch, but a change in the latest tag. We used to have a mapping set that let us map some backends to shorter names, so that we could say “backend = sql” (et al) in the config file. That wasn’t all that great for the long run, so we ditched it.

Fixing this should be simple. Edit your configs to update to the following (assuming you’re using SQL):

[storage]
backend = syncstorage.storage.sql.SQLStorage

[auth]
backend = services.auth.sql.SQLAuth

Sorry we missed that that one had gone public. We try to keep things as backwards-compatible as possible, but it doesn’t always happen.

Speaking of which, we’re doing a bunch of overhaul to the core modules. Most of it will be transparent, but there will be some changes that require some table alterations to the user table. I’ll have a post up before any of the new servers go up that use the new core infrastructure.

Advertisement

24 Responses to “Fixing the python config file if you’re getting server errors”

  1. Pierre Says:

    How does the upgrading process occurs when working with the hg repository ?
    For instance, I installed hg 492:3e4e61e7bc7b.
    In order to upgrade to the tip, do I only need to hg pull -u or do I have to go through all the installation process again ?

    thanks

    • tobyelliott Says:

      The vast majority of the time, hg pull -u will do it. If we add a dependency, I’m sure we’ll have instructions at that point on how to upgrade

  2. Christophe Says:

    Hi
    I have an old self hosted sync server. Everything was OK (several FF under ubuntu and windows XP sync perfectly) until I upgrade to FF5.
    Each time I upgrade a desktop in FF5, I encounter “bad user or password value” like messages.
    If I go back to FF4, everything comes back OK.
    What I have to do according to you ? I have done nothing on the server between FF updates.
    Thank you for your answer because currently Sync is dead functionnality for me.

    • tobyelliott Says:

      There’s something weird going on with the 4-5 transition that hasn’t been nailed down yet.

      What seems to be fixing ii is going manually to one of the sync storage pages in the browser and entering the username and password directly. This is slightly quirky because you have to use your converted username, not your email address. If you look in about:sync-log, you should see lines like

      https://localhost/weave/1.1/bbfwagpgqen5vdqfcgjjx3axsn4gcfax/info/collections

      visit the info/collections url in your browser, when prompted type that long string in as your username, and enter your password. That seems to kickstart things again. Let us know if this works, as it’ll help us track down the problem.

    • Luca Says:

      “old” as in the PHP code? Firefox 5 uses the 1.1 sync API, make sure that it’s available on you server.

      • Christophe Says:

        Yes, old means here PHP (yes i know, i know …) !

        To ensure that my server uses/accepts 1.1 API, how can I do pls ?

        (sorry for the noise of my first reply, bad reply level :/ ).

  3. Christophe Says:

    Yes, old means here PHP (yes i know, i know …) !

    To ensure that my server uses/accepts 1.1 API, how can I do pls ?

    • tobyelliott Says:

      If you’re using the minimal server, it’s almost certainly already happening. If you’re using the full server, check your apache aliases.

      That being said, fastest thing is to check the apache logs. If the errors are not 404s, then it’s not an alias problem

      • Christophe Says:

        And effectively, after setting up 1.1 Alias in Apache configuration, everything seems OK on server side (nothing in error.log and HTTP 200 return code for every request done by client).
        On client side, error message is no more “ad id or password” but “unexpected error, try again”.

        Thanks for help of any kind :)
        Christophe

  4. Aurélien Says:

    Hello.

    Did the modification, but:

    File “/u/server-full/deps/server-storage/syncstorage/storage/__init__.py”, line 390, in get_storage
    return SyncStorage.get_from_config(config)
    File “/u/server-full/deps/server-core/services/pluginreg.py”, line 136, in get_from_config
    backend_name = config[cls_name_field]
    KeyError: ‘backend’

    Some sync.conf files in the distribution are with same value as here, but don’t work either.

    Thanks for any tricks.

  5. Ralf Says:

    Hi,

    thanks for the hints re. backend! I changed that and not the SyncServer starts up. However, while I can register Users I cannot Sync the Collections :-(

    Backend is PostgreSQL (as I do have Postgres running on the machine already). The sqluri (with simple PW, just for testing) postgresql+psycopg2://sync:sync@localhost/sync (also tried w/o “+psycopg2).

    boss:server-full#bin/paster serve development.ini
    Starting server in PID 2997.
    serving on 0.0.0.0:5000 view at http://127.0.0.1:5000

    - Setup Sync in Browser, enter Account Details and Server
    011-06-25 10:43:40,335 INFO [syncserver] 10.0.0.20 – - [25/Jun/2011:10:43:40 +0200] “GET /user/1.0/a HTTP/1.1″ 200 1 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”
    10.0.0.20 – - [25/Jun/2011:10:43:40 +0200] “GET /user/1.0/a HTTP/1.1″ 200 1 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”
    2011-06-25 10:43:40,420 INFO [syncserver] 10.0.0.20 – - [25/Jun/2011:10:43:40 +0200] “GET /user/1.0/u5cpqykgc4lpu2s2viacvp2pj66ovowx HTTP/1.1″ 200 1 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”
    10.0.0.20 – - [25/Jun/2011:10:43:40 +0200] “GET /user/1.0/u5cpqykgc4lpu2s2viacvp2pj66ovowx HTTP/1.1″ 200 1 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”

    - “Next” on Account Details; the Sync Key will be displayed, Next
    2011-06-25 10:44:24,408 INFO [syncserver] 10.0.0.20 – - [25/Jun/2011:10:44:24 +0200] “GET /misc/1.0/captcha_html HTTP/1.1″ 404 175 “-” “Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20100101 Firefox/5.0″
    10.0.0.20 – - [25/Jun/2011:10:44:24 +0200] “GET /misc/1.0/captcha_html HTTP/1.1″ 404 175 “-” “Mozilla/5.0 (X11; FreeBSD amd64; rv:5.0) Gecko/20100101 Firefox/5.0″
    2011-06-25 10:44:24,816 WARNI [syncserver] Unicode response returned from: syncreg.controllers.user – create_user
    Unicode response returned from: syncreg.controllers.user – create_user
    2011-06-25 10:44:24,821 INFO [syncserver] 10.0.0.20 – - [25/Jun/2011:10:44:24 +0200] “PUT /user/1.0/u5cpqykgc4lpu2s2viacvp2pj66ovowx HTTP/1.1″ 200 32 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”
    10.0.0.20 – - [25/Jun/2011:10:44:24 +0200] “PUT /user/1.0/u5cpqykgc4lpu2s2viacvp2pj66ovowx HTTP/1.1″ 200 32 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”

    - Setup complete – Finish
    setup complete — finish
    2011-06-25 10:44:42,157 INFO [syncserver] 10.0.0.20 – - [25/Jun/2011:10:44:42 +0200] “GET /user/1.0/u5cpqykgc4lpu2s2viacvp2pj66ovowx/node/weave HTTP/1.1″ 200 4 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”
    10.0.0.20 – - [25/Jun/2011:10:44:42 +0200] “GET /user/1.0/u5cpqykgc4lpu2s2viacvp2pj66ovowx/node/weave HTTP/1.1″ 200 4 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”
    2011-06-25 10:44:45,557 INFO [syncserver] 10.0.0.20 – - [25/Jun/2011:10:44:45 +0200] “GET /user/1.0/u5cpqykgc4lpu2s2viacvp2pj66ovowx/node/weave HTTP/1.1″ 200 4 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”
    10.0.0.20 – - [25/Jun/2011:10:44:45 +0200] “GET /user/1.0/u5cpqykgc4lpu2s2viacvp2pj66ovowx/node/weave HTTP/1.1″ 200 4 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”

    When I choose “Sync Now” in FF5
    “sync now” im browser
    2011-06-25 10:48:01,899 INFO [syncserver] 10.0.0.20 – - [25/Jun/2011:10:48:01 +0200] “GET /user/1.0/u5cpqykgc4lpu2s2viacvp2pj66ovowx/node/weave HTTP/1.1″ 200 4 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”
    10.0.0.20 – - [25/Jun/2011:10:48:01 +0200] “GET /user/1.0/u5cpqykgc4lpu2s2viacvp2pj66ovowx/node/weave HTTP/1.1″ 200 4 “-” “Firefox/5.0 FxSync/1.8.0.20110623115228.desktop”

    That’s all. No error is being displayed – but also no bookmarks will get synced.

    When I “hg diff” the “server-full” there is oine change in “development.ini” (I copied the sync.conf to postgresql.conf and made the backend- and URI-changed there) plus the new postgresql.conf.

    Btw: Is there an “official” Forum for the Server?

    Would be really cool to get the Sync-Server running…

    Cheers,
    _ralf_

    • RamShadow Says:

      Hey Ho,

      i have exactly the Same Problem too with the actual hg.
      But with mySQL.

      I can´t find any error in the Logs.

      Cu

      Lex

      • RamShadow Says:

        This will fix the Error _ralf_ :

        If you run behind a server, you need to set up the fallback_node option in the [auth] section accordingly.

        For example, if your server is located at http://example.com, the fallback node should be set to this value:

        [auth]

        fallback_node = http://example.com

        cu Lex

      • Ralf Says:

        Hi,

        c o o l ! I put in the FQN of the Sync-Server for the “fallback_node” – and now the Server Syncs 1a!

        Thanks for the hint! How did you find that out?

        Cheers,
        _ralf_

      • Egon Says:

        Thanks a lot. I had an error in the fallback_node, too.

  6. Daniel A. Mayer Says:

    Running Your Own Firefox Sync Server…

    I have been successfully running my own Mozilla Weave Sync Server for a while. However, after upgrading to Firefox 5 a few days ago, the authentication of Firefox to the server stopped working. Since I got to love the syncing of bookmarks and browsing …

  7. Goburn Says:

    Hey everybody. A friend of mine wrote this tutorial on running the new Python server on Debian or Ubuntu. Here is the address if anyone is interested:

    http://www.dotfusion.net/host-your-own-firefox-sync-weave-server-on-debianu-or-ubuntu-linux

  8. Running Your Own Firefox Sync Server | Daniel A. Mayer Says:

    [...] pointed out in this post in the Building Weave blog the /etc/sync.conf in the current code revision is referencing the [...]

  9. ficus Says:

    Ok, I would say things are working but I have a large error log.
    Here are links to my Apache WSGI configuration, my sync.conf, and the logs generated:

    http://pastebin.com/q109GX4h <- Apache WSGI Conf
    http://pastebin.com/CncSzHdB <- sync_wsgi-access.log
    http://pastebin.com/ArGVZYi3 <- sync_wsgi-error.log
    http://pastebin.com/fhyykfKm <- sync.conf

    My MySQL database has over 4000 entries in the wbo table, so it must be at least partially working.

    ffsync was added as a user and a group on my system.

    I welcome any input. I am new at this and learned this over the past few days. I know I am using a localhost openssl key but this is not a production server.

    Could things not be working because I don't have a fully qualified domain name, but merely a dynamic dns host service?

    Thanks for any input :)

    • tobyelliott Says:

      Why do you think there are problems? Your access log shows a whole bunch of 200s, which would suggest everything is working well.

      • ficus Says:

        I see what it was. Debug was set to True in my development.ini. :)

      • ficus Says:

        Ok, I had to remove /weave from my source URL. I changed my virtual host back to:

        WSGIScriptAlias / /var/www/weaveserver/server-full/sync.wsgi

        because the password reset page was not loading properly.

        Perhaps these paths can be made relative? I’d rather append /weave to the target URL if at all possible.

        After all that and changing my fallback_node to https://somewhere.com I found this error:

        Password Reset
        We were unable to process your request. Please try again later.
        Error: 2

        If I entered garbage in the field I would get error 3. I tried both my email address and my raw username taken from the database. Both returned error 2.

        I am able to change passwords, view quotas, and set up other firefox instances of sync. Captcha works fine on the account setup. I’m nearly there :)

        My configurations are the same as the last post except for those two changes.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.