787 Commits

Author SHA1 Message Date
Kota Tsuyuzaki
29b8d2da20 Avoid docs warning: Duplicate explicit target name
When we add two (or more than) different links as same target name,
we need to set two underscore[1] instead of one. This avoids "Duplicate
explicit target name" warnings.

1:
http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#hyperlink-references

Change-Id: I8a493e7a1deeece33ee1b3fb3f5c848f3cc31d06
2016-06-14 19:20:07 -07:00
Jenkins
11c5ef7d22 Merge "[Docs] Document prevention of disk full scenarios" 2016-06-08 21:51:02 +00:00
Thiago da Silva
886fa0822a update pyeclib and liberasurecode links
Change-Id: Ic6d04083618362778363fea1570caaa865e44557
Signed-off-by: Thiago da Silva <thiago@redhat.com>
2016-06-02 23:03:26 -04:00
Nelson Almeida
daae74ca65 Adding sorting_method to admin_guide
Change-Id: I1162f154e3a577a95f9f5ea0e0f723b7df5a4baf
2016-06-01 17:29:10 -03:00
John Dickinson
86e9e827ba add explicit HA info to the deployment guide
Change-Id: I7614952c523080fe50eaf839b54a8064439817ce
2016-05-31 11:27:43 -07:00
Jenkins
12022385fb Merge "Clarify overload best practices in admin guide" 2016-05-26 02:42:00 +00:00
Jenkins
9fd96966d0 Merge "Add dispersion --verbose example to admin guide" 2016-05-25 18:57:20 +00:00
Clay Gerrard
b52eccb3b1 Clarify overload best practices in admin guide
Change-Id: Ib7c08bdeab6374771bb8e2b05053e7e16973524d
2016-05-25 11:21:25 -07:00
Jenkins
b9e49ce636 Merge "Add ring-builder dispersion command to admin guide" 2016-05-25 08:14:20 +00:00
Christian Schwede
f1fd50723b Add dispersion --verbose example to admin guide
Change-Id: I5f9cacedde2a329332ccf744800b6f2453e8b28e
2016-05-25 09:53:33 +02:00
Matthew Oliver
b3ab715c05 Add ring-builder dispersion command to admin guide
This change updates the admin guide to point out the dispersion command
in swift-ring-builder and mentions the dispersion verbose table to make
it more obvious to operators.

Change-Id: I72b4c8b2d718e6063de0fdabbaf4f2b73694e0a4
2016-05-25 14:35:54 +10:00
Tim Burke
fb7a8e9ab7 Add links to mitaka install guides
Change-Id: I62331923751c521daded4468b5cc5f03655226bc
2016-05-24 13:38:43 -07:00
Jenkins
4a7731875b Merge "disable_fallocate also disables fallocate_reserve" 2016-05-19 23:13:15 +00:00
Matthew Oliver
876df35f84 disable_fallocate also disables fallocate_reserve
Currently when disable_fallocate is true it disables calling the
fallocate syscall, but it doesn't disable fallocate_reserve. This
patch fixes this.

This problem has caused functional tests to fail in our SAIOs, since
SAIOs have disable_fallocate set but the fallocate_reserve space free
checking was still being run creating 507 responses. This is thanks
to the change in fallocate_reserve default changing from 0 to 1%.

Because fallocate_reserve and disable_fallocate causes SAIO functional
tests to fail a section called 'Known Issues' has been added to the
SAIO developer documentation which includes a warning about
using fallocate_reserve on SAIOs.

Change-Id: I727bfb0861ea26fe2f16ad55f4d36ae088864d8f
2016-05-19 11:56:29 +10:00
Andy McCrae
efdf123a40 [Docs] Document prevention of disk full scenarios
Adds section to detail how to prevent disk full scenarios from
occurring.

Change-Id: Iafb4a47fa4892f6067252f3a80de87cd76506a40
2016-05-16 10:09:33 +00:00
venkatamahesh
4248123169 Remove the invalid project link
swiftsync project is no longer maintained and so
is removed from the list

Change-Id: Ieae67c728da16e5516babd33d2e5937b14738d6a
Closes-Bug: #1581975
2016-05-15 21:27:46 +05:30
Jenkins
1c6e3e9e87 Merge "List system dependencies for running common tests" 2016-05-13 00:55:58 +00:00
Jenkins
a403faadd4 Merge "Allow fallocate_reserve to be a percentage" 2016-05-12 08:18:39 +00:00
Andreas Jaeger
92274d4790 List system dependencies for running common tests
Add an other-requirements.txt file containing a cross-platform list of
dependencies needed for running included tox-based tests. Also include a
tox environment for convenience calling the bindep[*] utility to list
any missing system requirements.

Document bindep and other-requirements usage.

This change is self-testing.

For other-requirements.txt see also
http://docs.openstack.org/infra/manual/drivers.html#package-requirements

[*] http://docs.openstack.org/infra/bindep/

Change-Id: Iea6f5fecba3b7cb9f6dac7029c0f17fc31fc0e3c
2016-05-12 08:51:31 +02:00
Jenkins
b6c3ab26a1 Merge "Refactor server side copy as middleware" 2016-05-12 02:48:14 +00:00
Prashanth Pai
46d61a4dcd Refactor server side copy as middleware
Rewrite server side copy and 'object post as copy' feature as middleware to
simplify the PUT method in the object controller code. COPY is no longer
a verb implemented as public method in Proxy application.

The server side copy middleware is inserted to the left of dlo, slo and
versioned_writes middlewares in the proxy server pipeline. As a result,
dlo and slo copy_hooks are no longer required. SLO manifests are now
validated when copied so when copying a manifest to another account the
referenced segments must be readable in that account for the manifest
copy to succeed (previously this validation was not made, meaning the
manifest was copied but could be unusable if the segments were not
readable).

With this change, there should be no change in functionality or existing
behavior. This is asserted with (almost) no changes required to existing
functional tests.

Some notes (for operators):
* Middleware required to be auto-inserted before slo and dlo and
  versioned_writes
* Turning off server side copy is not configurable.
* object_post_as_copy is no longer a configurable option of proxy server
  but of this middleware. However, for smooth upgrade, config option set
  in proxy server app is also read.

DocImpact: Introducing server side copy as middleware

Co-Authored-By: Alistair Coles <alistair.coles@hpe.com>
Co-Authored-By: Thiago da Silva <thiago@redhat.com>

Change-Id: Ic96a92e938589a2f6add35a40741fd062f1c29eb
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Signed-off-by: Thiago da Silva <thiago@redhat.com>
2016-05-11 14:55:51 -04:00
Jenkins
6fbf262e8f Merge "resurrect gholt blog posts on building consistent hashing ring" 2016-05-11 03:39:04 +00:00
Jenkins
6a88f27eb0 Merge "Remove threads_per_disk setting" 2016-05-11 01:36:43 +00:00
Paul Dardeau
cb8cda6588 resurrect gholt blog posts on building consistent hashing ring
These are blog posts authored by Greg Holt (gholt) and used with
permission to add here. Content was only reformatted as rst and
wrap prose lines at 70 characters.

Change-Id: I7aa47c24b5019aa598ee005e01612a49514da25f
2016-05-10 15:41:27 -07:00
Shashirekha Gundur
cf48e75c25 change default ports for servers
Changing the recommended ports for Swift services
from ports 6000-6002 to unused ports 6200-6202;
so they do not conflict with X-Windows or other services.

Updated SAIO docs.

DocImpact
Closes-Bug: #1521339
Change-Id: Ie1c778b159792c8e259e2a54cb86051686ac9d18
2016-04-29 14:47:38 -04:00
Christian Schwede
9d6a055b31 Remove threads_per_disk setting
This patch removes the threads_per_disk setting. It was already a deprecated
setting and by default set to 0, which effectively meant to not use a per-disk
thread pool at all. Users are encouraged to use servers_per_port instead.

DocImpact

Change-Id: Ie76be5c8a74d60a1330627caace19e06d1b9383c
2016-04-28 12:06:24 -05:00
ZhiQiang Fan
a1ed76f1cb Fix doc build if git is absent
When building packages if git is absent, then we should not set
html_last_updated_fmt. It can still be set via the -D switch
when building with sphinx-build.

Change-Id: I5d0b6cc87f27a052d6d0265546c0d347f00c4bb8
Closes-Bug: #1552251
2016-04-28 10:12:25 -05:00
Andy McCrae
0da9da5131 Allow fallocate_reserve to be a percentage
Add the ability to set the fallocate_reserve value as a percentage.
This happens automatically when adding the '%' at the end of the value.
Having the ability to set a % of free space rather than a byte value is
useful especially when drive sizes are heterogenous.

The default for fallocate_reserve has been adjusted to 1%, having the
fallocate_reserve set seems sensible for all deploys and percentages are
far safer to default than byte values (across drives of any size).

Tests added for using fallocate_reserve as a percentage.

Duplicate tests for fallocate_reserve have been removed.

Docs updated to reflect the fallocate_reserve change.

Change-Id: I4aea613a708205c917e81d6b2861396655e73238
2016-04-23 08:02:00 -05:00
oshritf
c96d5c671d Per container stat. report
In addition to the container sync stat. report, keeping per container
statistics allows administrator with more control over bytes
transfered over a specific time per user account: The per container stats
are crucial for billing purposes and provides the operator a 'progress
bar' equivalent on the container's replication status.

Change-Id: Ia8abcdaf53e466e8d60a957c76e32c2b2c5dc3fa
2016-04-14 21:37:59 +03:00
Ondřej Nový
33f06dc48f Fixed Sphinx errors
doc/source/deployment_guide.rst:1372: ERROR: Malformed table.
swift/obj/diskfile.py:docstring of swift.obj.diskfile.BaseDiskFileManager.yield_hashes:13: ERROR: Unexpected indentation.
doc/source/ops_runbook/diagnose.rst:188: WARNING: Inline emphasis start-string without end-string.

Change-Id: Id20eb62eb5baebb3814e7af5676badb94f17dee5
2016-04-09 18:47:58 +02:00
Nguyen Hung Phuong
edc413b85e Fix typos in Swift files
Change-Id: I39dbf55c094c42347b57ef67520abff9e6fc24bc
2016-04-07 13:33:20 +07:00
Thiago da Silva
a460e5affe added javaswift to associated projects
Change-Id: I139ac3acb1c7d2498e87df554b81824ada2dbd00
Signed-off-by: Thiago da Silva <thiago@redhat.com>
2016-04-04 16:27:14 -04:00
KATO Tomoyuki
ee6af69af4 [docs] Update Administrator Guide URL
Change-Id: I7f6f4ffb7033d2a321362c91e05f1576847939b0
2016-04-01 23:38:49 +09:00
Nguyen Hung Phuong
59bbe27fb0 Fix typos in Swift files
Change-Id: I34e0c9a888127704ac1910e73ddd14e27ebade13
2016-03-30 04:15:23 +00:00
Anh Tran
2f7d0f4a2a Removing some redundant words
This patch removes some redundant words.

Change-Id: Ia79717664b06ed9a41c3c5dcf1a25e9e49e21cf2
2016-03-25 17:20:24 +07:00
Jenkins
4be3701805 Merge "Auditor will clean up stale rsync tempfiles" 2016-03-23 22:21:51 +00:00
Clay Gerrard
1d03803a85 Auditor will clean up stale rsync tempfiles
DiskFile already fills in the _ondisk_info attribute when it tries to open
a diskfile - even if the DiskFile's fileset is not valid or deleted.
During this process the rsync tempfiles would be discovered and logged,
but no-one would attempt to clean them up - even if they were really old.

Instead of logging and ignoring unexpected files when validate a DiskFile
fileset we'll add unexpected files to the unexpected key in the
_ondisk_info attribute.

With a little bit of re-organization in the auditor's object_audit method
to get things into a single return path we can add an unconditional check
for unexpected files and remove those that are "old enough".

Since the replicator will kill any rsync processes that are running longer
than the configured rsync_timeout we know that any rsync tempfiles older
than this can be deleted.

Split unlink_older_than in common.utils into two functions to allow an
explicit list of previously discovered paths to be passed in to avoid an
extra listdir.  Since the getmtime handling already ignores OSError
there's less concern of race condition where a previous discovered
unexpected file is reaped by rsync while we're attempting to clean it up.

