672 Commits

Author SHA1 Message Date
venkatamahesh
705642db4c Change stackforge repo to openstack repo
The projects which are moved to openstack
are corrected by replacing stackforge with openstack

Change-Id: I65b794a7f10df617bc2a4caf2c4010477a82dbc2
2015-11-10 19:46:31 +05:30
Jenkins
7242c4a006 Merge "Fix missing *-replicator conf sections in deployment guide" 2015-11-03 22:51:24 +00:00
Paul Dardeau
73e032049f Update admin guide with region.
Added region prefix to example commands for adding devices to ring.
Also updates description to include region prefix.

Change-Id: Ie6d6485b497cea973e37909b5b19b44946c8aa89
2015-10-23 18:20:25 +00:00
Alistair Coles
1a2b54fc0a Fix missing *-replicator conf sections in deployment guide
The doc for these sections was missing because of an rst error - the
source is there in rst file but didn't make it into the html output.

Add doc for per_diff and max_diffs in account and container doc sections.

Also, fix a bunch of other sphinx build errors and most of the warnings.

Change-Id: If9ed2619b2f92c6c65a94f41d8819db8726d3893
2015-10-23 14:58:38 +01:00
Lisak, Peter
b6b7578190 node_timeout as float in configs
It is more convenient to use float node_timeout for fine tunning latency.

Change-Id: I7c57bba053711a27d3802efe6f2a0bf53483a54f
2015-10-19 21:14:34 +02:00
Jenkins
8a68033948 Merge "Hyperlink fix to first contribution doc" 2015-10-16 17:30:03 +00:00
Mahati Chamarthy
a9ddc2d9ea Hyperlink fix to first contribution doc
Change-Id: I19fc1abc89f888233b80a57c68a152c1c1758640
2015-10-16 19:34:44 +05:30
asettle
384b91eb82 Moving DLO functionality doc to the middleware code
This change moves the RST DLO documentation from
statically inside overview_large_objects.rst and moves it
to middleware/dlo.py.
This is where all middleware RST documentation is defined.

The overview_large_objects.rst is still the main page
for information on large objects, so now dynamically
points to both the DLO and SLO middleware RST
documentation and the relevant middleware.rst page
simply points to it.

Change-Id: I40d918c8b7bc608ab945805d69fe359521df038a
Closes-bug: #1276852
2015-10-13 10:35:46 +01:00
Ondřej Nový
9cafa472a3 Autodetect systemctl in SAIO and use it on systemd distros
Change-Id: I84a9b27baac89327749d8774032860f8ad5166f2
2015-10-12 22:39:52 +02:00
Alistair Coles
01f9d15045 Fix EC documentation of .durable quorum
Update the doc to reflect the change [1] to ndata + 1
.durable files being committed before a success response
is returned for a PUT.

[1] Ifd36790faa0a5d00ec79c23d1f96a332a0ca0f0b

Change-Id: I1744d457bda8a52eb2451029c4031962e92c2bb7
2015-10-08 18:55:29 +01:00
Alistair Coles
167f3c8cbd Update EC overview doc for PUT path
Update the EC overview docs 'under the hood' section to reflect the
change in durable file parity from 2 to ec_nparity + 1 [1].

Also fix some typos and cleanup the text.

[1] change id I80d666f61273e589d0990baa78fd657b3470785d

Change-Id: I23f6299da59ba8357da2bb5976d879d9a4bb173e
2015-09-30 09:45:57 +01:00
Jenkins
241b68da9e Merge "Allows to configure the rsync modules where the replicators will send data" 2015-09-16 12:06:27 +00:00
Jenkins
e399dcbdaa Merge "Update EC Support on how to build an EC ring with replicas count" 2015-09-16 03:46:36 +00:00
Bill Huber
530102ae07 Update EC Support on how to build an EC ring with replicas count
This doc is being updated to specify the replicas count parameter
to build an EC ring that enforces both data and parity placements
for each partition.

Change-Id: I770ad268e4017e610be3357e89b89f0b7d3c18af
Closes-Bug: 1487203
2015-09-15 09:40:39 +01:00
Clay Gerrard
0d9142abd4 Fix typo in Deployment Guide and add some formatting
Change-Id: I58703162bf3e9f39656a5e511bd8fe845793bca2
2015-09-14 17:17:29 -07:00
Jenkins
63ab40db9a Merge "Improving statistics sent to Graphite." 2015-09-09 07:12:01 +00:00
Romain LE DISEZ
71f6fd025e Allows to configure the rsync modules where the replicators will send data
Currently, the rsync module where the replicators send data is static. It
forbids administrators to set rsync configuration based on their current
deployment or needs.

As an example, the rsyncd configuration example encourages to set a connections
limit for the modules account, container and object. It permits to protect
devices from excessives parallels connections, because it would impact
performances.

On a server with many devices, it is tempting to increase this number
proportionally, but nothing guarantees that the distribution of the connections
will be balanced. In the worst scenario, a single device can receive all the
connections, which is a severe impact on performances.

This commit adds a new option named 'rsync_module' to the *-replicator sections
of the *-server configuration file. This configuration variable can be
extrapolated with device attributes like ip, port, device, zone, ... by using
the format {NAME}. eg:
    rsync_module = {replication_ip}::object_{device}

With this configuration, an administrators can solve the problem of connections
distribution by creating one module per device in rsyncd configuration.

The default values are backward compatible:
    {replication_ip}::account
    {replication_ip}::container
    {replication_ip}::object

Option vm_test_mode is deprecated by this commit, but backward compatibility is
maintained. The option is only effective when rsync_module is not set. In that
case, {replication_port} is appended to the default value of rsync_module.

Change-Id: Iad91df50dadbe96c921181797799b4444323ce2e
2015-09-07 08:00:18 +02:00
Emett Speer
e4542455c8 [Labs] Update links to Cloud Admin Guide
Update links to the Cloud Admin Guide after the
RST conversion of that book altered URLs.

Change-Id: I899f8938498b744e62887968a65e58c00ef27f1b
2015-09-02 17:42:31 -07:00
Brian Cline
615c7a204b Adds useful dispersion info from changelog
Change-Id: I1a45088fc32620b02ff9a754b02ec1eb75a59d6e
2015-09-01 10:51:20 -05:00
Jenkins
e354f897c3 Merge "Add container sync probe test to SAIO default set" 2015-08-25 20:25:01 +00:00
Jenkins
e8b0461a34 Merge "New troubleshooting case in documentation." 2015-08-25 08:10:55 +00:00
Jenkins
2d41ff7b45 Merge "Enable Object Replicator's failure count in recon" 2015-08-24 07:32:08 +00:00
Eran Rom
69e7424d3c Add container sync probe test to SAIO default set
SAIO Configuration and documentation changes enabling to run the
container sync probe test by default

Change-Id: Iccf59533d0d4fe72549d318339ab125d04dde006
Related-Bug: #1476623
2015-08-22 22:50:50 +03:00
Carlos Cavanna
a1ceab5a92 New troubleshooting case in documentation.
Added a new troubleshooting case for the "First Contribution to Swift"
documentation page.

Change-Id: I182ba702b49b28409fe56becae93326e5f63dcd0
2015-08-21 14:14:31 -04:00
Carlos Cavanna
4765189ef3 Improving statistics sent to Graphite.
Currently, statistics are organized by command. However, it would also be
useful to display statistics organized by policy. Different policies may be
based on different storage properties (ie, faster disks).
With this change, all the statistics for object timers will be sent per policy
as well.
Policy statistics reporting will use policy index and the name in Graphite will
show as proxy-server.object.policy.<policy-index>.<verb>, etc.
Updated unit tests for per-policy stat reporting and added new unit tests for
invalid cases.
Updated documentation in the Administrator's Guide to reflect this new
aggregation.

Change-Id: Id70491e4833791a3fb8ff385953d69018514cd9c
2015-08-21 13:45:00 -04:00
Hamdi Roumani
1a81cda8b7 Doc instructions for post rebase steps
Improve the 'first_contribution_swift' by adding instructions for how to
rebuild swift following a rebase.

Change-Id: If5c91dc4e1e8d1712bbd8b326c675967fb4b8c15
2015-08-18 00:03:10 -04:00
Hisashi Osanai
79ba4a8598 Enable Object Replicator's failure count in recon
This patch makes the count of object replication failure in recon.
And "failure_nodes" is added to Account Replicator and
Container Replicator.

Recon shows the count of object repliction failure as follows:
$ curl http://<ip>:<port>/recon/replication/object
{
    "replication_last": 1416334368.60865,
    "replication_stats": {
        "attempted": 13346,
        "failure": 870,
	"failure_nodes": {
            "192.168.0.1": {"sdb1": 3},
            "192.168.0.2": {"sdb1": 851,
                            "sdc1": 1,
                            "sdd1": 8},
            "192.168.0.3": {"sdb1": 3,
                            "sdc1": 4}
	},
        "hashmatch": 0,
        "remove": 0,
        "rsync": 0,
        "start": 1416354240.9761429,
        "success": 1908
    },
    "replication_time": 2316.5563162644703,
    "object_replication_last": 1416334368.60865,
    "object_replication_time": 2316.5563162644703
}

Note that 'object_replication_last' and 'object_replication_time' are
considered to be transitional and will be removed in the subsequent
releases. Use 'replication_last' and 'replication_time' instead.

