pimutils / vdirsyncer

📇 Synchronize calendars and contacts.
https://vdirsyncer.pimutils.org/
Other
1.53k stars 160 forks source link

Failed password fetch results in really weird critical error #326

Closed thomwiggers closed 8 years ago

thomwiggers commented 8 years ago

I'm getting these errors:

critical: Pair trello_remote: Storage 'trello_calendar_remote' not found. These are the configured storages: [<snip>, 'trello_local', 'trello_calendar_remote', <snip>]

This used to work before.

I'm on vdirsyncer 0.8.0.

benjaminfrank commented 8 years ago

Had the same issue after upgrading. Version 0.8.0 no longer supports the internal keyring mechanism to retrieve passwords and hence can't "find" your storage. You need to change the password retrieval to something working, e.g. using a cli command to get the password from the keyring, see https://vdirsyncer.readthedocs.org/en/stable/keyring.html

untitaker commented 8 years ago

That is a really weird error message, sorry about that. I'll take a look later today.

On 30 January 2016 15:03:38 CET, benjaminfrank notifications@github.com wrote:

Had the same issue after upgrading. Version 0.8.0 no longer supports the internal keyring mechanism to retrieve passwords and hence can't "find" your storage. You need to change the password retrieval to something working, e.g. using a cli command to get the password from the keyring, see https://vdirsyncer.readthedocs.org/en/stable/keyring.html


Reply to this email directly or view it on GitHub: https://github.com/untitaker/vdirsyncer/issues/326#issuecomment-177186620

Sent from my Android device with K-9 Mail. Please excuse my brevity.

thomwiggers commented 8 years ago

Ah, it was indeed the keyring problem.

untitaker commented 8 years ago

This should be fixed in master. Can anybody with a keyring-setup confirm?

thomwiggers commented 8 years ago

I was unable to install the python-vdirsyncer package from the AUR, because of failed checks.

untitaker commented 8 years ago

Yeah, the check thing for that package seems broken. make test should be used. (cc @eolianoe)

Please remove the check function from the PKGBUILD manually or set BUILDENV=(... !check ...) in /etc/makepkg.conf.

thomwiggers commented 8 years ago

It threw out the following exception somewhere halfway through. It did not attach any special labels to it, like the critical in the original message.

Unhandled exception occured.
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/vdirsyncer/cli/fetchparams.py", line 55, in _fetch_value
    strategy_fn = STRATEGIES[strategy]
KeyError: 'keyring'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/vdirsyncer/cli/utils.py", line 429, in _worker
    func(wq=self)
  File "/usr/lib/python3.5/site-packages/vdirsyncer/cli/tasks.py", line 19, in prepare_pair
    status_path=config.general['status_path'], pair=pair
  File "/usr/lib/python3.5/site-packages/vdirsyncer/cli/utils.py", line 160, in collections_for_pair
    cache_key = _get_collections_cache_key(pair)
  File "/usr/lib/python3.5/site-packages/vdirsyncer/cli/utils.py", line 143, in _get_collections_cache_key
    pair.config_b,
  File "/usr/lib/python3.5/site-packages/vdirsyncer/utils/__init__.py", line 163, in __get__
    obj.__dict__[self.__name__] = result = self.fget(obj)
  File "/usr/lib/python3.5/site-packages/vdirsyncer/cli/config.py", line 218, in config_b
    return self._config.get_storage_args(self.name_b, pair_name=self.name)
  File "/usr/lib/python3.5/site-packages/vdirsyncer/cli/config.py", line 198, in get_storage_args
    return expand_fetch_params(args)
  File "/usr/lib/python3.5/site-packages/vdirsyncer/cli/fetchparams.py", line 23, in expand_fetch_params
    config[newkey] = _fetch_value(config[key], key)
  File "/usr/lib/python3.5/site-packages/vdirsyncer/utils/__init__.py", line 193, in wrapper
    return f(*args, **kwargs)
  File "/usr/lib/python3.5/site-packages/vdirsyncer/cli/fetchparams.py", line 60, in _fetch_value
    'Fetching passwords via keyring is deprecated. See the '
vdirsyncer.exceptions.UserError: Fetching passwords via keyring is deprecated. See the changelog for migration paths.
untitaker commented 8 years ago

Oh, that's... better (last line) but not quite. Let me revise...

untitaker commented 8 years ago

Now only the exception message should be shown. It still doesn't show where in the config the error happened, but it'll have to do for now I think.

thomwiggers commented 8 years ago

Seems to have worked.

critical: Fetching passwords via keyring is deprecated. See the changelog for migration paths.

untitaker commented 8 years ago

Great. Once I get CI to pass I'lll do another release.

untitaker commented 8 years ago

And... 0.8.1 is released!