doc: explain how to configure Ceph for radosgw

* explain creating auth creds for radosgw
* explain Apache config for radosgw
* explain starting daemons for radosgw
* explain creating users for radosgw
* explain creating subusers for radosgw
* explain using swift client against radosgw
* Explain user:subuser to tenant:user mapping in Swift

Signed-off-by: Florian Haas <florian@hastexo.com>
radosgw-admin: improve man page

* remove "OpenStack user" information (deprecated, should no
  longer be used. No reason to keep mentioning it)
* fix description of --uid
* mention subusers
* add key management commands

Signed-off-by: Florian Haas <florian@hastexo.com>
OSD: disconnect_session_watches: handle race with watch disconnect

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Tested-by: Stefan Priebe <s.priebe@profihost.ag>
mon: MonmapMonitor: Use default port when the specified on 'add' is zero

Fixes a bug triggered by using the ceph tool to 'mon add' with a port set
to zero. We now default to the monitor's default port (6789) instead, and
we will fail if that port is already assigned to some other monitor.

Fixes: bug #2661

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
doc/config-cluster/authentication: keyring default locations, simplify key management

- keyrings have new default locations that everyone should use.
- the user key setup is vastly simplified if you use the
  'ceph auth get-or-create' command.

Signed-off-by: Sage Weil <sage@inktank.com>
debian: build with libnss instead of crypto++

Signed-off-by: Laszlo Boszormenyi (GCS) <gcs@debian.hu>
debian: arch linux-any

Signed-off-by: Sage Weil <sage@inktank.com>
debian: move mount.ceph and cephfs into ceph-fs-common

Based on patches from Laszlo Boszormenyi (GCS) <gcs@debian.hu>.

Signed-off-by: Sage Weil <sage@inktank.com>
debian: move metadata server into ceph-mds

Also adjust the recommends and depends, so that libcephfs1 and ceph-fuse
hang off of ceph-mds instead of ceph.

Signed-off-by: Sage Weil <sage@inktank.com>
Fix example radosgw Apache configuration

Follow RFC2606, use example.com everywhere.
radosgw Apache configuration: simplify rewrite rule

Use a simpler RewriteRule as suggested here:
http://marc.info/?l=ceph-devel&m=133951986510085&w=2
filestore: sync object_map object in lfn_remove when nlink > 1

In the following sequence:

1) create (a, 1)
2) setattr (a, 1)
3) link (a, 1), (b, 1)
4) remove (a, 1)

If we play 1-4 and then replay 1-4 again, we will end up removing
(b, 1)'s attributes since nlink for (a, 1) the second time through
is 1.  We fix this by marking spos on the object_map header for
(a, 1) when we remove (a, 1) but not eh attributes.

Signed-off-by: Samuel Just <sam.just@inktank.com>
DBObjectMap: clones must inherit spos from parent

Signed-off-by: Samuel Just <sam.just@inktank.com>
rest-bench: mark request as complete later

We marked a request as complete in the callback, however
it might be that we're still inside S3_runall_request_context()
which means that request is not really complete yet.
Possibly fixes bug #2652.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
doc: radosgw: further simplify Apache rewrite rule

Sufficient to just pass the query string, drop params.

Signed-off-by: Florian Haas <florian@hastexo.com>
mon: fix 'osd crush move <item> <loc ...>'

 - fix arg count check
 - avoid updating crush map if it is already correct

Signed-off-by: Sage Weil <sage@inktank.com>
doc: document new 'osd crush move ...' command

Signed-off-by: Sage Weil <sage@inktank.com>
mon: 'osd pool rename <oldname> <newname>'

Signed-off-by: Sage Weil <sage@inktank.com>
vstart.sh: don't clobber keyring if not -n

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
PG: reset_recovery_pointers in activate if missing is empty

Signed-off-by: Samuel Just <sam.just@inktank.com>