369 Commits

Author SHA1 Message Date
Greg Karékinian
b6bb36d7c2
Merge pull request #106 from 5apps/bugfix/handle_wrong_redis_metadata
Handle out of sync metadata in Redis on PUTs
2018-01-05 13:17:29 +01:00
Greg Karékinian
3ddcccaee7 Handle the case of a PUT on a non-existing object
The previous code was returning a 500 because the HEAD request failed
2018-01-05 13:11:47 +01:00
Garret Alfert
2fac808343 Split list of ETAGs before removing Weak indicator 2018-01-05 06:55:46 +01:00
Garret Alfert
18670021b1 Handle out of sync metadata in Redis on PUTs
When the IF-MATCH comparison fails, we check the actual metadata on
the Swift server to be sure.
2018-01-05 06:49:42 +01:00
Garret Alfert
24ae9ad893 Allow for weak ETAGs with leading quote
The remoteStorage client currently surrounds all ETAGs with quotes, so
instead of W\"etag" it looks like "W\"etag".
2018-01-03 22:06:03 +01:00
Greg Karékinian
91e687d318
Merge pull request #105 from 5apps/bugfix/ignore_weak_etags
Ignore weak ETAG prefix when comparing MATCH headers
2018-01-03 21:49:02 +01:00
Garret Alfert
8ffd15bb61 Ignore weak ETAG prefix when comparing MATCH headers
Our metadata only contains the actual ETAG value, so we need
to use only that when comparing it.
2018-01-03 21:31:25 +01:00
Greg Karékinian
abddec62de Merge pull request #103 from 5apps/feature/update_gems
Update gems and use Ruby 2.4.1 on Travis
2017-07-05 23:48:44 +02:00
Greg Karékinian
258c9a5ae6 Update rest-client to 2.1.0.rc1 to fix a memory leak in Ruby 2.4 2017-07-05 23:42:37 +02:00
Greg Karékinian
653ef3256a Use Ruby 2.4.1 for the Travis build 2017-07-05 23:42:12 +02:00
Greg Karékinian
2a35b7f56f Merge pull request #101 from 5apps/feature/update_gems
Update gems
2017-06-15 17:06:34 +02:00
Greg Karékinian
ed72a1c3fd Use newer Ruby on Travis build 2017-06-15 17:04:41 +02:00
Greg Karékinian
feaff528eb Update Ruby gems
nokogiri is a security update
2017-06-15 17:03:58 +02:00
Greg Karékinian
e994696fe0 Merge pull request #99 from 5apps/feature/calculate_storage_size_from_metadata
Add a script to calculate a user's storage size from the metadata...
2016-12-15 17:13:15 +01:00
Greg Karékinian
9386666610 Add a migration runner to be able to run the script on all users...
... on as many servers as we want

Set the migration key in platform for all users:

    User.storage_customer.each do |u|
      FiveAppsStore::Application.redis_remotestorage.hset(
        "rs:size_migration", u.username, "not_started"
      )
    end
2016-12-15 16:28:19 +01:00
Greg Karékinian
97a77e2a2c Remove unused test key passed to the eval command 2016-12-15 15:34:51 +01:00
Greg Karékinian
a7c5808593 Add a script to calculate a user's storage size from the metadata...
... And write it to Redis

Usage:

   ENVIRONMENT=development ./migrate_storage_size_from_metadata.rb username
2016-12-15 13:21:54 +01:00
Greg Karékinian
06d234071a Merge pull request #98 from 5apps/bugfix/remove_whitespace_from_token
Remove line break from the token file when loading it
2016-10-24 15:30:37 +02:00
Greg Karékinian
c1ed996b1d Only send the first 20 characters of the token 2016-10-19 15:05:30 +02:00
Greg Karékinian
be43a7474a Remove line break from the token file when loading it 2016-10-18 18:03:02 +02:00
e575398854 Merge pull request #97 from 5apps/feature/single_container_migration
Remove container migration checks and scripts
2016-09-12 12:26:09 +01:00
Garret Alfert
07533e139d Remove migration scripts 2016-09-12 12:32:31 +02:00
Garret Alfert
35abddc4ea Remove container migration checks 2016-09-12 11:49:23 +02:00
d81a4b8314 Merge pull request #96 from 5apps/feature/single_container_migration
Skip migration for users with too many files
2016-09-08 12:52:29 +02:00
Garret Alfert
08a2754936 Skip migration for users with too many files 2016-09-08 11:45:41 +02:00
9ca8a7d507 Merge pull request #95 from 5apps/feature/swift_migration
Swift migration for single shared container
2016-09-07 22:38:52 +02:00
Garret Alfert
41baecbf35 Use a MigrationRunner to iterate over all unmigrated users 2016-09-07 19:58:32 +02:00
Garret Alfert
74428408b1 Use new Redis migration hash in Liquor Cabinet itself 2016-09-07 18:13:52 +02:00
Garret Alfert
710657748b Use full dir listing instead of per subdir 2016-09-07 17:59:14 +02:00
Garret Alfert
685c82d068 Use Redis hash for storing migration state instead of one key per user 2016-09-07 17:05:27 +02:00
Garret Alfert
ad8a75a0ad Use COPY method instead of GET and PUT 2016-09-07 14:07:13 +02:00
Garret Alfert
90a6753d88 Use container path directly, instead of hiding it behind a method 2016-09-06 16:36:43 +02:00
Garret Alfert
6b7bb8144e Fix migration script to work without dir objects 2016-09-06 16:24:12 +02:00
Garret Alfert
e6fa6ca586 User proper container and path based on migration state 2016-09-05 18:27:35 +02:00
Garret Alfert
22ce52d00c Migration for moving to a single shared container for all users 2016-09-02 20:03:48 +02:00
Garret Alfert
c79b86bff5 Change Redis key for container migration 2016-09-02 16:41:36 +02:00
Garret Alfert
fdc819d53d Determine which container to use from Redis 2016-09-02 15:15:48 +02:00
Garret Alfert
49ec6effa7 Remove unused method 2016-09-02 15:10:01 +02:00
8ad882d5ab If user container doesn't exist, use shared container 2016-09-01 18:12:52 +02:00
6448642477 Return 503 for PUT/DELETE during user migration 2016-09-01 17:14:42 +02:00
Greg Karékinian
b68c5d8409 Merge pull request #94 from 5apps/feature/86-respond_with_201_on_create
Respond with status 201 when creating new objects
2016-08-08 14:47:07 +02:00
Greg Karékinian
c9be5eaaca Merge pull request #93 from 5apps/bugfix/80-make_sure_to_delete_metadata
Make sure to delete existing metadata on DELETE
2016-08-08 14:46:16 +02:00
Garret Alfert
7a8694fd55 Respond with status 201 when creating new objects
closes #86
2016-08-05 17:43:47 +02:00
Garret Alfert
5891cb9cf0 Make sure to delete existing metadata on DELETE
fixes #80
2016-08-05 17:17:59 +02:00
d786dc235a Merge pull request #91 from 5apps/bugfix/reload_tokens_more_often
Reload swift token from file every 30 minutes
2016-07-23 12:09:47 +02:00
Greg Karékinian
74063a3f66 Reload swift token from file every 30 minutes
We have seen requests fail because of an expired token that was loaded
from file less than an hour ago
2016-07-23 11:30:55 +02:00
55835ac341 Merge pull request #90 from 5apps/update_dependencies
Update dependencies
2016-07-21 12:10:50 +02:00
Greg Karékinian
8caff843d6 Update gem dependencies 2016-07-21 11:26:32 +02:00
Greg Karékinian
56474bc08f Bump Ruby version on Travis 2016-07-21 11:26:21 +02:00
Greg Karékinian
5b0757dc65 Merge pull request #89 from 5apps/update_nokogiri
Update nokogiri
2016-07-21 11:17:11 +02:00