Project

General

Profile

Actions

Bug #65183

open

Overriding an EC pool needs the "--yes-i-really-mean-it" flag in addition to "force"

Added by Laura Flores about 2 months ago. Updated 10 days ago.

Status:
Fix Under Review
Priority:
Normal
Category:
-
Target version:
-
% 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

Also available in: Atom PDF