- include the virtual_ip and port at top level
- move backend server list into a sub-item
- include (haproxy) monitoring port
Signed-off-by: Sage Weil <sage@newdream.net>
This command is very awkward to implement unless all service spec fields
are always required. That will soon mean both the placement *and*
virtual_ip (if any), making it much less useful for a human to make use
of.
Instead, let them update yaml, or adjust the nfs and/or ingress specs
directly. I don't think this command is needed.
Signed-off-by: Sage Weil <sage@newdream.net>
- use consistent hashing
- statically map across ranks
- disable backend checks so that clients don't move
Signed-off-by: Sage Weil <sage@newdream.net>
Do the grace file manipulation from the mgr module. For add, this isn't
especially important, but for remove it is very important. Clean out
old ranks from the grace table before we record that the rank has been
purged from the rank_map.
Signed-off-by: Sage Weil <sage@newdream.net>
Use ranked daemons for NFS. Ganesha does not like it if multiple
instances start up with the same rank, but we need stable ranks so that
a rank can "fail over" to a new instance of a new daemon on another host
(with the same rank) for NFS client reclaim to work.
Specify a nodeid of '{service_name}.{rank}' for ganesha.
Include a unique id in the daemon_id just because this avoids some issues
with the create/destroy ordering, and because the daemon_id doesn't matter
much anymore since we are using a stable rank.
Signed-off-by: Sage Weil <sage@newdream.net>
- we need to assign all names and update the rank_map before we start
creating daemons.
- if we are using ranks, we should delete old daemons first, and
fence them from the cluster (where possible).
Signed-off-by: Sage Weil <sage@newdream.net>
If we are passed a rank_map, use it maintain one daemon per rank, where
the ranks are consecutive non-negative integers starting from 0.
A bit of refactoring in place() so that we only do the rank allocations
on slots we are going to use (no more than count).
Signed-off-by: Sage Weil <sage@newdream.net>
DaemonDescription
CephadmDaemonDeploySpec
DaemonPlacement
unit.meta
get_unique_name() (we include it in the daemon_id)
Signed-off-by: Sage Weil <sage@newdream.net>
The rank_map is a bit of state to keep track of which ranks are
occupied by which generation and daemon_id.
Signed-off-by: Sage Weil <sage@newdream.net>
This makes 'orch ls' match up daemosn to services (and probably cleans up
other bits and pieces) when the old daemon id -> service name calc code
can't do its thing.
Signed-off-by: Sage Weil <sage@newdream.net>
hash(str) is non-deterministic, probably because it is using the internal
object ID or something and not the string content?
In any case, explicitly hash the string content and use that instead.
Also, sort the input pre-shuffle to ensure that variations in the original
host list ordering don't screw with the result.
Signed-off-by: Sage Weil <sage@newdream.net>
* refs/pull/41286/head:
qa/suites/orch/rook: disable centos for now
qa/suites/orch/rook/smoke: initial smoke suite
qa/tasks/rook: ROOK_HOSTPATH_REQUIRES_PRIVILEGED=true on centos
qa/tasks/rook: simplify shutdown
qa/tasks/rook: archive logs
qa/tasks/rook: more orderly cluster teardown
qa/tasks/rook: deploy ceph via rook on top of kubernetes
qa/tasks/kubeadm: install kubernetes with kubeadm
qa/suites: move rados/cephadm -> orch/cephadm; symlink
qa/tasks/cephadm: add whitespace between functions
qa/tasks/cephadm: clean up ctx.manager setup
Reviewed-by: Sébastien Han <seb@redhat.com>
* refs/pull/41370/head:
mgr/cephadm: pin haproxy image to 2.3.z
Reviewed-by: Daniel Pivonka <dpivonka@redhat.com>
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
On centos 8.2 for aarch64 with gcc 8.3, the complier will use
register v0 conflicting with the register v0 be usded in inline
asm code. Adding the related registers into clobber list to inform
complier avoiding the confict.
Fixes: https://tracker.ceph.com/issues/50835
Signed-off-by: luo rixin <luorixin@huawei.com>
If we don't specify the encoding, python may use something like 'latin-1',
which cannot handle unicode characters.
Signed-off-by: Sage Weil <sage@newdream.net>
* refs/pull/41357/head:
mds: do not assert when receiving a unknow metric type
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
* refs/pull/41097/head:
cephfs-mirror: allow connecting to local cluster using mon address
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Sébastien Han <seb@redhat.com>
* refs/pull/40885/head:
doc: document cephfs-mirror configuration options
cephfs-mirror: use sensible mount timeout when mounting local/remote fs
test: add tests for settting mount timeout
pybind/cephfs: add interface to set mount timeout
libcephfs: add interface to set mount timeout
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>