rgw: use a namespace for rgw reshard pool for upgrades as well
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
The output of ceph osd stat has changed,
It printed:
cluster b370a29d-9287-4ca3-ab57-3d824f65e339
health HEALTH_OK
monmap e1: 1 mons at {ceph1=10.0.0.8:6789/0}, election epoch 2, quorum 0 ceph1
osdmap e63: 2 osds: 2 up, 2 in
pgmap v41338: 952 pgs, 20 pools, 17130 MB data, 2199 objects
115 GB used, 167 GB / 297 GB avail
952 active+clean
but now the osdmap line has gone and thus this no longer works:
qa/workunits/cephtool/test.sh:1944:
old_pgs=$(ceph osd pool get $TEST_POOL_GETSET pg_num | sed -e 's/pg_num: //')
new_pgs=$(($old_pgs+$(ceph osd stat | grep osdmap | awk '{print $3}')*32))
4: qa/workunits/cephtool/test.sh: line 1945: 10+*32: syntax errotoken is "*32")
- And parse the output in json , with jq, for better reliability
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
we encode the payload w/o the writelock even can_write == NOWRITE, if
the message "can_fast_prepare". in that case, the "feature" of the
connection is 0, as no handshake happens yet. so the header.version is
always set to a version compatible with pre-luminous. but when the
message is re-encoded when the connection is re-established with feature
with luminous, the header.version is not set back to HEADER_VERSION.
that's why the message's encoding is not consistent with header.version
sometimes.
in this change, we always set the header.version in encode_payload(), so
it's consistent even after connection reset and message re-encoding.
Fixes: http://tracker.ceph.com/issues/19939
Signed-off-by: Kefu Chai <kchai@redhat.com>
This closes a window between mkfs and when the first mgr goes active
where *no* mgr commands are defined, and things like 'pg dump' fail. We
do not get the default set of commands defined by modules, but we get
everything else.
Signed-off-by: Sage Weil <sage@redhat.com>
So that the list of commands includes python modules,
thus allowing python-provided commands to be invoked
by the CLI with out a `tell mgr` prefix.
Signed-off-by: John Spray <john.spray@redhat.com>
The mgr already sends a beacon to the mon immediately
after loading python modules in Mgr::init, to indicate
that it is now available. Use that beacon to transmit
the command descriptions.
The monitor should handle this beacon by persisting
the command descriptions before persisting the updated
mgrmap that indicates that the mgr is now active.
Signed-off-by: John Spray <john.spray@redhat.com>
This was just a for loop. No longer needed for
MonCommands, and the usage in memstore/PageSet
was just iterating over char* and should never have
been there to begin with.
Signed-off-by: John Spray <john.spray@redhat.com>
- factor out install and ceph into ceph/ceph.yaml
- pg_num thrashing + 20 minute health timeout for thrashosds
- common thrashosds-health.yaml whitelist
- drop iozone workload
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
And the output is wrong...
cluster:
id: b979e20d-6441-46b4-8663-954e1e8ce01d
health: HEALTH_WARN
1 osds down
mon %names has mon_osd_down_out_interval set to 0
Now:
health: HEALTH_WARN
mon a is low on available space
mon a has mon_osd_down_out_interval set to 0
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Was:
./bin/ceph -s
cluster:
id: 0f704e51-f496-4812-a782-f6bcc490a109
health: HEALTH_ERR
mon%plurals% %names% %isorare% low on available space
Now:
./bin/ceph -s
cluster:
id: 1bb2cc6d-ba6f-467a-b811-994101a42749
health: HEALTH_ERR
mon a is low on available space
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
https://github.com/ceph/ceph/pull/16261 ported the script to Python 3, but it
retained the 2-argument version of the sorted() key function - in Python 3 the
key function takes only one argument.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This commit refactors the logic for determining the PR title and merge message,
and fixes a regression introduced by https://github.com/ceph/ceph/pull/16277
Signed-off-by: Nathan Cutler <ncutler@suse.com>
With deletes during recovery instead of during log processing, we need
to keep the entry in missing_loc.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
The recovery_deletes flag will only be set once, by the 'ceph osd
require-osd-release luminous' command.
This matches how we rebuild the missing set when reading it off disk in
read_log_and_missing().
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Store whether the missing set should contain deletes, so that
persisted versions can be rebuilt if needed. Make missing_item
versioned, since it's persisted by the pg_log as an individual omap
value.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
This is needed to create a single place to regenerate the missing set
- at the start of a new interval where support for recovery deletes
changed.
The missing set is otherwise not cleared, so it would need to be
rebuilt in arbitrary places if e.g. an osd not supporting it went down
and restarted with support, or if we used a feature flag command to
trigger rebuilding the missing set.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Once the required osd release is luminous, all osds must support
recovery deletes, so set the flag then. This avoids an extra manual
step in luminous upgrades.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Just like sortbitwise, this can only be toggled on, and once on osds
that do not support it are not allowed to boot.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
The BLKIN feature bit was actually unused - it was a remnant from
earlier versions of the blkin work, but all the encoding is handled by
struct-level versioning in the version that merged.
Use bit 60 (unused in any prior version) so that recovery deletes
could potentially be backported.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Since lost_deletes queue recovery directly, and don't go through
activate_not_complete(), our complete_to iterator may still point at
log.end() (a list iterator pointing to .end() will still point to
.end() after a push_back().). Reset it to point before these new
lost_delete entries. This is needed now that lost_deletes are
performed during recovery, instead of inline when merging logs.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>