Update some doc on the new config option.

Closes-Bug: #1554005

Change-Id: Id67681cb77f605e3491b8afcb9c69d769e154283
2016-03-23 19:34:34 +00:00
Jenkins
32847d2f48 Merge "Docs: Container sync does not require POST-as-COPY" 2016-03-23 17:08:26 +00:00
Alistair Coles
736de613f1 Docs: Container sync does not require POST-as-COPY
Updates docs to remove warnings that container sync only
works with object_post_as_copy=True. Since commit e91de49
container sync will also sync POST updates when using
object_post_as_copy=False.

Change-Id: I5cc3cc6e8f9ba2fef6f896f2b11d2a4e06825f7f
2016-03-22 11:36:32 +00:00
Jenkins
4eb57e971d Merge "Add concurrent reads option to proxy" 2016-03-18 23:11:04 +00:00
Jenkins
1637fa2f8f Merge "Make keystone middleware options consistent in docs" 2016-03-18 10:43:23 +00:00
Jenkins
ead9b56743 Merge "Update ring overview for reuse of device ids" 2016-03-18 00:48:20 +00:00
Paul Dardeau
a85149c40e Update ring overview for reuse of device ids
Change-Id: Ied15706d4cc931b5314001a02457f83e175c5d24
2016-03-17 22:24:12 +00:00
Alistair Coles
6efee0ebb1 Make keystone middleware options consistent in docs
Bring overview_auth.rst and proxy server man page
up to date with changes made in [1]

[1] Change-Id: I373734933189c87c4094203b0752dd3762689034

Change-Id: Ia16f0c391e7c357ccb9c13945839dc5647e49a13
2016-03-16 11:43:20 +00:00
Kota Tsuyuzaki
ecbcc94989 Fix ssync related object-server docs
Swift now uses SSYNC verb instead of old REPLICATION verb for ssync
protocol. This patch replaces all docs written as REPLICATION into
SSYNC and fix a few words for explanation.

Change-Id: I1253210d4f49749e7d425d6252dd262b650d9548
2016-03-16 08:58:31 +00:00
Matthew Oliver
f595a7e704 Add concurrent reads option to proxy
This change adds 2 new parameters to enable and control concurrent GETs
in swift, these are 'concurrent_gets' and 'concurrency_timeout'.

'concurrent_gets' allows you to turn on or off concurrent GETs, when
on it will set the GET/HEAD concurrency to replica count. And in the
case of EC HEADs it will set it to ndata.
The proxy will then serve only the first valid source to respond.
This applies to all account, container and object GETs except
for EC. For EC only HEAD requests are effected.

It achieves this by changing the request sending mechanism to using
GreenAsyncPile and green threads with a time out between each
request.

'concurrency_timeout' is related to concurrent_gets. And is the
amount of time to wait before firing the next thread. A value of 0
will fire at the same time (fully concurrent), setting another value
will stagger the firing allowing you the ability to give a node a
shorter chance to respond before firing the next. This value is a float
and should be somewhere between 0 and node_timeout. The default is
conn_timeout. Meaning by default it will stagger the firing.

DocImpact
Implements: blueprint concurrent-reads
Change-Id: I789d39472ec48b22415ff9d9821b1eefab7da867
2016-03-16 06:00:34 +00:00
Jenkins
cdee5b6d01 Merge "Remove reference to py26 in tox testing instructions" 2016-03-15 00:12:08 +00:00
Alistair Coles
3ac7cab32b Remove reference to py26 in tox testing instructions
Also change some rst formatting and clarify that tox
is used to run more than just *unit* tests.

Change-Id: I263af7b4f7a554da3a391cf5104af573c89e3825
2016-03-11 11:50:49 +00:00
Jenkins
557192c47e Merge "Cleanup of Swift Ops Runbook" 2016-03-11 00:57:48 +00:00
Donagh McCabe
e38b53393f Cleanup of Swift Ops Runbook
This patch cleans up some rough edges that were left (due to
time constraints) in the original commit.

Change-Id: Id4480be8dc1b5c920c19988cb89ca8b60ace91b4
Co-Authored-By: Gerry Drudy gerry.drudy@hpe.com
2016-03-10 17:39:54 +00:00