Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add capability to specify directories for cache, daemons, and fifo. #62

Open
wants to merge 18 commits into
base: devel
Choose a base branch
from

Conversation

rountree
Copy link

@rountree rountree commented Mar 3, 2025

Addresses #61

  • Provides new options cache-path, daemon-path, and fifo-path that take colon-separated path lists as parameters.
  • Retains the existing location option and extends it to the Flux interface.
  • Wraps parse_location() and realize() function into instantiate_directory().

Still doing runtime testing.

Specifically:  cache_path, fifo_path, and daemon_path.
config_mgr.h
    Add confCachePath, confFifoPath, confDaemonPath to SpindleConfigID enum.

    Add shortCachePath, shortFifoPath, shortDaemonPath to CmdlineShortOptions enum.

config_mgr.cc
    In list<SpindleOption> Options, associated:
        "cache-path"  SPINDLE_CACHEPATH_STR
        "fifo-path"   SPINDLE_FIFOPATH_STR
        "daemon-path" SPINDLE_DAEMONPATH_STR

    Link #defines SPINDLE_CACHE_PATH, SPINDLE_FIFO_PATH, and SPINDLE_DAEMON_PATH
        to their respective _STR #defines.  The default values are "".

    Remove line in toSpindleArgs() adding cache suffix to location.

    Associate SpindleConfigID enums with spindle_args_t fields in toSpindleArgs().
flux-spindle.c
    Add "location" and path variables to sp_getopts().
spindle_fe.cc
    In getApplicationArgsFE():
        Upped MAX_ARGS to 32 from 16.
        Added path options insertion into argv
spindle_bootstrap.c
    In parse_cmdline():
        Added paths options extraction from argv
spindle_fe.cc
    Add path variables to pack_data().
spindle_be.cc
    Add path variables to unpack_data().
parseloc.c
    added extern declaration for spindle_mkdir()
    added instantiate_directory() function to wrap
        parse_loc(), realize(), and spindle_mkdir()

spindle_bootstrap.c
client.c
intercept_exec.c
    replace LDCS_LOCATION and LDCS_ORIG_LOCATION with
      LDCS_INSTANTIATED_CACHE_PATH
      LDCS_INSTANTIATED_FIFO_PATH
      LDCS_INSTANTIATED_DAEMON_PATH

client.c
    replaced global "location" variables
    removed "location" processing

spindle_bootstrap.c
    removed several global "location" variables
    client_open_connection() now called with "instantiated_fifo_path"
    removed parameters from launch_daemon()
    shmcache_init() now called with "instantiated_cache_path"

spindle_bootstrap.c
client.c
    Added global variables
      instantiated_cache_path
      instantiated_fifo_path
      instantiated_daemon_path
        spindle_bootstrap.c
        client.c
            typo and parameter fixes

        ldcs_audit_server_process.h
            replace "location" in struct ldcs_process_data_struct with
              instantiated_cache_path
              instantiated_fifo_path
              instantiated_daemon_path

        ldcs_audit_server_md_msocket.
            added fifo path as needed
            removed "LDCS_LOCATION_MOD handling

        ldcs_audit_server_process.c
            converts spindle_args to instantiated paths
            uses those paths as appropriate

        spindle_be.cc
            removes location expansion

        parseloc.c
            fix silly string error
ldcs_audit_server_handlers.c
        converted location to fifo path
orig_location is used by the client; that's now restored.

There were two files with extern declarations of location.
Those now refer to instantiated_cache_path.

This version passes the /bin/true test.
QQQ removed from debug messages

New messages that had been using stderr converted to
debug_printf()

Rebalances debug_printf() priorty of new messages.
Only affects builds that use md_socket.
Removes the following:
        LDCS_INSTANTIATED_DAEMON_PATH
        confDaemonPath
        shortDaemonPath
        SPINDLE_DAEMON_PATH_STR
        SPINDLE_DAEMON_PATH
        instantiated_daemon_path
        cache_path

The single use of daemon_path now uses fifo_path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants