rgw: replace 'should_log' with 'enable_ops_log'

code cleanup, make it more clear about log intention.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: don't fail initialization if socket path returns ENXIO

ENXIO is expected when trying to read the unix domain socket

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: new class methods for handling usage information

The new methods are:
 - user_usage_log_add: add new usage information
 - user_usage_log_read: get usage information
 - user_usage_log_trim: remove usage information

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: new config options

New config options for usage logging:
 - rgw_enable_usage_log: enable usage logging
 - rgw_usage_log_flush_threshold - limit on number of pending updates
                                   before synchronously flushing update
 - rgw_usage_log_tick_interval - asynchronous flush interval
 - rgw_usage_max_shards - split info across that many objects
 - rgw_usage_max_user_shards - split single user info across that many
                               objects

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: access methods for new usage ops

Wrappers for new rados class methods, and new RGWRados
methods to handle usage functionality.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: usage logger

Accumulate usage info and flush it periodically.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw_admin: usage admin commands

 - radosgw-admin usage show
 - radosgw-admin usage trim

Both commands can get --start-date, --end-date, --uid

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw/rgw_cls_api.h cleanup

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: rgw_rados related fixes for usage logging

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
doc: update examples in radosgw-admin man page

* "user gen" is gone and is now "user create"
* --uid option is mandatory for "user create"

Mailing list thread: http://www.spinics.net/lists/ceph-devel/msg06744.html

Signed-off-by: Florian Haas <florian@hastexo.com>
Merge pull request #13 from fghaas/rgw-manpage

doc: update examples in radosgw-admin man page
rgw: usage log cleanups

Also, recalc_round_timestamp should be done under lock.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: fix cli test

Get it up to date with latest cli changes.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
mon: allow keys to be cleared in ceph osd crush set ... loc key/values

If we encounter a 'key=' with no value, clear any previous value for that
key, so that

 'a=foo b=bar a='

is equivalent to

 'b=bar'

Fixes: #2540
Signed-off-by: Sage Weil <sage@inktank.com>
upstart: Read crush location and weight from ceph.conf.

This introduces two new config variables, osd_crush_location
and osd_crush_weight. Not currently included in config_opts.h,
as these are not used in the C++ code.

Signed-off-by: Tommi Virtanen <tv@inktank.com>
debian: remove dup python build-dep

Reported-by: Laszlo Boszormenyi (GCS) <gcs@debian.hu>
Signed-off-by: Sage Weil <sage@inktank.com>
debian: move ./configure to correct rules section

Signed-off-by: Laszlo Boszormenyi (GCS) <gcs@debian.hu>
rgw: usage statistics also count num of ops/successful_ops

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Merge remote-tracking branch 'gh/wip-2516-2'

Reviewed-by: Sage Weil <sage@inktank.com>
debian: limit build archs

We depend on leveldb, which only builds on

 amd64 armel armhf i386 ia64 mipsel

Reported-by: Laszlo Boszormenyi (GCS) <gcs@debian.hu>
Signed-off-by: Sage Weil <sage@inktank.com>