mgr/cephadm: rework --dry-run/previews#35667
Conversation
|
BTW, this PR is somewhat required for #35669 otherwise this is going to be too scary. especially for MONs etc. |
730147e to
c9cac61
Compare
|
If a spec needs more time to generate a plan, can we have a flag to see if it's still under processing? |
40cb358 to
885a3f9
Compare
It currently print this: is that sufficient? |
9ebc467 to
db8e5fe
Compare
| tables = f""" | ||
| {''.join(warning)} | ||
|
|
||
| #################### |
There was a problem hiding this comment.
PrettyTable(title='FOOSPEC PREVIEW') doesn't work with the fork of prettytable we're using. Hence we have to use that abomination.
There is prettytable and PTable. We use prettytable.
There was a problem hiding this comment.
Now this looks like this:
WARNING! Dry-Runs are only a rough estimate of what will happen.
They are snapshots of a certain period in time and are bound to the current
inventory setup. If any condition changes, the preview will be invalid.
Please make sure to have a minimal timeframe between planning and applying the specs.
####################
SERVICESPEC PREVIEWS
####################
+---------+-------------+---------------------------+-------------+
|SERVICE |NAME |ADD_TO |REMOVE_FROM |
+---------+-------------+---------------------------+-------------+
|mds |mds.foo |cephadm-dev-2 cephadm-dev | |
|nfs |nfs.nfs_foo |cephadm-dev | |
+---------+-------------+---------------------------+-------------+
################
OSDSPEC PREVIEWS
################
+---------+---------------+---------------+----------+----+-----+
|SERVICE |NAME |HOST |DATA |DB |WAL |
+---------+---------------+---------------+----------+----+-----+
|osd |test_affinity |cephadm-dev |/dev/vdb |- |- |
|osd |test_affinity |cephadm-dev |/dev/vdc |- |- |
|osd |test_affinity |cephadm-dev |/dev/vdd |- |- |
|osd |test_affinity |cephadm-dev |/dev/vde |- |- |
|osd |test_affinity |cephadm-dev-2 |/dev/vdb |- |- |
|osd |test_affinity |cephadm-dev-2 |/dev/vdc |- |- |
|osd |test_affinity |cephadm-dev-2 |/dev/vdd |- |- |
|osd |test_affinity |cephadm-dev-2 |/dev/vde |- |- |
+---------+---------------+---------------+----------+----+-----+
dd84247 to
4a91d3e
Compare
cf57f06 to
9d2f5ad
Compare
|
jenkins retest this please |
4975d50 to
3422f97
Compare
3422f97 to
16b1f68
Compare
|
jenkins test submodules |
d80b852 to
cde4263
Compare
|
jenkins render docs |
cde4263 to
9ca76fb
Compare
|
jenkins render docs |
|
Doc render available at http://docs.ceph.com/ceph-prs/35667/ |
|
my run failed due to https://tracker.ceph.com/issues/46596 |
|
can't test this together with #35839 |
9ca76fb to
b304273
Compare
|
jenkins test make check |
Signed-off-by: Joshua Schmid <jschmid@suse.de>
Signed-off-by: Joshua Schmid <jschmid@suse.de>
b304273 to
a8e21a1
Compare
Signed-off-by: Joshua Schmid jschmid@suse.de
Current workflow:
This patchset aims to align the
--dry-runworkflow for all known services by:preview_onlyattribute toServiceSpecthat prevents services from being deployed.This is also visible in
orch lsThis attribute is set when an
applycommand is executed with--dry-runflag.The attribute is unset when an
applycommand is executed without a--dry-runflag.OSDSpecas it takes longer to generate a preview forOSDs. Once the preview is generated it will be cached. (but re-generated if the spec changes)
Random's seed on the specsservice_name()attribute to get deterministic results from theSimpleScheduler.TODO:
Fake( This is no longer needed as the scheduler only inspects the daemons of the type of the service that is being previewed)DaemonDescriptionwhen multipleServiceSpecsare being previewedThe default output will be a table even at the risk of possibly breaking the limit of the columns when a lot of services will be deployed.. There will be a way to output as yaml/json/pretty-json as always.
Ignore for now.
works fine. even in deployments > 30 nodes and 60~ OSDs, the OSD previews are generated in 10-20 seconds.
--dry-runin otherapplycommandsShow available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard backendjenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume tox