5419 Commits

Author SHA1 Message Date
Tim Burke
e47aaaacf1 Stop nesting functions unnecessarily
Change-Id: Iff120d0bac8a075c37bbddcd2bb0fe85145f1749
2016-02-03 12:52:29 -08:00
Darrell Bishop
26327e1e8b Allow IPv6 addresses/hostnames in StatsD target
The log_statsd_host value can now be an IPv6 address or a hostname
which only resolves to an IPv6 address.  In both cases, the new
behavior is to use an AF_INET6 socket on which .sendto() is called
with the originally-configured hostname (or IP).  This means the
Swift process is not caching a DNS resolution for the lifetime of
the process (a good thing).

If a hostname resolves to both an IPv6 or IPv4 address, an AF_INET
socket is used (i.e. only the IPv4 address will receive the UDP
packet).

The old behavior is preserved: any invalid IP address literals and
failures in DNS resolution or actual StatsD packet sending do not
halt the process or bubble up; they are caught, logged, and
otherwise ignored.

Change-Id: Ibddddcf140e2e69b08edf3feed3e9a5fa17307cf
2016-02-03 00:26:31 -08:00
Jenkins
e3f3b52991 Merge "Document use-case for slow option" 2016-02-03 07:00:58 +00:00
Eran Rom
2f8e604047 Fixing typo in unit test
The typo does not influence the correctness of the test
yet its ugly. bhhha.

Change-Id: I62e511bae23523892b87309dd3c50aea61742f2d
2016-02-03 08:59:53 +02:00
Clay Gerrard
f27ad34e1d Document use-case for slow option
Change-Id: Iec4087a896a2277179e3720d802cca101fa7ad54
2016-02-02 16:10:47 -08:00
Ondřej Nový
16976a0f14 Changed EC backend from jerasure to liberasurecode in examples and docs
liberasurecode_rs_vand is build-in liberasurecode, so you don't need
another depedency libjerasure2.

liberasurecode_rs_vand is supported by pyeclib from 1.0.8
version, so bumping version up.

Closes-Bug: #1534325
Change-Id: If2d96875694df8fd48c5278395859aaa165cb566
2016-02-02 23:08:11 +01:00
Alistair Coles
30d74af653 Insert versioned_writes in correct pipeline position
If not explicitly configured the versioned_writes middleware
should be auto-inserted in the pipeline after slo and dlo, which
is where the versioned_writes filter section's comments say it
should be in proxy-server.conf-sample. At the moment it can end up
being placed ahead of slo and dlo if they have been explicitly
configured, which results in the linked bug manifesting.

Closes-Bug: #1537042
Change-Id: I6ac95a331f4ef0d4887311940acc6f8bc00fb4eb
2016-02-02 18:30:06 +00:00
Jenkins
5d45cfa25f Merge "Replace exit() by sys.exit()" 2016-02-02 10:39:00 +00:00
Jenkins
758cbf45c8 Merge "Document slow option in etc/object-server.conf" 2016-02-02 10:38:52 +00:00
Jenkins
9f262854d8 Merge "Trivial fix for sphinx warnings" 2016-02-02 09:40:04 +00:00
Jenkins
3dc8766c13 Merge "A minor modification of the Deployment Guide" 2016-02-02 09:24:32 +00:00
Christian Schwede
ccdf4a9f30 Document slow option in etc/object-server.conf
Change-Id: Ic9940b0b830a468887878f7b0d7ca42c2cbbebd5
2016-02-02 09:39:32 +01:00
Clay Gerrard
b19dc1ddec Always fix devices with multiple part-replica assignments
I've found that given a sufficiently bad replica2part2dev table we can
accidently not entirely fix palcement when more than two replicas of a
part are assigned to the duplicate devices.

It shows up most on > 3 replica rings when you have two *different*
devices both holding two replicas.  But you can see it on a three
replica ring when all three replicas are assigned to the same device.

Change-Id: Ieb213c1a259815a2ed657291242919cda568c7b5
2016-02-01 16:19:08 -08:00
Jenkins
dfb1b58f52 Merge "Fix spelling error" 2016-02-01 17:48:47 +00:00
Jenkins
3a316a59de Merge "Imported Translations from Zanata" 2016-02-01 17:03:40 +00:00
dangming
c722fa1ab3 Fix spelling error
Change-Id: I4a1400c4d383acd59727ada3661a8dffc67825fb
2016-02-01 15:52:04 +00:00
Alistair Coles
c7e5e12500 Enable in-process func tests to optionally use fast-post
Running functional tests in the in-process mode uses
the default value for proxy-server object_post_as_copy,
which is True. This patch adds support for an environment
variable to change this value to False so that the fast-post
mode is tested when running in-process functional tests.

