summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-05-10[bug] fix docker image generationMicah Anderson
The image location needs to be changed to the new location and the docker.io package needs to be available in the image to build it
2017-05-10[feat] Build/push docker (see leap/platform#8755).Micah Anderson
When the testing/docker directory is changed, the `build_docker_image` CI job is triggered to build the docker image and push it to the soledad container registry. This is part of an effort to move all the docker images into their own project's container registry, and to build/provide them automatically (see leap/platform#8755). This is accomplished by the following: added the necessary overlay DOCKER_DRIVER variable to .gitlab-ci.yml added a build_docker_image job with docker:dind service enabled enabled container registry in soledad project added LEAP_CODE_O_MATIC_PRIVATE_TOKEN to project moved docker image from scripts:docker/soledad to soledad:testing/docker docker push gitlab-buildpackage:soledad to soledad container registry removed gitlab-buildpackage:soledad image and scripts/docker/soledad changed image in .gitlab-ci.yml to use new location Note: until https://gitlab.com/gitlab-org/gitlab-ce/issues/19813 is resolved, we have to use this method.
2017-05-09[refactor] move interfaces outKali Kaneko
- rename add_tag method - reorder blob interface methods for clarity - use mkdir_p from leap.common
2017-05-08[refactor] _database -> _dbVictor Shyba
2017-05-04[bug] remove enum dependencydrebs
2017-05-04[doc] add attachments documentationdrebs
2017-05-04[doc] cleanup old documentationdrebs
2017-05-04[refactor] improve readability on _documentVictor Shyba
2017-05-04[refactor] use mkdir_p from leap.common insteadVictor Shyba
2017-05-04[pkg] remove weakref and enum34Victor Shyba
2017-05-04[tests] improve readabilityVictor Shyba
2017-05-02[feature] add and integrate DELETE to blobs serverVictor Shyba
Add a DELETE method for blobs server and integrate it into client's BlobManager. - Resolves: #8846
2017-05-01[feature] delete method on blob sqlcipher backendVictor Shyba
- Related: #8846
2017-05-01[refactor] unify path validationVictor Shyba
2017-05-01[refactor] merge refactor from drebsVictor Shyba
2017-05-01[bug] encode key before using it in local blobs storagedrebs
2017-05-01[refactor] create client _database moduledrebs
2017-05-01[feat] add attachments apidrebs
2017-05-01[pkg] ignore some filesdrebs
2017-05-01[feature] blobs path validationVictor Shyba
Check if user and blob_id are valid strings, then check if the resulting path is a subdirectory of blobs configured path. - Related: #8800
2017-05-01[test] missing inlineCallbackVictor Shyba
- Related: #8812
2017-05-01[test] add tests for sqlcipher client backendVictor Shyba
BlobManager tests covers them indirectly, but testing them directly may help locating source of bugs. - Related: #8812
2017-05-01[test] rename file to match test case nameVictor Shyba
- Related: #8812
2017-05-01[test] rename and add comments for clarityVictor Shyba
- Related: #8812
2017-05-01[bug] fail locally if blob existsVictor Shyba
We can't let the local DB try an isertion before making sure doc isn't already there. - Resolves: #8845
2017-04-27[test] monitor cpu/mem for all benchmarksdrebs
2017-04-27[test] add memory measurementdrebs
2017-04-27[test] measure cpu percentage during benchmarkdrebs
2017-04-26[bug] proper logging of _blobs resource errorsVictor Shyba
2017-04-26[feature] sanitize resource argumentsVictor Shyba
_validate will check if user_id and blob_id are letter, numbers, dashes and underscores. It is called on render_GET and render_POST, validating incoming arguments before handling on backend. - Resolves: #8832
2017-04-26[feature] use Twisted getProcessOutput on backendVictor Shyba
This makes process communication async during quota measurement, as specified on #8832 - Related: #8832
2017-04-25[test] ensure rev system works in shared dbdrebs
During a meeting with pixelated we were asked to ensure that the u1db revision system was working for the shared database. This commit adds a test to make sure that documents in the shared database can be updated successfully if the include the correct revision, but will fail if the include the incorrect revision. Resolves: #8842.
2017-04-24[bug] fix improper re-raising of exceptionKali Kaneko
it was passing way too many arguments in py2. - Resolves: #8843
2017-04-19[test] tune parameters for asynchronous sqlcipher accessdrebs
When hundreds of concurrent document creations are spawned during tests, test runs in slower machines may fail with "db is locked" error. Increasing the timeout and number of retries in the sqlcipher adbapi level may help avoiding that.
2017-04-19[test] remove docker scripts from this repodrebs
Docker scripts are only used for CI and do not need to be in this repository. Beause of that, we decided to moved the docker scripts to a private repository where dockerfiles for other parts of leap also live.
2017-04-19[test] use soledad image from 0xacab registry in cidrebs
2017-04-19[test] avoid running sqlcipher synchonous tests when benchmarkingdrebs
SQLCipher synchronous benchmark tests were introduced when we started developing benchmark tests to compare synchronous and asynchronous code. Synchronous access to sqlcipher database is not used in soledad, and those tests are much slower than asynchronous tests (more than 10 times using ssd drive), so we want to avoid running them on ci. This commit introduces a "synchronous" marker and avoid running tests markes as such in ci environment.
2017-04-19[test] use latest pysqlcipher-benchmark for benchmarksdrebs
There were some changes needed in pytest-benchmark so we could successfully use it for soledad benchmarks graphing: https://github.com/ionelmc/pytest-benchmark/pull/73 https://github.com/ionelmc/pytest-benchmark/pull/74 https://github.com/ionelmc/pytest-benchmark/pull/75 The contributions were accepted but not released yet, so this commit uses the code from upstream git repository's master branch.
2017-04-19[tests] dont mock local db on local testsVictor Shyba
2017-04-19[tests] set pool to None during testsVictor Shyba
2017-04-19[test] change assert for self.assertXVictor Shyba
2017-04-19[bug] return empty local_list instead of NoneVictor Shyba
2017-04-19[bug] local.put closes fd, return from local.get insteadVictor Shyba
2017-04-19[bug] adapt blob size to fake size from #8758Victor Shyba
Issue #8758 rounded doc size considering we would add some kind of padding to the document. Since we arent removing the pad, this commit makes the client discover the size from the decrypted amount. Proper padding and strip should be done in the future. - Related: #8758 - Related: #8814
2017-04-19[feature] fetch new blobs from serverVictor Shyba
Check what server has, what we have, compare, fetch missing. - Related: #8808
2017-04-19[test] change assert for self.assertXVictor Shyba
2017-04-19[feature] add send_missing to cliVictor Shyba
- Related: #8807
2017-04-19[feature] add send_missing to send pending uploadsVictor Shyba
This method will gather a list of local docs and a list of remote docs, compare them and send docs which server doesn't have. - Related: #8807
2017-04-15[test] enforce bundled pysqlcipher in benchmark testsdrebs
The debian package for libsqlcipher does not enable the use of usleep(), and that might cause timeouts when doing concurrent access to sqlcipher databases. See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859685 In benchmark tests we use twisted's asynchronous dbapi for creating thousands of documents, and if usleep() is not enabled this operation is very likelly to fail with a "db is locked" error. This commit adds a workaround for benchmark tests by reinstalling pysqlcipher with the "--bundled" option, what causes libsqlcipher to be built and bundled in the python package, with usleep() enabled. Resolves: #8835
2017-04-10[pkg] do not pass weird information to install_requiresKali Kaneko
this commit deliberately *duplicates* the dependency information between the setup.py and requirements.pip. The rationale behind it is that one of them is the generic dependency information, to be passed to system helpers in order to package it. The requirements.pip has any pinning information that we want to impose during development, and it behaves as a well-known set. Read https://caremad.io/posts/2013/07/setup-vs-requirement/ for more explanations. - Resolves: #8830