Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-7004

fix "lctl set_param -P" to allow deprecation of "lctl conf_param"

Details

    • Improvement
    • Resolution: Fixed
    • Critical
    • Lustre 2.13.0
    • Lustre 2.9.0
    • 9223372036854775807

    Description

      The lctl set_param -P functionality was landed via LU-3155 for 2.5.0 and deprecates lctl conf_param usage. There is a deprecation message printed in jt_lcfg_mgsparam() since 2.7.53 that conf_param is obsolete and set_param should be used instead.

      The test scripts need to be changed over to use "lctl set_param -P" exclusively, both to quiet the deprecation warning, as well as verify that the "lctl set_param -P" functionality is working correctly.

      For now, I'm going to bump the deprecation warning to 2.8.53 to give us time to make this change in the 2.9 release cycle since there isn't enough time to do it for 2.8.0 anymore.

      Attachments

        Issue Links

          Activity

            [LU-7004] fix "lctl set_param -P" to allow deprecation of "lctl conf_param"
            pjones Peter Jones added a comment -

            James

            Do I recall correctly - this is the only fix needed but it should be queued up for 2.12.1 in addition to being in 2.13?

            Peter

            pjones Peter Jones added a comment - James Do I recall correctly - this is the only fix needed but it should be queued up for 2.12.1 in addition to being in 2.13? Peter

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/32784/
            Subject: LU-7004 mgs: remove using obdname2fsname() from mgs layer.
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 5da91cd4e44f8113b00035324738a9bb67f8a597

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/32784/ Subject: LU-7004 mgs: remove using obdname2fsname() from mgs layer. Project: fs/lustre-release Branch: master Current Patch Set: Commit: 5da91cd4e44f8113b00035324738a9bb67f8a597
            simmonsja James A Simmons added a comment - - edited

            Can patch https://review.whamcloud.com/#/c/32784 be reviewed so it can land for 2.12. It was discovered that obdname2fsname() doesn't cover all the cases so this patch removes the use of obdname2fsname() on the MSG server when dealing with config logs. Currently it can break in some corner cases. After this patch then obdname2fsname() will only be used with sptlrpc like before. That can be addressed in the follow on LU-10937 patch for 2.13.

            simmonsja James A Simmons added a comment - - edited Can patch https://review.whamcloud.com/#/c/32784  be reviewed so it can land for 2.12. It was discovered that obdname2fsname() doesn't cover all the cases so this patch removes the use of obdname2fsname() on the MSG server when dealing with config logs. Currently it can break in some corner cases. After this patch then obdname2fsname() will only be used with sptlrpc like before. That can be addressed in the follow on LU-10937 patch for 2.13.

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/30087/
            Subject: LU-7004 tests: move from lctl conf_param to lctl set_param -P
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: b9c359a70db9d5a6b69cc222c5f3b306a23df8b1

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/30087/ Subject: LU-7004 tests: move from lctl conf_param to lctl set_param -P Project: fs/lustre-release Branch: master Current Patch Set: Commit: b9c359a70db9d5a6b69cc222c5f3b306a23df8b1

            So I see one regression with lctl set_param -P.  Some test use the form get the parameter valu:

            lctl set_param osc.lustre-OST0001-osc-[^M]*.active=1

            The shell seems to expand this properly or the get_param routine parses this correctly.

            Now if I run on the MGS lctl set_param "P" osc.lustre-OST0001-osc[^M]*.active=1 then the [^M] is actually cached in the config logs. The function obdname2fsname() chokes on this wildcard. So the question is how to handle this. I see the following:

            1) Make the shell expand the [^M] to some value before passing the string to lctl itself. I don't know how to       do that

            2) Use regex or something in the C code of lctl to expand this out before packing the data for the ioctl on           the MGS.

            3) Change the test scripts to drop the [^M] for lctl set_param -P.

            Which is the best option?

            simmonsja James A Simmons added a comment - So I see one regression with lctl set_param -P.  Some test use the form get the parameter valu: lctl set_param osc.lustre-OST0001-osc- [^M] *.active=1 The shell seems to expand this properly or the get_param routine parses this correctly. Now if I run on the MGS lctl set_param " P" osc.lustre-OST0001-osc [^M] *.active=1 then the [^M] is actually cached in the config logs. The function obdname2fsname() chokes on this wildcard. So the question is how to handle this. I see the following: 1) Make the shell expand the [^M] to some value before passing the string to lctl itself. I don't know how to       do that 2) Use regex or something in the C code of lctl to expand this out before packing the data for the ioctl on           the MGS. 3) Change the test scripts to drop the [^M] for lctl set_param -P. Which is the best option?

            James Simmons (uja.ornl@yahoo.com) uploaded a new patch: https://review.whamcloud.com/32784
            Subject: LU-7004 obd: handle fsname-MDT0000-**MDT0000 for obdname2fsname
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 29b45b5dd7c87dbf4b6168ca07d8bbd0acbafe84

            gerrit Gerrit Updater added a comment - James Simmons (uja.ornl@yahoo.com) uploaded a new patch: https://review.whamcloud.com/32784 Subject: LU-7004 obd: handle fsname-MDT0000-** MDT0000 for obdname2fsname Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 29b45b5dd7c87dbf4b6168ca07d8bbd0acbafe84

            looks like this work is coming to completion

            simmonsja James A Simmons added a comment - looks like this work is coming to completion

            So the good news is that I found lctl conf_param lustre-OST*.failover.node=10.0.0.1@tcp can be done with set_param P with already existing code. The command to do it is lctl set_param -P osc.lustre-OST*.import=connection=10.0.0.1@tcp. So its just a matter of updating the test in this case. Only sptlrpc is not functional.

            simmonsja James A Simmons added a comment - So the good news is that I found lctl conf_param lustre-OST*.failover.node=10.0.0.1@tcp can be done with set_param P with already existing code. The command to do it is lctl set_param -P osc.lustre-OST *.import=connection=10.0.0.1@tcp. So its just a matter of updating the test in this case. Only sptlrpc is not functional.

            Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/31081/
            Subject: LU-7004 quota: make lctl set_param -P functional for quota
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 6d9df3b2c0d54b16d00b6e419c7bb958e6b54844

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/31081/ Subject: LU-7004 quota: make lctl set_param -P functional for quota Project: fs/lustre-release Branch: master Current Patch Set: Commit: 6d9df3b2c0d54b16d00b6e419c7bb958e6b54844

            John L. Hammond (john.hammond@intel.com) merged in patch https://review.whamcloud.com/31207/
            Subject: LU-7004 obd: make LCFG_SET_PARAM functional
            Project: fs/lustre-release
            Branch: b2_10
            Current Patch Set:
            Commit: d7f9f2130c5d8c74004f36aa68938df57778a6b1

            gerrit Gerrit Updater added a comment - John L. Hammond (john.hammond@intel.com) merged in patch https://review.whamcloud.com/31207/ Subject: LU-7004 obd: make LCFG_SET_PARAM functional Project: fs/lustre-release Branch: b2_10 Current Patch Set: Commit: d7f9f2130c5d8c74004f36aa68938df57778a6b1

            Minh Diep (minh.diep@intel.com) uploaded a new patch: https://review.whamcloud.com/31207
            Subject: LU-7004 obd: make LCFG_SET_PARAM functional
            Project: fs/lustre-release
            Branch: b2_10
            Current Patch Set: 1
            Commit: 14d209c516d710585d4c492bfdfa6d2eb1add25d

            gerrit Gerrit Updater added a comment - Minh Diep (minh.diep@intel.com) uploaded a new patch: https://review.whamcloud.com/31207 Subject: LU-7004 obd: make LCFG_SET_PARAM functional Project: fs/lustre-release Branch: b2_10 Current Patch Set: 1 Commit: 14d209c516d710585d4c492bfdfa6d2eb1add25d

            People

              simmonsja James A Simmons
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: