It looks like there might be an error in the documentation.
PITHOS_OAUTH2_CLIENT_CREDENTIALS = ("pithos-view", "secret_passw0rd")
Spot the password mismatch :-)
So I did this:
snf-manage oauth2-client-remove pithos-view
and restarted gunicorn on both sides - but unfortunately no difference :-(
On node2 gunicorn is running with --log-level=debug, and I see in /var/log/synnefo/gunicorn.log
2017-02-10 16:14:40 [10796] [DEBUG] GET /pithos/ui/
2017-02-10 16:14:40,781 [10796] gunicorn.error glogging [DEBUG] GET /pithos/ui/
2017-02-10 16:14:44 [10796] [DEBUG] POST /pithos/ui/pithos/ui/pithos/ui/_astakos/identity/tokens/
2017-02-10 16:14:44,022 [10796] gunicorn.error glogging [DEBUG] POST /pithos/ui/pithos/ui/pithos/ui/_astakos/identity/tokens/
2017-02-10 16:14:44 [10796] [DEBUG] POST /pithos/ui/pithos/ui/pithos/ui/_astakos/identity/tokens/
2017-02-10 16:14:44,182 [10796] gunicorn.error glogging [DEBUG] POST /pithos/ui/pithos/ui/pithos/ui/_astakos/identity/tokens/
Aha, "/pithos/ui/pithos/ui/pithos/ui/" is suspicious!
OK: at last I found the problem: UI_BASE_URL had been wrongly set to "pithos/ui/" instead of "/pithos/ui/". I fixed it and it's OK.
For the Pithos UI to be accessible via the /pithos/ui/ endpoint change the UI_BASE_URL setting in the /etc/synnefo/20-snf-ui-settings.conf file to /pithos/ui/.
But that's not a URL, just a path. All the other *_BASE_URL settings are real URLs. Should this setting actually be
https://node2.example.com/pithos/ui/ ? I tried it, and it doesn't work (the page gives a 404 error now). So I guess really it is a path that's required, not a URL.
Regards,
Brian.