Actions
Bug #65183
openOverriding an EC pool needs the "--yes-i-really-mean-it" flag in addition to "force"
% Done:
0%
Source:
Tags:
Backport:
squid, reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
/a/yuriw-2024-03-26_14:32:05-rados-wip-yuri8-testing-2024-03-25-1419-distro-default-smithi/7623454
2024-03-26T20:13:29.028 INFO:tasks.workunit.client.0.smithi110.stderr:/home/ubuntu/cephtest/clone.client.0/qa/workunits/cephtool/test.sh:35: expect_false: set -x
2024-03-26T20:13:29.028 INFO:tasks.workunit.client.0.smithi110.stderr:/home/ubuntu/cephtest/clone.client.0/qa/workunits/cephtool/test.sh:36: expect_false: ceph osd erasure-code-profile set fooprofile a=b c=d e=f
2024-03-26T20:13:29.301 INFO:tasks.workunit.client.0.smithi110.stderr:Error EPERM: will not override erasure code profile fooprofile because the existing profile {a=b,c=d,crush-device-class=,crush-failure-domain=osd,crush-num-failure-domains=0,crush-osds-per-failure-domain=0,crush-root=default,jerasure-per-chunk-alignment=false,k=2,m=1,plugin=jerasure,technique=reed_sol_van,w=8} is different from the proposed profile {a=b,c=d,crush-device-class=,crush-failure-domain=osd,crush-num-failure-domains=0,crush-osds-per-failure-domain=0,crush-root=default,e=f,jerasure-per-chunk-alignment=false,k=2,m=1,plugin=jerasure,technique=reed_sol_van,w=8}
2024-03-26T20:13:29.304 INFO:tasks.workunit.client.0.smithi110.stderr:/home/ubuntu/cephtest/clone.client.0/qa/workunits/cephtool/test.sh:36: expect_false: return 0
2024-03-26T20:13:29.304 INFO:tasks.workunit.client.0.smithi110.stderr:/home/ubuntu/cephtest/clone.client.0/qa/workunits/cephtool/test.sh:2493: test_mon_osd_erasure_code: ceph osd erasure-code-profile set fooprofile a=b c=d e=f --force
2024-03-26T20:13:29.581 INFO:tasks.workunit.client.0.smithi110.stderr:Error EPERM: overriding erasure code profile can be DANGEROUS; add --yes-i-really-mean-it to do it anyway
2024-03-26T20:13:29.585 INFO:tasks.workunit.client.0.smithi110.stderr:/home/ubuntu/cephtest/clone.client.0/qa/workunits/cephtool/test.sh:1: test_mon_osd_erasure_code: rm -fr /tmp/cephtool.wZw
2024-03-26T20:13:29.586 DEBUG:teuthology.orchestra.run:got remote process result: 1
2024-03-26T20:13:29.587 INFO:tasks.workunit:Stopping ['cephtool'] on client.0...
Here's the test that fails:
qa/workunits/cephtool/test.sh
function test_mon_osd_erasure_code()
{
ceph osd erasure-code-profile set fooprofile a=b c=d
ceph osd erasure-code-profile set fooprofile a=b c=d
expect_false ceph osd erasure-code-profile set fooprofile a=b c=d e=f
ceph osd erasure-code-profile set fooprofile a=b c=d e=f --force ---------------------> this one
ceph osd erasure-code-profile set fooprofile a=b c=d e=f
expect_false ceph osd erasure-code-profile set fooprofile a=b c=d e=f g=h
# make sure rule-foo doesn't work anymore
expect_false ceph osd erasure-code-profile set barprofile ruleset-failure-domain=host
ceph osd erasure-code-profile set barprofile crush-failure-domain=host
# clean up
ceph osd erasure-code-profile rm fooprofile
ceph osd erasure-code-profile rm barprofile
# try weird k and m values
expect_false ceph osd erasure-code-profile set badk k=1 m=1
expect_false ceph osd erasure-code-profile set badk k=1 m=2
expect_false ceph osd erasure-code-profile set badk k=0 m=2
expect_false ceph osd erasure-code-profile set badk k=-1 m=2
expect_false ceph osd erasure-code-profile set badm k=2 m=0
expect_false ceph osd erasure-code-profile set badm k=2 m=-1
ceph osd erasure-code-profile set good k=2 m=1
ceph osd erasure-code-profile rm good
}
Actions