[PATCHv3] nvmetcli: store DHCHAP attributes
Hannes Reinecke <[email protected]>
| Newsgroups | org.infradead.lists.linux-nvme |
|---|---|
| Message-ID | <[email protected]> |
The DHCHAP authentication attributes is stored under hosts/, and starting with 'dhchap_'. So add a 'dhchap' attribute group for the host object to correctly save and restore DHCHAP values. Signed-off-by: Hannes Reinecke <[email protected]> --- nvmet/nvme.py | 2 ++ nvmet/test_nvmet.py | 3 +++ 2 files changed, 5 insertions(+) diff --git a/nvmet/nvme.py b/nvmet/nvme.py index faf1eb2..a9b78df 100644 --- a/nvmet/nvme.py +++ b/nvmet/nvme.py @@ -1013,6 +1013,7 @@ class Host(CFSNode): ''' super(Host, self).__init__() + self.attr_groups = ['dhchap'] self.nqn = nqn self._path = "%s/hosts/%s" % (self.configfs_dir, nqn) self._create_in_cfs(mode) @@ -1034,6 +1035,7 @@ class Host(CFSNode): except CFSError as e: err_func("Could not create Host object: %s" % e) return + h._setup_attrs(t, err_func) def dump(self): d = super(Host, self).dump() diff --git a/nvmet/test_nvmet.py b/nvmet/test_nvmet.py index 13e2f6c..1d1c592 100644 --- a/nvmet/test_nvmet.py +++ b/nvmet/test_nvmet.py @@ -426,6 +426,7 @@ class TestNvmet(unittest.TestCase): root.clear_existing() h = nvme.Host(nqn='hostnqn', mode='create') + h.set_attr('dhchap','dhgroup','ffdhe2048') s = nvme.Subsystem(nqn='testnqn', mode='create') s.add_allowed_host(nqn='hostnqn') @@ -475,6 +476,8 @@ class TestNvmet(unittest.TestCase): self.assertEqual(n.get_attr('device', 'path'), NVMET_TEST_DEVICES[0]) self.assertEqual(n.get_attr('device', 'nguid'), nguid) + self.assertEqual(h.get_attr('dhchap', 'dhgroup'), 'ffdhe2048') + self.assertEqual(p.get_attr('addr', 'trtype'), 'loop') self.assertEqual(p.get_attr('addr', 'adrfam'), 'ipv4') self.assertEqual(p.get_attr('addr', 'traddr'), '192.168.0.1') -- 2.51.0