Joseph Schorr
5f99448adc
Add a chunk cleanup queue for async GC of empty chunks
...
Instead of having the Swift storage engine try to delete the empty chunk(s) synchronously, we simply queue them and have a worker come along after 30s to delete the empty chunks. This has a few key benefits: it is async (doesn't slow down the push code), helps deal with Swift's eventual consistency (less retries necessary) and is generic for other storage engines if/when they need this as well
2016-11-15 15:07:41 -05:00
Joseph Schorr
59cb6bd216
Make sure to not log exceptions if Swift deletes fail
2016-11-11 14:17:32 -05:00
Joseph Schorr
ce0e3e0e8d
Add missing parameter on RADOS storage
...
Fixes Python error that results from the missing parameter
2016-10-31 12:48:05 -04:00
Joseph Schorr
bfe2646a50
Make sure we don't generate chunk sizes larger than 5 GB.
...
Amazon S3 does not allow for chunk sizes larger than 5 GB; we currently don't handle that case at all, which is why large uploads are failing. This change ensures that if a storage engine specifies a *maximum* chunk size, we write multiple chunks no larger than that size.
2016-10-25 13:57:49 -04:00
Joseph Schorr
29b8905051
Add retry and ignore around Swift deleting empty chunks
...
Fixes #1979
2016-10-13 12:53:59 -04:00
Joseph Schorr
38415065e6
Add S3 retry to all possible operations around the multipart upload
...
Fixes #1933
2016-10-04 21:54:23 +03:00
Joseph Schorr
6ae3faf7fc
Add explicit config parameter to the JWT auth methods
2016-09-29 11:15:20 +02:00
Joseph Schorr
dd2e086a20
Add feature flag to force all direct download URLs to be proxied
...
Fixes #1667
2016-09-29 11:13:41 +02:00
Joseph Schorr
4f0ddc8d6e
Don't exception log for expected 404s in Swift storage
...
Fixes #1850
2016-09-20 14:07:29 -04:00
Joseph Schorr
8c67ed14e8
Delete empty swift chunks
...
Fixes #1844
2016-09-19 11:41:20 -04:00
Joseph Schorr
41cffe33f0
Fix borkened storage call
2016-09-02 14:29:53 -04:00
Joseph Schorr
233f55829e
Add multipart upload retry to chunk uploads as well
2016-09-02 12:00:18 -04:00
Joseph Schorr
0bc90ea45b
Add retry attempts for internal error on multipart upload
...
Fixes #1740
2016-08-18 12:04:36 -04:00
Joseph Schorr
14b93f72ff
Make S3 access key and secret key optional, enabling IAM.
...
If not specified, then boto will fallback to reading the credentials from IAM if on an EC2 machine. This should be safe as the validator will still ensure the credentials work if not specified.
Fixes #1707
2016-08-11 17:17:36 -04:00
josephschorr
630d022b56
Merge pull request #1675 from coreos-inc/fix-storage-validation
...
Add missing arg to validate call and add logging
2016-08-03 14:05:37 -04:00
Joseph Schorr
0b47fce1cb
Add logging when Swift deletion fails
2016-08-03 12:16:06 -04:00
Joseph Schorr
974ab6c42c
Add missing arg to validate call and add logging
2016-08-03 11:13:27 -04:00
josephschorr
83849f4320
Merge pull request #1660 from coreos-inc/storage-status
...
Add storage validation to the status endpoint
2016-08-03 11:09:48 -04:00
Joseph Schorr
770ac0016e
Change validate method to work for all storages
2016-08-02 15:01:37 -04:00
Joseph Schorr
c30b8dd1ad
Add storage validation to the status endpoint
...
Fixes #1659
2016-08-01 13:02:26 -04:00
Joseph Schorr
a41ccf0356
Add retry support to Swift
...
Fixes #1636
2016-07-26 09:56:00 -07:00
Joseph Schorr
cbf7c2bf44
Add better logging to blob uploads
...
Fixes #1635
2016-07-20 17:53:43 -04:00
Joseph Schorr
13a30d45b1
Add swift configuration options and default connection timeout
...
Fixes #1627
2016-07-19 17:19:11 -04:00
Joseph Schorr
5cd793331e
Fix storage replication for CAS and add tests
2016-07-12 13:46:06 -04:00
Joseph Schorr
713ba3abaf
Further updates to the Prometheus client code
2016-07-01 14:16:51 -04:00
Jake Moshenko
668a8edc50
Refactor prometheus integration
...
Move prometheus to SaaS and make it a plugin
Move static callers to use metrics_queue plugin
Change local-docker to support different quay clone dirnames
Change prom_aggregator to use logrus
2016-07-01 14:16:50 -04:00
Matt Jibson
3d9acf2fff
Use prometheus as a metric backend
...
This entails writing a metric aggregation program since each worker has its
own memory, and thus own metrics because of python gunicorn. The python
client is a simple wrapper that makes web requests to it.
2016-07-01 14:16:50 -04:00
Joseph Schorr
343a080833
Make security scan testing much faster
2016-05-05 13:55:24 -04:00
Joseph Schorr
eab6af2b87
Add mocked unit tests for cloud storage engine
2016-03-23 12:13:54 -04:00
Joseph Schorr
b440564df1
Fix client side chunk paths
...
Fixes #1306
2016-03-22 17:34:50 -04:00
Jimmy Zelinskie
2b07b6d8a9
allow HEAD on ACI images
...
Fixes #911 .
2016-02-12 16:28:44 -05:00
Joseph Schorr
68c9d5e432
Add torrent tests
...
Fixes #1128
2016-01-19 17:40:11 -05:00
josephschorr
6fc7d2a230
Merge pull request #1132 from coreos-inc/cleanup
...
Remove unused storage path
2016-01-19 12:08:30 -05:00
Jake Moshenko
909e7d45b7
Add a test for swift path computation
2016-01-15 15:35:04 -05:00
Jake Moshenko
c6d7eba98d
Fix paths in swift driver to be more intelligible
2016-01-15 15:35:04 -05:00
Jake Moshenko
0b1951a4a4
Remove list directory from storage driver
2016-01-15 15:35:04 -05:00
Joseph Schorr
622d2ebbb1
Remove unused storage path
...
Fixes #1131
2016-01-11 13:43:22 -05:00
Joseph Schorr
ab166c4448
Delete the image diff feature
...
Fixes #1077
2015-12-23 13:08:01 -05:00
Silas Sewell
2dcc1f13a6
Handle IOErrors in v2 uploads
2015-12-14 11:58:24 -05:00
Jake Moshenko
e00365b225
Assign the exception to a variable to log it
2015-12-08 18:03:48 -05:00
Silas Sewell
76fd744453
Log stream_write_to_fp ioerrors
2015-12-07 16:26:48 -05:00
Joseph Schorr
ee0eb80c8f
Fix blob content types
...
Fixes #990
2015-12-04 16:13:58 -05:00
Joseph Schorr
f38e7f5b25
Make it explicit that the hostname is a hostname, and not a URL
2015-12-04 15:40:33 -05:00
Joseph Schorr
e9b577104d
Add squash testing code to registry tests
...
Fixes #896
2015-11-20 15:16:11 -05:00
Matt Jibson
26f1d77a69
Merge pull request #889 from mjibson/s3-sigv4-host
...
Allow setting of boto's S3 host for SIGv4
2015-11-18 17:36:15 -05:00
Matt Jibson
b3c2388618
Allow setting of boto's S3 host for SIGv4
...
The problem only happens when a user has configured the new AWS Frankfurt
region for their S3 backend. It is the only region to require the new
v4 signature. All other regions support both v2 and v4. I'm not sure
which version is used by default on US Standard.
We could attempt to figure out where the bucket is hosted based on its
DNS resolution and auto-populate the host field that way. But I think
the amount of effort to have that work correctly outweighs its benefit
for such a simple solution.
fixes #863
fixes #764
2015-11-18 17:19:33 -05:00
Jake Moshenko
52125bbfed
Fix gc by using the v1/v2 storage location helper everywhere
2015-11-16 14:13:37 -05:00
Jake Moshenko
ab340e20ea
Merge remote-tracking branch 'upstream/master' into python-registry-v2
2015-11-11 16:41:40 -05:00
Silas Sewell
5000b1621c
superuser: add storage replication config
2015-11-09 17:34:22 -05:00
Jake Moshenko
9da64f3aba
Stop writing to deprecated columns for image data.
2015-10-24 14:45:15 -04:00