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"

            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

            James Simmons (uja.ornl@yahoo.com) uploaded a new 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: 1
            Commit: e68d0a91625c64dd66dc2f7395cf7dd102dba57b

            gerrit Gerrit Updater added a comment - James Simmons (uja.ornl@yahoo.com) uploaded a new 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: 1 Commit: e68d0a91625c64dd66dc2f7395cf7dd102dba57b

            Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/28590/
            Subject: LU-7004 obd: make LCFG_SET_PARAM functional
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: dfe60d0b98a1a888ca4ffce14788938c192b1520

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/28590/ Subject: LU-7004 obd: make LCFG_SET_PARAM functional Project: fs/lustre-release Branch: master Current Patch Set: Commit: dfe60d0b98a1a888ca4ffce14788938c192b1520

            I also got this working. Only one test fails with lctl set_param -P which I tracked down to the problem that the lcfg changes are only being transmitted to the clients. So trying to deactivate an OST/MDT only appears to happen on the client and the servers don't see the same change. It appears the choice of where to send the lcfg info is done in the mgc layer. Does anyone know the exact method of how this done?

            simmonsja James A Simmons added a comment - I also got this working. Only one test fails with lctl set_param -P which I tracked down to the problem that the lcfg changes are only being transmitted to the clients. So trying to deactivate an OST/MDT only appears to happen on the client and the servers don't see the same change. It appears the choice of where to send the lcfg info is done in the mgc layer. Does anyone know the exact method of how this done?

            People

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

              Dates

                Created:
                Updated:
                Resolved: