summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-14[pkg] standardize location of services tokens filedrebs
Introduction of local services authentication added a configuration file containing the auth tokens for each service. There were different names for that file, and this commit standardizes all of them to the same value: /etc/soledad/services.tokens
2017-09-14[pkg] use /var/lib/soledad/blobs to store blobsdrebs
Soledad Server was previously using something in /srv to store blobs in the server side. Debian/lintian doesn't like that at all, so we are changing to /var/lib/soledad/blobs. Closes: #8948
2017-09-13[refactor] remove dead code and improve namingVictor Shyba
From code review. -- Related: #8945
2017-09-11[bug] use sql file handler from adbapi threadpoolVictor Shyba
This commit makes all write calls happen inside the same thread that opened the blob handle. Doing it outside using FileBodyProducer will yield and run the writes across random reactor threads. This is an attempt to fix #8945 -- Resolves: #8945
2017-09-11[bug] do not allow concurrent schema creationVictor Shyba
Moved schema creation and migrations to the pragma locked call, so we avoid it running concurrently on a thread pool. -- Resolves: #8945
2017-09-11[pkg] update changelogVictor Shyba
2017-09-11[bug] close consumer on FileBodyProducerVictor Shyba
It isn't closed by Twisted like the producer is. -- Resolves: #8924 -- Related: #8932
2017-09-11[tests] fix test_unarmored_blob_encrypt flakinessVictor Shyba
AES can generate base64 valid strings, making this test flaky. Try to decrypt using armor=False instead.
2017-09-11[refactor] do not use unneeded lambdadrebs
2017-09-11[test] print responsiveness results if no elastic url is givendrebs
2017-09-11[test] selectivelly start events server on benchmarksdrebs
Soledad's events server might be a pain for tests because if it is not properly initialized and shut down there might be parts of the server missing or leftover in the reactor after tests are run. With the recent changes to the way tests are invocated, there's the need to further isolate events server startup for benchmarks, otherwise it will conflict with other tests. This commit moves the events server setup to inside the pytest_collection_modifyitems() hook, where we can check if the benchmark subdir was selected and properly start the events server if needed.
2017-09-11[test] add --subdir option and blacklistdrebs
Use subdir path to select/deselect benchmark tests. Because of the way pytest and pytest benchamrk select/deselect tests, it makes more sense for this test suite to use a --subdir option to select only a subset of tests and a blacklist of subdirectories that should not be run unless explicitelly asked to. This commit adds a --subdir option, that will deselect all tests no in ./tests/<subdir> when the option is passed to pytest. Also, a blacklist is added so, unless explicitelly added as a --subdir, tests in blacklisted subdirectories will not be run. The reasons for this modification are: - pytest-benchmarks selects/deselects tests based on the type of their fixtures. This means that fixtures have to be instantiated previous to test selection/deselection, something that may cause side effects that we want to avoid. - the usual test suite is run for all benchmarks, while some tests should only be run in specific situations (as is the case of benchmarks and responsiveness tests). It is saner to implement subdir selection than marking all tests with pytest marks and using them to select/deselect.
2017-09-11[benchmarks] post responsiveness tests to elasticsearchdrebs
2017-09-11[benchmarks] add responsiveness test with watchdogdrebs
2017-09-11[style] fixes from code reviewVictor Shyba
2017-09-11[tests] improve isolation on user uuidVictor Shyba
Hardcoded and repeated user uuids can lead to accidental concurrent operations between test cases, breaking isolation and creating random failures. This commit improves it a bit.
2017-09-11[feature] save sync status on client sideVictor Shyba
Adds two new columns for sync status and retries. Also some initial rough logic for upload retry limiting. -- Resolves: #8823 -- Related: #8822
2017-09-08[test] improve legacy vs blobs imagedrebs
2017-09-08[bug] allow POST to blobs resource8938drebs
2017-09-08[test] allow test_vs_legacy test to run with remote serverdrebs
2017-09-07fixup! [doc] add documentation about migrationdrebs
2017-09-07fixup! [pkg] improve naming of directory of migration scriptdrebs
2017-09-07[pkg] allow newer versions of soledad for migrate scriptdrebs
2017-09-07[pkg] improve naming of directory of migration scriptdrebs
2017-09-07[doc] add documentation about migrationdrebs
2017-09-07[pkg] update debian standards versiondrebs
2017-09-07[pkg] ensure that script's execution is aborted on errorsdrebs
Avoid the "maintainer-script-ignores-errors postinst" error.
2017-09-07[pkg] make soledad-server debian package depend on adduserdrebs
Soledad Server Debian package calls adduser in postinst, so it also has to depend on it for installation.
2017-09-07[pkg] remove .gitnore to avoid it ending up in the debian packagedrebs
As we now copy the migration script into the debian package, the .gitignore file would also be copied. The simplest is to just remove it from the repo.
2017-09-07[pkg] fix and improve migration script README filedrebs
2017-09-07[pkg] fix error logging in migration scriptdrebs
2017-09-07[pkg] adapt migration script to new get_config()drebs
2017-09-07[pkg] add migration script to soledad-server debian packagedrebs
2017-09-05[pkg] remove deprecated init scriptdrebs
2017-09-05[doc] update server startup docdrebs
2017-09-05[doc] document environment variablesdrebs
2017-09-05[feat] toggle http persistence depending on environment variabledrebs
2017-09-05[test] add script and data to plot legacy-vs-blobsdrebs
2017-09-05[feat] use a persistent connetion pool in http agentdrebs
2017-09-05[feat] use cookies in the client syncerdrebs
2017-09-05[feat] cache session data in serverdrebs
2017-09-05[test] refactor and fixes for blobs vs legacy testdrebs
- create payloads before running tests - use different group names for different amount/sizes - move legacy index creation to setup function - limit concurrency on blobmanager to 2 (same as thread pool size) - add a VACUUM call to observe blobs db size decreasing between tests - properly cleanup server between blobs test runs - refactor blobs pipeline so it makes more sense and is easier to read
2017-09-05[bug] ensure the number of threads in blobs thread pooldrebs
The number of threads in the blobs databae thread pool can't be smaller than the number of attemps to write concurrently to the database, otherwise different kinds of concurrency problems may arise. By setting the minimum and maximum number of threads to the same number, we make sure there will always be that number of available threads for interaction with the blobs db.
2017-09-05[test] use indexes in clean client's dbsdrebs
2017-09-05[bug] use a different name for each user's blobs dbdrebs
2017-09-05[doc] fix names in new auth docdrebs
2017-09-05[refactor] follow new resource class style namingdrebs
2017-09-05[bug] add schema to incoming couchdb backendVictor Shyba
Schema was using a default value instead of using the one passed as a parameter. Additional test for formatter is also included. -- Related: #8867
2017-09-05[bug] avoid cross uuid checks on incomingVictor Shyba
Incoming API is supposed to be able to, given a valid service token, write a incoming document into any user database. Leaving the parameter as 'uuid' triggers defensive code against unauthorized accesses between users. This commit renames the parameter so this isn't checked. -- Related: #8867
2017-09-05[tests] add tests for cross user access codeVictor Shyba