Additionaly this patch adds the count in swift-recon and it will be
showed as follows:
$ swift-recon object -r
========================================================================
=======
--> Starting reconnaissance on 4 hosts
========================================================================
=======
[2014-11-27 16:14:09] Checking on replication
[replication_failure] low: 0, high: 0, avg: 0.0, total: 0, Failed: 0.0%,
no_result: 0, reported: 4
[replication_success] low: 3, high: 3, avg: 3.0, total: 12,
Failed: 0.0%, no_result: 0, reported: 4
[replication_time] low: 0, high: 0, avg: 0.0, total: 0, Failed: 0.0%,
no_result: 0, reported: 4
[replication_attempted] low: 1, high: 1, avg: 1.0, total: 4,
Failed: 0.0%, no_result: 0, reported: 4
Oldest completion was 2014-11-27 16:09:45 (4 minutes ago) by
192.168.0.4:6002.
Most recent completion was 2014-11-27 16:14:19 (-10 seconds ago) by
192.168.0.1:6002.
========================================================================
=======

In case there is a cluster which has servers, a server runs with this
patch and the other servers run without this patch. If swift-recon
executes on the server which runs with this patch, there are unnecessary
information on the output such as [failure], [success] and [attempted].
Because other servers which run without this patch are not able to
send a response with information that this patch needs.
Therefore once you apply this patch, you also apply this patch to other
servers before you execute swift-recon.

DocImpact
Change-Id: Iecd33655ae2568482833131f422679996c374d78
Co-Authored-By: Kenichiro Matsuda <matsuda_kenichi@jp.fujitsu.com>
Co-Authored-By: Brian Cline <bcline@softlayer.com>
Implements: blueprint enable-object-replication-failure-in-recon
2015-08-18 11:40:02 +09:00
Jenkins
617c6b0107 Merge "Time synchronization check in recon." 2015-08-18 01:21:22 +00:00
Jenkins
57791b6cd2 Merge "+Document method to avoid rsync filling root drive" 2015-08-11 08:27:17 +00:00
Thiago da Silva
035a411660 versioned writes middleware
Rewrite object versioning as middleware to simplify the PUT method
in the object controller.

The functionality remains basically the
same with the only major difference being the ability to now
version slo manifest files. dlo manifests are still not
supported as part of this patch.

Co-Authored-By: Clay Gerrard <clay.gerrard@gmail.com>

DocImpact
Change-Id: Ie899290b3312e201979eafefb253d1a60b65b837
Signed-off-by: Thiago da Silva <thiago@redhat.com>
Signed-off-by: Prashanth Pai <ppai@redhat.com>
2015-08-07 14:11:32 -04:00
Jenkins
757bf13b0a Merge "Having said H, I, J, we ought to say K" 2015-08-06 05:56:40 +00:00
Jenkins
4e92d5e7b7 Merge "do container listing updates in another (green)thread" 2015-08-06 00:27:09 +00:00
Pete Zaitcev
652f0f9da4 Having said H, I, J, we ought to say K
In the long run, we might want to stop these updates. But this
decision is above my pay grade.

Change-Id: I335558e1da8052be1b215fbad51244b47af3d81b
2015-08-05 15:33:29 -06:00
Ben Martin
89f5906286 +Document method to avoid rsync filling root drive
When rsync pushes to a remote node with an unmounted drive and if
certain steps are not taken, rsync may attempt to write files to
the local drive at the location where the drive was mounted.

There are two suggested solutions for this issue:
  1) Set the permissions for all mount points in /srv/node/
       to root:root 755
  2) Mount the drives elsewhere and symlink the drives to /srv/.../

The first method ensures that only root and not the swift user
can write in the /srv/.../ directories.

The second method will prompt a broken link issue if rsync
attempts to write to an unmounted drive.

Change-Id: I60ce4ed9ef8401768d5f78b6806cbb2e2a65303e
Closes-Bug: #1470576
2015-08-05 09:29:07 -05:00
Charles Hsu
f0d51882b9 Add extra_header_count to document and config.
Change-Id: Iec86b488d71553c295afe7098822ce2046df9546
2015-08-05 22:09:40 +08:00
Jenkins
e1683fdb2e Merge "Support keystone v3 domains in swift-dispersion" 2015-07-31 06:59:01 +00:00
Carlos Cavanna
5a7383313b Swift documentation for first-time contributors.
In this change, there are proposed improvement to Swift documentation aimed at
first-time contributors. They include a simplification of the Getting
Started page and a new page with some basic instructions/commands that the
first-time contributor should know. In addition, it shows some common errors
that the first-time contributor may find when executing git rebase and
information on how to track your changes.

