Commit Graph

24 Commits

Author SHA1 Message Date
Loic Dachary
21681531b7 add rgw.create_ec_pool default profile
the former arguments had defaults, the caller do not set them

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-07-02 01:15:56 +02:00
Loic Dachary
dd8f0980aa erasure-code: do not prepend 'ceph' to the erasure-code-profile command
When used in the radosgw context, the 'ceph' string must be present but
when used in ceph_manager, the 'ceph' string is already included.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-07-01 12:21:17 +02:00
Loic Dachary
2e5d1703b9 erasure-code: str() to avoid + conversion errors
if the value from the yaml file is an int, it must be converted into a
string bevore being concatenated with '='

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-07-01 12:19:54 +02:00
Loic Dachary
98e0617651 erasure-code: separate profile from pool creation
Instead of being hard coded, the erasure code profile is read from yaml
as:

    erasure_code_profile:
      name: teuthologyprofile
      k: 2
      m: 1
      ruleset-failure-domain: osd

Which translates into

    ceph osd erasure-code-profile set teuthologyprofile \
        k=2 m=1 ruleset-failure-domain=osd

The semantic of k/m etc. depends on the erasure code plugin, but it is
common to use k as the dividing factor for each object and m as the
number of coding chunks.

Using a different set of parameters or a different plugin can
be done without modifying the teuthology code:

    erasure_code_profile:
      name: LRCprofile
      plugin: LRC
      mapping: __DD__DD
      layers: [[ "_cDD_cDD", "" ], [ "cDDD____", "" ], [ "____cDDD", ""]]

For backward compatibility, the default erasure code profile is set to

      k: 2
      m: 1
      ruleset-failure-domain: osd

which matches the previously hardcoded default of the corresponding
functions.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-06-30 22:43:57 +02:00
Sage Weil
c5da7b21f7 rgw: option to create a cache pool
64mb for now!

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-05-01 14:36:26 -07:00
Zack Cerza
158f9ba1ff Revert "Lines formerly of the form '(remote,) = ctx.cluster.only(role).remotes.keys()'"
This reverts commit d693b3f895.
2014-03-27 11:35:28 -05:00
Warren Usui
d693b3f895 Lines formerly of the form '(remote,) = ctx.cluster.only(role).remotes.keys()'
and '(remote,) = ctx.cluster.only(role).remotes.iterkeys()' would fail with
ValueError and no message if there were less than 0 or more than 1 key.
Now a new function, get_single_remote_value() is called which prints out
more understandable messages.

Fixes: 7510
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2014-03-26 18:43:48 -07:00
Josh Durgin
47ba1711d7 rgw: add option to use erasure coding instead of replication
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2014-03-24 18:19:41 -07:00
Josh Durgin
1d8dcc4a1b rgw utils: add function to get data log window configuration
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2014-03-10 00:29:50 -07:00
Josh Durgin
5f01bcba4c rgw: fix whitespace
Replace tabs with spaces and remove trailing spaces.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-10-30 09:57:52 -07:00
Christophe Courtaut
d65a0b9efa Reflect radosgw-agent option changes in teuthology
Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
2013-10-30 09:57:49 -07:00
Zack Cerza
8a11e4d053 Remove unused variables
(cherry picked from commit 581b6b3e977b99fc58fe25e66c933c65e38dc87c)
2013-09-26 14:01:56 -05:00
Zack Cerza
53b8e27da9 Helper scripts live in /usr/local/bin now! 2013-09-06 15:10:11 -05:00
Joe Buck
6c5a7af1b4 move multi_region_enabled() into util class
Moving a helper function into a more general
location so that it can be used by other
classes.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-28 08:59:15 -07:00
Joe Buck
8a47230d82 rename variables and log messages to be more clear
A few edits to make logging and variable names
more clear.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-16 19:26:33 -07:00
Joe Buck
7061e3c6dc rgw: fix domain root pool name assignment
Do not make the domain root pool the same
as the zone root pool. That causes sync issues.
Also, clarify a logging message.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
2013-08-16 19:26:21 -07:00
Joe Buck
a39e7f1b09 Adding multi-region tests
Adding tests for ticket #5604 to test
user propagation via the radosgw-agent.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-16 10:38:12 -07:00
Yehuda Sadeh
4adc1da58a radosgw-admin: various multiregion related fixes and changes
Go to the master zone in the master region for radosgw-admin
operations. Trigger metadata sync. Other fixes.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2013-08-12 23:24:04 -07:00
Josh Durgin
1ec9c1b4b8 radosgw-agent: move zone extraction to helper
This will be useful for other tasks.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 19:12:02 -07:00
Josh Durgin
189e04fa88 rgw_sync_agent: fix a bunch of issues
- Read ceph.conf from stored copy that includes overrides
- Get system users and keys from cluster instead of reading other
  tasks' yaml, which may not be complete.
- Put zone info extraction from the cluster into utility functions,
  since it'll be useful for other tests later.
- Work with more than one agent on a single host
- Accept more than one client to run, like almost every other task
- Rename target to dest for consistency with radosgw-agent
- Don't make everything one large function

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-08-01 17:33:36 -07:00
Sage Weil
99a79c6c1f rados_util: adjust-ulimits, not enable-coredump
This was responsible for the lost_unfound test breakage.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-07-29 14:10:05 -07:00
Josh Durgin
8ad065dc9c rgw: add multi-region and zone support
Take client<->zone/region and the associated pools from ceph.conf, so
we don't have to invent a new format to specify it.

General region info is added to a new configuration section in the rgw
task. Each client is assumed to be a different zone, and a system user
is created with the key specified in the yaml, so it can be passed to
later task configuration as well. This isn't strictly necessary, but
avoids having to lookup this info in later tasks through something
like radosgw-admin.

Ports are allocated automatically because there's no obvious mapping
from host to client in the task configuration. Later tests can get the
endpoints desired by reading the region map.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-24 09:59:50 -07:00
Josh Durgin
721280b7f3 task_util: move rados command here
Six copies are replaced with one, with an added option to check status
automatically. This should probably be used in a few places where the
return code is ignored.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-24 09:59:50 -07:00
Josh Durgin
6d2434b48f rgw: move common rgwadmin function to a new utility file
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-07-24 09:59:50 -07:00