The patch also adds a new tox environment func-in-process-fast-post
which forces in-process functional testing with
object_post_as_copy=False.

The motivation for this change, apart from enabling configurable
local testing, is to put support in place for an upstream CI job
that will actually functionally test the fast-post mode, which is
otherwise only covered by unit tests.

There are currently two gate jobs that run the functional tests:

- gate-swift-dsvm-functional runs the tests *twice* against a
  devstack swift service, once using tempauth and once using
  keystoneauth. The devstack swift service uses the default
  object_post_as_copy=True.

- gate-swift-tox-func runs the func tests in in-process mode
  which also uses tempauth and object_post_as_copy=True. This
  duplicates one of the config scenarios above.

With this change either the gate-swift-tox-func job or a new job
could run the functional tests using object_post_as_copy=False.

Change-Id: Ia37f6df1dc38e44ef7404fbf0a52f6fc22fae0c2
2016-02-01 12:39:39 +00:00
Qiaowei Ren
4ba290bac1 Replace exit() by sys.exit()
sys.exit() is considered good to use here.

Change-Id: I365b0dbb50c8f1953b41665ba49145ac6db1b24f
2016-02-01 19:21:26 +08:00
Qiaowei Ren
9aff76bd18 fix typo
informations -> information

Change-Id: I6bcb9bb9fd24b873b49de4a686b223550dd703ac
2016-02-01 17:15:32 +08:00
OpenStack Proposal Bot
a8e0dc550b Imported Translations from Zanata
For more information about this automatic import see:
https://wiki.openstack.org/wiki/Translations/Infrastructure

Change-Id: If1cd20e187720f5ee02c6a1574f612c8a8e26e30
2016-01-31 06:15:17 +00:00
Jenkins
86441f1e4f Merge "Renamed variable for better code readability" 2016-01-30 00:29:52 +00:00
Jenkins
d07abe30c4 Merge "Add info about state of ring file to default command." 2016-01-29 23:15:11 +00:00
Ondřej Nový
02c06585e6 Renamed variable for better code readability
Change-Id: I22d8db0dd9edc39672fc9997895a24f669975e15
2016-01-29 22:49:16 +01:00
Jenkins
a507d686d2 Merge "Fix a few English mistakes in man" 2016-01-29 19:54:42 +00:00
Alistair Coles
595ec464e3 Trivial fix for sphinx warnings
Including a * in the param name causes a sphinx warning,
messes up the html formatting, and strictly the * isn't part of
the param name.

Change-Id: I6be6a7aa2a371eaae9f8e501435838c1e15f4a1c
2016-01-29 15:28:56 +00:00
Mingyu Li
cc90834a8e A minor modification of the Deployment Guide
In the section of General Service Tuning, there is a sentence
"Our Storage servers all run together on the same servers".
The word "servers" is used twice with different meanings, which
would be a little confusing. This patch makes it more understandable.

Change-Id: I6d806456aeb7d0ecf297c04dacbd271b94a0425c
Closes-Bug: #1526697
2016-01-29 04:06:54 +09:00
Alistair Coles
a1776b9c1f Let equal Timestamps not be unequal
Make the result of Timestamp(x) != Timestamp(x) be False.

In python 2.7 this requires the __ne__ method to be defined [1].
"The truth of x==y does not imply that x!=y is false." The
functools.total_ordering decorator does not autocreate a __ne__
method.

In python 3 the __ne__ method is not required [2]. "By default,
__ne__() delegates to __eq__() and inverts the result".

This patch puts back the __ne__ method removed in [3]. Whilst no tests
fail on master with python2.7, they do on this patch [4] and it seems
dangerous to have this absurd behaviour lurking.

[1] https://docs.python.org/2/reference/datamodel.html#object.__ne__
[2] https://docs.python.org/3.4/reference/datamodel.html#object.__ne__
[3] Change-Id: Id26777ac2c780316ff10ef7d954c48cc1fd480b5
[4] Change-Id: Ia597cd460bb5fd40aa92e886e3e18a7542603d01

Change-Id: I01fbfa310df3c74390f8e8c2e9ffff81bbf05e47
2016-01-28 10:08:02 -08:00
Jenkins
5ec586bd34 Merge "add test for zero weight region get_more_nodes" 2016-01-28 12:50:58 +00:00
Thomas Goirand
c3886eea15 Fix a few English mistakes in man
These errors are producing lintian warnings, so fixing them
helps having less errors when checking for Debian packages.

Change-Id: Iff99a8d5f2276515f42d758d110a43cae757db28
2016-01-28 09:16:59 +00:00
Jenkins
48a269e37b Merge "Remove a print statement from tests" 2016-01-28 02:37:15 +00:00
Jenkins
785c42f90e Merge "Remove unnecessary code from test_account.py" 2016-01-28 02:24:54 +00:00
Jenkins
7b3f7bf9e0 Merge "_get_info_cache should encode unicode metadata" 2016-01-27 19:49:14 +00:00
Alistair Coles
400cc70727 Remove a print statement from tests
Change-Id: I213b7e4bc4f9e6de76ebab572c377af61072d9c5
2016-01-27 15:35:40 +00:00
Hisashi Osanai
c871e423ef Add unit tests for checking responses in AccountController
This patch provides unit tests to check responses for various situation
in three/four replicas env.

Change-Id: I1af48728b28da9780a2a78f3110e1c7487047ff8
2016-01-27 13:31:49 +00:00
Alistair Coles
e45d30d6b7 Remove unnecessary code from test_account.py
Change-Id: Ia197ba08a606421244d5b94a900bdc39bc5da647
2016-01-27 10:18:37 +00:00
Jenkins
d7f8c2297c Merge "Add __next__() methods to utils iterators for py3" 2016-01-27 01:19:38 +00:00
Jenkins
72736a723d Merge "Update AUTHORS" 2016-01-26 20:07:14 +00:00
Jenkins
29f82b8881 Merge "Port swift.common.utils.Timestamp to Python 3" 2016-01-26 17:51:56 +00:00
Jenkins
f1989c5e8b Merge "Fix handling of "Permission Denied" error from NamedTemporaryFile function" 2016-01-26 14:17:34 +00:00
Kazuhiro MIYAHARA
9ef15453fa Fix handling of "Permission Denied" error from NamedTemporaryFile function
If "Permission Denied" has happen in NamedTemporaryFile function in
dump_recon_cache method, swift will log a message of reference to a variable
without assignment and not log a message of "Permission Denied".
This patch fixes the handling and add an unit test.

Co-Authored-By: Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp>
Change-Id: Iafdd94905e9e9c81f5966a923324b50c18fcf592
2016-01-26 11:27:34 +00:00
Jenkins
08f3abcec2 Merge "Ring Overview updates" 2016-01-26 00:42:35 +00:00
Jenkins
2501eaec0a Merge "Fixed docs: Title underline too short" 2016-01-26 00:42:27 +00:00
Clay Gerrard
01410129da Make handoffs_first a more useful "mode"
Based on experience using handoffs_first and feedback from other
operators it has become clear that handoffs_first is only used during
periods of problematic cluster behavior (e.g. full disks) when
replication attempts are failing to quickly drain off the partitions
from the nodes which they have been rebalanced from.

In order to focus on the most important work (getting handoff partitions
off the node) handoffs_first mode will abort the current replication
sweep before attempting any primary suffix syncing if any of the handoff
partitions were not removed for any reason - and start over with
replication of handoffs jobs as the highest priority.

Note that handoffs_first being enabled will emit a warning on start up,
even if no handoff jobs fail, because of the negative impact it can have
during normal operations by dog piling on a node that was temporarily
unavailable.

Change-Id: Ia324728d42c606e2f9e7d29b4ab5fcbff6e47aea
2016-01-25 15:29:25 -08:00
Jenkins
c97df893f1 Merge "Use calendar.timegm not time.mktime" 2016-01-25 21:28:45 +00:00
Clay Gerrard
78cfb137d5 Ring Overview updates
Change-Id: Ic5a8ec5be9fec7fa812fdb7b91890d5fc2fbf967
2016-01-25 12:43:14 -08:00
Jenkins
5517b8e9ae Merge "Additional step for Debugging Issues in SAIO" 2016-01-25 20:29:46 +00:00
Jenkins
1ce999401a Merge "Don't .lower() a literal" 2016-01-25 20:21:38 +00:00
Richard Hawkins
24227e8bb0 _get_info_cache should encode unicode metadata
Closes-Bug: 1533768
Change-Id: I67bbd0e8802d2a34cb3a0b0fafe26bbc62221032
2016-01-25 13:37:10 -06:00
Jenkins
2f42dea12b Merge "py3: Use the six module in the xprofile middleware" 2016-01-25 18:18:49 +00:00
Tim Burke
fc9a3852e4 Don't .lower() a literal
It feels silly, and we don't do it for any of the other headers in
headers_to_container_info.

While we're at it, clean up a stray '

Change-Id: I0745038cc3832a77d064e515c37cacbdcb97c4d9
Related-Change: Iea3d06de80210e9e504e296d4572583d7ffabeac
2016-01-25 09:28:19 -08:00