Skip to content

Commit

Permalink
When we get a request to create a listener with a foreign gateway nam…
Browse files Browse the repository at this point in the history
…e in an update() do not display an error.

Fixes #375

Signed-off-by: Gil Bregman <gbregman@il.ibm.com>
  • Loading branch information
gbregman committed Jan 16, 2024
1 parent 86784d0 commit ee3f45b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
12 changes: 8 additions & 4 deletions control/grpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -1643,10 +1643,14 @@ def create_listener_safe(self, request, context):
)
self.logger.info(f"create_listener: {ret}")
else:
errmsg=f"{create_listener_error_prefix}: Gateway name must match current gateway ({self.gateway_name})"
self.logger.error(f"{errmsg}")
return pb2.req_status(status=errno.ENOENT,
error_message=errmsg)
if context:
errmsg=f"{create_listener_error_prefix}: Gateway name must match current gateway ({self.gateway_name})"
self.logger.error(f"{errmsg}")
return pb2.req_status(status=errno.ENODEV, error_message=errmsg)
else:
errmsg=f"Listener not created as gateway {self.gateway_name} differs from requested gateway {request.gateway_name}"
self.logger.info(f"{errmsg}")
return pb2.req_status(status=0, error_message=errmsg)
except Exception as ex:
errmsg = f"{create_listener_error_prefix}:\n{ex}"
self.logger.error(errmsg)
Expand Down
7 changes: 7 additions & 0 deletions tests/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
listener_list_ipv6 = [["-g", gateway_name, "-a", addr_ipv6, "-s", "5003", "--adrfam", "ipv6"], ["-g", gateway_name, "-a", addr_ipv6, "-s", "5004", "--adrfam", "IPV6"]]
listener_list_discovery = [["-n", discovery_nqn, "-g", gateway_name, "-a", addr, "-s", "5012"]]
listener_list_negative_port = [["-g", gateway_name, "-a", addr, "-s", "-2000"]]
listener_list_wrong_gw = [["-g", "WRONG", "-a", addr, "-s", "5015", "-t", "tcp", "-f", "ipv4"]]
config = "ceph-nvmeof.conf"

@pytest.fixture(scope="module")
Expand Down Expand Up @@ -445,6 +446,12 @@ def test_create_listener_negative_port(self, caplog, listener, gateway):
assert "error: trsvcid value must be positive" in caplog.text
assert rc == 2

@pytest.mark.parametrize("listener", listener_list_wrong_gw)
def test_create_listener_wrong_gateway(self, caplog, listener, gateway):
caplog.clear()
cli(["listener", "add", "--subsystem", subsystem] + listener)
assert f"Gateway name must match current gateway ({gateway_name})" in caplog.text

def test_create_listener_wrong_ha_state(self, caplog, gateway):
gw, stub = gateway
caplog.clear()
Expand Down

0 comments on commit ee3f45b

Please sign in to comment.