OK, I've done some RTFM'ing and also cruised this group back to about 2010 and have made some progress but am still flailing.
Bear with me, especially in the format of this post, I've see that you prefer a specific style of replying but can't find the link you posted on the style guide right now. Is there a way to put that information here in any google-group-equivalent form of a "sticky" post?
To answer your question about our backend choices, we're considering this for use against both S3 and/or swift (SwiftStack). When I get our swift backend working I'm happy to post a cleaned working example, from searching here I see a lot of folks describing what doesn't work but not so much about their solutions.
Should I be working on getting the pytest to complete without errors? If I can't make it finish with a test backend configured, does that indicate problems that would stop me in real use or is it testing for things I don't necessarily need to worry about?
Should I be concerned that pytest often fails at different points, even with no config changes between runs? For example, it often crumps with an error:
* does the "[cluster]" line need to match anything or is it just a marker for that entry? Or when the app looks for authinfo, is it looking for the storage-url and finding the credentials that match?
* Can I also put a prefix in the "prod" storage-url? Your docs suggest so but you don't show it in your example.
tests/t4_fuse.py::TestFuse::test FAILED
====================================================================== short test summary info ======================================================================
SKIP [1] t1_backends.py:362: got empty parameter set ['backend'], function test_issue114 at /root/s3ql-2.21/tests/t1_backends.py:362
============================================================================= FAILURES ==============================================================================
___________________________________________________________________________ TestFuse.test ___________________________________________________________________________
Traceback (most recent call last):
File "/root/s3ql-2.21/tests/t4_fuse.py", line 166, in test
self.mount()
File "/root/s3ql-2.21/tests/t4_fuse.py", line 101, in mount
retry(30, poll)
File "/root/s3ql-2.21/tests/common.py", line 73, in retry
ret = fn(*a, **kw)
File "/root/s3ql-2.21/tests/t4_fuse.py", line 100, in poll
assert self.mount_process.poll() is None
AssertionError: assert 1 is None
+ where 1 = <bound method Popen.poll of <subprocess.Popen object at 0x7f20bed01ac8>>()
+ where <bound method Popen.poll of <subprocess.Popen object at 0x7f20bed01ac8>> = <subprocess.Popen object at 0x7f20bed01ac8>.poll
+ where <subprocess.Popen object at 0x7f20bed01ac8> = <t4_fuse.TestFuse object at 0x7f20becf5908>.mount_process
----------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------
Please store the following master key in a safe location. It allows
decryption of the S3QL file system in case the storage objects holding
this information get corrupted:
---BEGIN MASTER KEY---
lm7D NIOV KFeM WCua z8OB ZygQ l2hV Ndz8 09Vo DYn7 p94=
---END MASTER KEY---
----------------------------------------------------------------------- Captured stderr call ------------------------------------------------------------------------
WARNING: Maximum object sizes less than 1 MiB will degrade performance.
ERROR: Uncaught top-level exception:
Traceback (most recent call last):
File "/root/s3ql-2.21/bin/mount.s3ql", line 26, in <module>
s3ql.mount.main(sys.argv[1:])
File "/root/s3ql-2.21/src/s3ql/mount.py", line 204, in main
sd_notify('READY=1')
File "systemd/daemon.pyx", line 41, in systemd.daemon.notify (systemd/daemon.c:41)
TypeError: state must be an instance of Notigication
====================================================================== pytest-warning summary =======================================================================
WC1 /root/s3ql-2.21/tests/t2_block_cache.py cannot collect test class 'TestBackendPool' because it has a __init__ constructor
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
================================================ 1 failed, 245 passed, 1 skipped, 1 pytest-warnings in 45.48 seconds ================================================
[root@foo s3ql-2.21]#