Commit 2222d085 authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

CMake: Tests now use own `scord-ctl.conf` instead of `/etc/scord-ctl.conf`

parent 4018dfd4
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ if(SCORD_BUILD_TESTS)
  file(MAKE_DIRECTORY ${TEST_DIRECTORY})

  configure_file(scord.conf.in scord.conf)
  configure_file(scord-ctl.conf.in scord-ctl.conf)

  set(SCORD_ADDRESS_STRING
    ${SCORD_TRANSPORT_PROTOCOL}://${SCORD_BIND_ADDRESS}:${SCORD_BIND_PORT})
@@ -57,7 +58,10 @@ if(SCORD_BUILD_TESTS)

  add_test(start_scord_ctl
    ${CMAKE_SOURCE_DIR}/scripts/runner.sh start scord-ctl.pid
    ${CMAKE_BINARY_DIR}/src/scord-ctl/scord-ctl -l ${SCORD_CTL_ADDRESS_STRING} -o ${TEST_DIRECTORY}/scord_ctl.log
        ${CMAKE_BINARY_DIR}/src/scord-ctl/scord-ctl
            -c ${CMAKE_CURRENT_BINARY_DIR}/scord-ctl.conf
            -l ${SCORD_CTL_ADDRESS_STRING}
            -o ${TEST_DIRECTORY}/scord_ctl.log
  )

  set_tests_properties(start_scord_ctl
+48 −0
Original line number Diff line number Diff line
## vim: set filetype=yaml:

# Configuration of the `scord-ctl` service
config:
  # Specific configurations for supported adhoc storage systems
  adhoc_storage:
    gekkofs:
      # The default working directory for adhoc instances of this type
      working_directory: /tmp/gekkofs
      startup:
        # Specific environment variables that should be set for the adhoc
        # instance. These will be merged with the environment variables
        # already set by Slurm.
        environment:
          VAR0: value0
          VAR1: value1
        # The command that `scord-ctl` will use to start an adhoc instance of
        # this type. The following variables are supported that will be
        # automatically replaced by scord-ctl if found between curly braces:
        #  * ADHOC_NODES: A comma separated list of valid job hostnames that
        #    can be used to start the adhoc instance.
        #  * ADHOC_DIRECTORY: A unique working directory for each specific
        #    adhoc instance. This directory will be created by scord-ctl under
        #    `working_directory` and automatically removed after the adhoc
        #    instance has been shut down.
        #  * ADHOC_ID: - A unique ID for the adhoc instance.
        command: @CMAKE_BINARY_DIR@/plugins/adhoc_services.d/gekkofs.sh
                    start
                    --hosts {ADHOC_NODES}
                    --workdir {ADHOC_DIRECTORY}
                    --datadir {ADHOC_DIRECTORY}/data
                    --mountdir {ADHOC_DIRECTORY}/mnt
      shutdown:
        environment:
        command: @CMAKE_BINARY_DIR@/plugins/adhoc_services.d/gekkofs.sh
                    stop
                    --workdir {ADHOC_DIRECTORY}


# default storage tiers made available to applications
storage:
  lustre:
    type: "pfs"
    mountpoint: "/mnt/lustre"

  tmp:
    type: "tmpfs"
    mountpoint: "/tmp"
+9 −0
Original line number Diff line number Diff line
@@ -24,6 +24,15 @@

list(APPEND ADHOC_SCRIPTS "${CMAKE_CURRENT_SOURCE_DIR}/gekkofs.sh")

# copy adhoc scripts to the build directory so that they can be used  by tests
foreach (ADHOC_SCRIPT ${ADHOC_SCRIPTS})
  get_filename_component(ADHOC_SCRIPT_NAME ${ADHOC_SCRIPT} NAME)
  configure_file(${ADHOC_SCRIPT} ${CMAKE_CURRENT_BINARY_DIR}/${ADHOC_SCRIPT_NAME} @ONLY
    FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
                     GROUP_READ GROUP_EXECUTE
                     WORLD_READ WORLD_EXECUTE)
endforeach()

# install adhoc scripts to `<datadir>/scord/adhoc_services.d/`
# (normally /usr/share/scord/adhoc_services.d/)
get_filename_component(INSTALL_DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} NAME)