Skip to content

Commit

Permalink
Revert SPDK sokcet path to /var/tmp/spdk.sock.
Browse files Browse the repository at this point in the history
Fixes #794

Signed-off-by: Gil Bregman <[email protected]>
  • Loading branch information
gbregman committed Aug 20, 2024
1 parent 4626e5f commit c25f87d
Show file tree
Hide file tree
Showing 9 changed files with 12 additions and 63 deletions.
3 changes: 1 addition & 2 deletions ceph-nvmeof.conf
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,7 @@ client_cert = ./client.crt
[spdk]
bdevs_per_cluster = 32
tgt_path = /usr/local/bin/nvmf_tgt
#rpc_socket_dir = /var/tmp/
#rpc_socket_name = spdk.sock
#rpc_socket = /var/tmp/spdk.sock
#tgt_cmd_extra_args = --env-context="--no-huge -m1024" --iova-mode=va
timeout = 60.0
log_level =
Expand Down
14 changes: 1 addition & 13 deletions control/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,26 +332,14 @@ def _grpc_server(self, address):

return server

def _get_spdk_rpc_socket_path(self, omap_state) -> str:
# For backward compatibility, try first to get the old attribute
spdk_rpc_socket = self.config.get_with_default("spdk", "rpc_socket", "")
if spdk_rpc_socket:
return spdk_rpc_socket

(spdk_rpc_socket_dir, create_status) = GatewayUtils.get_directory_with_fsid(
self.logger, self.config, self.ceph_utils, "spdk", "rpc_socket_dir",
GatewayConfig.CEPH_RUN_DIRECTORY, "", True)
spdk_rpc_socket = spdk_rpc_socket_dir + self.config.get_with_default("spdk", "rpc_socket_name", "spdk.sock")
return spdk_rpc_socket

def _start_spdk(self, omap_state):
"""Starts SPDK process."""

# Start target
self.logger.debug(f"Configuring server {self.name}")
spdk_tgt_path = self.config.get("spdk", "tgt_path")
self.logger.info(f"SPDK Target Path: {spdk_tgt_path}")
self.spdk_rpc_socket_path = self._get_spdk_rpc_socket_path(omap_state)
self.spdk_rpc_socket_path = self.config.get_with_default("spdk", "rpc_socket", "/var/tmp/spdk.sock")
self.logger.info(f"SPDK Socket: {self.spdk_rpc_socket_path}")
spdk_tgt_cmd_extra_args = self.config.get_with_default(
"spdk", "tgt_cmd_extra_args", "")
Expand Down
37 changes: 0 additions & 37 deletions control/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,43 +176,6 @@ def is_valid_nqn(nqn):

return (0, os.strerror(0))

def get_directory_with_fsid(logger, config, ceph_utils, conf_section, conf_field, def_value, suffix, should_create):
status = errno.ENOENT
dir_name = config.get_with_default(conf_section, conf_field, "")
if dir_name:
# If there is an explicit dir name in configuration file, do not change it
suffix = ""
else:
dir_name = def_value
if ceph_utils:
fsid = ceph_utils.fetch_ceph_fsid()
if fsid:
dir_name += fsid + "/"
if not dir_name.endswith("/"):
dir_name += "/"
if suffix:
dir_name += suffix
if not dir_name.endswith("/"):
dir_name += "/"
if should_create:
try:
os.makedirs(dir_name, 0o777, True)
status = 0
except OSError as err:
logger.exception(f"makedirs({dir_name}, 0o777, True) failed")
status = err.errno
except Exception:
logger.exception(f"makedirs({dir_name}, 0o777, True) failed")
status = errno.ENOENT
else:
if os.path.isdir(dir_name):
status = 0
else:
logger.error(f"Directory {dir_name} does not exist")
status = errno.ENOENT

return (dir_name, status)