Change-Id: I704202955093736b2f3b4102a649690a0392c6b0
2015-07-29 21:40:28 -07:00
Jenkins
f244caf794 Merge "Updated tox setup instructions on Development Guidelines" 2015-07-28 10:28:08 +00:00
Falk Reimann
363a256e58 Support keystone v3 domains in swift-dispersion
This provides the capability to specify a project_name,
project_domain_name and user_domain_name in /etc/swift/dispersion.conf.
If this values are set in dispersion.conf they get populated to the
swift-client.  With this it is possible to have a specific dispersion
project specified, which is not the keystone default domain.  Changes
were applied to swift-dispersion-populate and swift-dispersion-report.
Relevant man pages, the example dispersion.conf and the admin guide were
updated accordingly.

DocImpact
Closes-Bug: #1468374

Change-Id: I0e716f8d281b4d0f510bc568bcee4a13fc480ff7
2015-07-24 13:40:24 -05:00
Atsushi SAKAI
964869accc Fix six typos on swift documentation
mechanisim => mechanism
    http://docs.openstack.org/developer/swift/cors.html
overridde => override
   http://docs.openstack.org/developer/swift/deployment_guide.html
extentsions => extensions
  http://docs.openstack.org/developer/swift/development_ondisk_backends.html
reuqest => request
  http://docs.openstack.org/developer/swift/logs.html
suport => support
  http://docs.openstack.org/developer/swift/overview_architecture.html
mininum => minimum
  http://docs.openstack.org/developer/swift/overview_erasure_code.html

$ git diff | diffstat
 cors.rst | 2 +-
 deployment_guide.rst | 2 +-
 development_ondisk_backends.rst | 2 +-
 logs.rst | 2 +-
 overview_architecture.rst | 2 +-
 overview_erasure_code.rst | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

Change-Id: I8e095f4c216b2cfae48dff1e17d387048349f73c
Closes-Bug: #1477877
2015-07-24 17:11:49 +09:00
Ondrej Novy
dd2f1be3b1 Time synchronization check in recon.
This change add call time to recon middleware and param --time to
recon CLI. This is usefull for checking if time in cluster is
synchronized.

Change-Id: I62373e681f64d0bd71f4aeb287953dd3b2ea5662
2015-07-23 11:35:02 +02:00
Hamdi Roumani
f563a423bf Updated tox setup instructions on Development Guidelines
The instructions suggest updating the ownership of the swift.egg-info
directory may be required and provide a cmd to do so.  Said cmd assumes user
'swift' exists, but tox will require the current user to have access to the
directory to perform updates, moreover user swift may not exist at all.

Change-Id: I63951970553c086ff4f1ac65a81559ba69166494
2015-07-22 15:27:26 -04:00
John Dickinson
2289137164 do container listing updates in another (green)thread
The actual server-side changes are simple. The tests are a different
matter. Many changes were needed to the object server tests to
handle the now-async calls to the container server. In an effort to
test this properly, some drive-by changes were made to improve tests.

I tested this patch by doing zero-byte object writes to one container
as fast as possible. Then I did it again while also saturating 2 of the
container replica's disks. The results are linked below.

https://gist.github.com/notmyname/2bb85acfd8fbc7fc312a

DocImpact

Change-Id: I737bd0af3f124a4ce3e0862a155e97c1f0ac3e52
2015-07-22 01:19:58 -07:00
Clay Gerrard
2d6c5fe2af Fix Associated Projects link on Getting Started
Change-Id: I50be656bc5868242489f97c96a1feaef171933e0
2015-07-21 09:57:54 -07:00
Azhagu Selvan SP
317fa1af49 Minor change in development saio setup doc
Make the test-requirements install command uniform with the rest of the
setup commands in the page by using the $HOME, instead of hardcoding
the folder path.

Change-Id: I8da7a191a301601e27f894f8268238d77b150ede
2015-07-18 15:19:43 +05:30
Jenkins
2107fe89c7 Merge "Select policy when running functional test" 2015-07-17 00:26:44 +00:00
Jenkins
2f9053b628 Merge "Fix Container Sync example" 2015-07-11 02:16:52 +00:00
Jenkins
668d543c86 Merge "Add ring-builder analyzer." 2015-07-10 20:12:34 +00:00
Oshrit Feder
6cafd0a4c0 Fix Container Sync example
Container-sync realm uses cluster_ as a prefix to specify clusters'
names. At use, the prefix should not be included. Fixing the examples
and sample conf to make it clearer that only the name of the cluster
should be passed.

Change-Id: I2e521d86faffb59e1b45d3f039987ee023c5e939
2015-07-08 16:37:31 -07:00
Jenkins
90b139db19 Merge "fix api overview document" 2015-07-08 19:16:59 +00:00