class GatewayLogger:
CEPH_LOG_DIRECTORY = "/var/log/ceph/"
MAX_LOG_FILE_SIZE_DEFAULT = 10
Expand Down
3 changes: 1 addition & 2 deletions tests/ceph-nvmeof.tls.conf
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ client_cert = /etc/ceph/client.crt
[spdk]
bdevs_per_cluster = 32
tgt_path = /usr/local/bin/nvmf_tgt
#rpc_socket_dir = /var/tmp/
#rpc_socket_name = spdk.sock
#rpc_socket = /var/tmp/spdk.sock
#tgt_cmd_extra_args = --env-context="--no-huge -m1024" --iova-mode=va
timeout = 60.0
log_level = WARNING
Expand Down
4 changes: 2 additions & 2 deletions tests/test_cli_change_lb.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ def two_gateways(config):
configB = copy.deepcopy(config)
configA.config["gateway"]["name"] = nameA
configA.config["gateway"]["override_hostname"] = nameA
configA.config["spdk"]["rpc_socket_name"] = sockA
configA.config["spdk"]["rpc_socket"] = f"/var/tmp/{sockA}"
portA = configA.getint("gateway", "port") + 1
configA.config["gateway"]["port"] = str(portA)
discPortA = configA.getint("discovery", "port") + 1
configA.config["discovery"]["port"] = str(discPortA)
configB.config["gateway"]["name"] = nameB
configB.config["gateway"]["override_hostname"] = nameB
configB.config["spdk"]["rpc_socket_name"] = sockB
configB.config["spdk"]["rpc_socket"] = f"/var/tmp/{sockB}"
portB = portA + 1
discPortB = discPortA + 1
configB.config["gateway"]["port"] = str(portB)
Expand Down
4 changes: 2 additions & 2 deletions tests/test_multi_gateway.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ def conn(config):
configA.config["gateway"]["group"] = "Group1"
configA.config["gateway"]["state_update_notify"] = str(update_notify)
configA.config["gateway"]["enable_spdk_discovery_controller"] = "True"
configA.config["spdk"]["rpc_socket_name"] = "spdk_GatewayA.sock"
configA.config["spdk"]["rpc_socket"] = "/var/tmp/spdk_GatewayA.sock"
configB = copy.deepcopy(configA)
addr = configA.get("gateway", "addr")
portA = configA.getint("gateway", "port")
portB = portA + 2
configB.config["gateway"]["name"] = "GatewayB"
configB.config["gateway"]["port"] = str(portB)
configB.config["gateway"]["state_update_interval_sec"] = str(update_interval_sec)
configB.config["spdk"]["rpc_socket_name"] = "spdk_GatewayB.sock"
configB.config["spdk"]["rpc_socket"] = "/var/tmp/spdk_GatewayB.sock"
configB.config["spdk"]["tgt_cmd_extra_args"] = "-m 0x02"
ceph_utils = CephUtils(config)

Expand Down
4 changes: 2 additions & 2 deletions tests/test_nsid.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ def setup_config(config, gw1_name, gw2_name, gw_group, update_notify, update_int
configA.config["gateway"]["omap_file_disable_unlock"] = str(disable_unlock)
configA.config["gateway"]["omap_file_lock_duration"] = str(lock_duration)
configA.config["gateway"]["enable_spdk_discovery_controller"] = "True"
configA.config["spdk"]["rpc_socket_name"] = sock1_name
configA.config["spdk"]["rpc_socket"] = f"/var/tmp/{sock1_name}"
configB = copy.deepcopy(configA)
portA = configA.getint("gateway", "port")
configA.config["gateway"]["port"] = str(portA)
portB = portA + 2
configB.config["gateway"]["name"] = gw2_name
configB.config["gateway"]["port"] = str(portB)
configB.config["spdk"]["rpc_socket_name"] = sock2_name
configB.config["spdk"]["rpc_socket"] = f"/var/tmp/{sock2_name}"
configB.config["spdk"]["tgt_cmd_extra_args"] = "-m 0x02"

return configA, configB
Expand Down
4 changes: 2 additions & 2 deletions tests/test_omap_lock.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ def setup_config(config, gw1_name, gw2_name, gw_group, update_notify ,update_int
configA.config["gateway"]["omap_file_disable_unlock"] = str(disable_unlock)
configA.config["gateway"]["omap_file_lock_duration"] = str(lock_duration)
configA.config["gateway"]["enable_spdk_discovery_controller"] = "True"
configA.config["spdk"]["rpc_socket_name"] = sock1_name
configA.config["spdk"]["rpc_socket"] = f"/var/tmp/{sock1_name}"
configB = copy.deepcopy(configA)
portA = configA.getint("gateway", "port") + port_inc
configA.config["gateway"]["port"] = str(portA)
portB = portA + 2
configB.config["gateway"]["name"] = gw2_name
configB.config["gateway"]["override_hostname"] = gw2_name
configB.config["gateway"]["port"] = str(portB)
configB.config["spdk"]["rpc_socket_name"] = sock2_name
configB.config["spdk"]["rpc_socket"] = f"/var/tmp/{sock2_name}"
configB.config["spdk"]["tgt_cmd_extra_args"] = "-m 0x02"

return configA, configB
Expand Down
2 changes: 1 addition & 1 deletion tests/test_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ def test_spdk_multi_gateway_exception(self):
configB = copy.deepcopy(configA)
configB.config["gateway"]["name"] = "GatewayB"
configB.config["gateway"]["port"] = str(configA.getint("gateway", "port") + 1)
configB.config["spdk"]["rpc_socket_name"] = "spdk_GatewayB.sock"
configB.config["spdk"]["rpc_socket"] = "/var/tmp/spdk_GatewayB.sock"
# invalid arg, spdk would exit with code 1 at start up
configB.config["spdk"]["tgt_cmd_extra_args"] = "-m 0x343435545"

Expand Down

0 comments on commit c25f87d

Please sign in to comment.