Loading .gitlab-ci.yml +15 −32 Original line number Diff line number Diff line Loading @@ -24,14 +24,14 @@ variables: GIT_SUBMODULE_STRATEGY: recursive # base image image: gekkofs/core:0.9.2 image: gekkofs/core:0.9.3 ################################################################################ ## Validating ################################################################################ check format: stage: lint image: gekkofs/linter:0.9.2 image: gekkofs/linter:0.9.3 needs: [] script: - ${SCRIPTS_DIR}/check_format.sh Loading @@ -45,7 +45,7 @@ check format: ################################################################################ gkfs: stage: build image: gekkofs/deps:0.9.2 image: gekkofs/deps:0.9.3 interruptible: true needs: [] script: Loading @@ -65,23 +65,6 @@ gkfs: - ${INSTALL_PATH} expire_in: 1 week gkfwd: stage: build image: gekkofs/deps:0.9.2 interruptible: true needs: [] script: - cmake --preset ci-forwarding-coverage - cmake --build ${BUILD_PATH} -j $(nproc) --target install # reduce artifacts size - ${CI_SCRIPTS_DIR}/trim_build_artifacts.sh ${BUILD_PATH} artifacts: paths: - ${BUILD_PATH} - ${INSTALL_PATH} expire_in: 1 week ################################################################################ ## Testing ################################################################################ Loading @@ -89,7 +72,7 @@ gkfwd: ## == tests for scripts ==================== scripts: stage: test image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 needs: [] script: - mkdir -p ${BUILD_PATH}/tests/scripts Loading @@ -105,7 +88,7 @@ scripts: ## == integration tests for gkfs =========== gkfs:integration: stage: test image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 interruptible: true needs: ['gkfs'] parallel: Loading Loading @@ -154,14 +137,14 @@ gkfs:integration: ## == integration tests for gkfwd ========== gkfwd:integration: stage: test image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 interruptible: true needs: ['gkfwd'] needs: ['gkfs'] parallel: matrix: - SUBTEST: [ forwarding ] rules: - when: never # rules: # - when: never script: ## run tests Loading Loading @@ -204,7 +187,7 @@ gkfwd:integration: ## == unit tests for gkfs ================== gkfs:unit: stage: test image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 needs: ['gkfs'] script: ## Add path to mkfs.kreon Loading Loading @@ -242,7 +225,7 @@ gkfs:unit: ################################################################################ documentation: stage: docs image: gekkofs/docs:0.9.2 image: gekkofs/docs:0.9.3 needs: [] rules: # we only build the documentation automatically if we are on the Loading Loading @@ -272,9 +255,9 @@ documentation: ## == coverage baseline ==================== coverage:baseline: stage: report image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 interruptible: true needs: ['gkfs', 'gkfwd'] needs: ['gkfs'] script: ## capture initial coverage information to establish a baseline Loading @@ -298,10 +281,10 @@ coverage:baseline: coverage: stage: report image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 # needs: [ 'coverage:baseline', 'gkfs:integration', 'gkfwd:integration', # 'gkfs:unit' ] needs: [ 'coverage:baseline', 'gkfs:integration', 'gkfs:unit' ] needs: [ 'coverage:baseline', 'gkfs:integration', 'gkfs:unit', 'gkfwd:integration'] script: - cd ${CI_PROJECT_DIR} - cmake Loading .gitmodules +4 −1 Original line number Diff line number Diff line [submodule "external/hermes"] path = external/hermes url = https://github.com/bsc-ssrg/hermes.git url = https://github.com/marcvef/hermes.git [submodule "tests/scripts/bats"] path = tests/scripts/bats url = https://github.com/bats-core/bats-core.git Loading @@ -22,3 +22,6 @@ [submodule "external/CLI11"] path = external/CLI11 url = https://github.com/CLIUtils/CLI11.git [submodule "external/MessagePack"] path = external/MessagePack url = https://github.com/GekkoFS/MessagePackCPP.git CHANGELOG.md +3 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). replicas ([!166](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/141)). - Modified write and reads to use a bitset instead of the traditional hash per chunk in the server. - Added reattemp support in get_fs_config to other servers, when the initial server fails. - Fused GekkoFWD and GekkoFS. GekkoFWD is enabled with the `--enable-following` in the server configuration and the ENV variable `LIBGKFS_FORWARDING_MAP_FILE` in the clients. ([!170](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/170)). - FMT10 and date removal, several dependencies updated. ([!172](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/172)). ### New ### Changed Loading CMake/FindMercury.cmake +1 −1 Original line number Diff line number Diff line Loading @@ -177,7 +177,7 @@ endmacro() include(SelectLibraryConfigurations) set(_mercury_components na mercury_util mercury_hl) set(_mercury_components na mercury_util) # prevent repeating work if the main CMakeLists.txt already called # find_package(PkgConfig) Loading CMake/gkfs-options.cmake +24 −9 Original line number Diff line number Diff line Loading @@ -227,6 +227,20 @@ gkfs_define_option( DEFAULT_VALUE OFF ) # build tools gkfs_define_option( GKFS_BUILD_TOOLS HELP_TEXT "Enable ${PROJECT_NAME} tools compilation" DEFAULT_VALUE OFF ) # build examples gkfs_define_option( GKFS_BUILD_EXAMPLES HELP_TEXT "Enable ${PROJECT_NAME} examples compilation" DEFAULT_VALUE OFF ) cmake_dependent_option(GKFS_INSTALL_TESTS "Install GekkoFS self tests" OFF "GKFS_BUILD_TESTS" OFF) Loading @@ -238,7 +252,7 @@ cmake_dependent_option(GKFS_INSTALL_TESTS "Install GekkoFS self tests" OFF "GKFS gkfs_define_option( GKFS_CREATE_CHECK_PARENTS HELP_TEXT "Enable checking parent directory for existence before creating children" DEFAULT_VALUE ON DEFAULT_VALUE OFF DESCRIPTION "Verify that a parent directory exists before creating new files or directories" ) Loading Loading @@ -348,14 +362,6 @@ gkfs_define_option( # I/O forwarding ################################################################################ ## Forwarding support gkfs_define_option( GKFS_ENABLE_FORWARDING HELP_TEXT "Enable I/O forwarding mode" DEFAULT_VALUE OFF DESCRIPTION "Use ${PROJECT_NAME} as an I/O forwarding layer" ) ## Scheduling in I/O forwarding mode gkfs_define_option( GKFS_ENABLE_AGIOS Loading @@ -364,4 +370,13 @@ gkfs_define_option( DESCRIPTION "If GKFS_ENABLE_FORWARDING is ON, use AGIOS for scheduling I/Os" ) ################################################################################ # MSGPack client metrics ################################################################################ gkfs_define_option( GKFS_ENABLE_CLIENT_METRICS HELP_TEXT "Enable client metrics via MSGPack" DEFAULT_VALUE ON # TODO disable by default DESCRIPTION "If GKFS_ENABLE_CLIENT_METRICS is ON, use MSGPack to dump client read/write metrics" ) No newline at end of file Loading
.gitlab-ci.yml +15 −32 Original line number Diff line number Diff line Loading @@ -24,14 +24,14 @@ variables: GIT_SUBMODULE_STRATEGY: recursive # base image image: gekkofs/core:0.9.2 image: gekkofs/core:0.9.3 ################################################################################ ## Validating ################################################################################ check format: stage: lint image: gekkofs/linter:0.9.2 image: gekkofs/linter:0.9.3 needs: [] script: - ${SCRIPTS_DIR}/check_format.sh Loading @@ -45,7 +45,7 @@ check format: ################################################################################ gkfs: stage: build image: gekkofs/deps:0.9.2 image: gekkofs/deps:0.9.3 interruptible: true needs: [] script: Loading @@ -65,23 +65,6 @@ gkfs: - ${INSTALL_PATH} expire_in: 1 week gkfwd: stage: build image: gekkofs/deps:0.9.2 interruptible: true needs: [] script: - cmake --preset ci-forwarding-coverage - cmake --build ${BUILD_PATH} -j $(nproc) --target install # reduce artifacts size - ${CI_SCRIPTS_DIR}/trim_build_artifacts.sh ${BUILD_PATH} artifacts: paths: - ${BUILD_PATH} - ${INSTALL_PATH} expire_in: 1 week ################################################################################ ## Testing ################################################################################ Loading @@ -89,7 +72,7 @@ gkfwd: ## == tests for scripts ==================== scripts: stage: test image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 needs: [] script: - mkdir -p ${BUILD_PATH}/tests/scripts Loading @@ -105,7 +88,7 @@ scripts: ## == integration tests for gkfs =========== gkfs:integration: stage: test image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 interruptible: true needs: ['gkfs'] parallel: Loading Loading @@ -154,14 +137,14 @@ gkfs:integration: ## == integration tests for gkfwd ========== gkfwd:integration: stage: test image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 interruptible: true needs: ['gkfwd'] needs: ['gkfs'] parallel: matrix: - SUBTEST: [ forwarding ] rules: - when: never # rules: # - when: never script: ## run tests Loading Loading @@ -204,7 +187,7 @@ gkfwd:integration: ## == unit tests for gkfs ================== gkfs:unit: stage: test image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 needs: ['gkfs'] script: ## Add path to mkfs.kreon Loading Loading @@ -242,7 +225,7 @@ gkfs:unit: ################################################################################ documentation: stage: docs image: gekkofs/docs:0.9.2 image: gekkofs/docs:0.9.3 needs: [] rules: # we only build the documentation automatically if we are on the Loading Loading @@ -272,9 +255,9 @@ documentation: ## == coverage baseline ==================== coverage:baseline: stage: report image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 interruptible: true needs: ['gkfs', 'gkfwd'] needs: ['gkfs'] script: ## capture initial coverage information to establish a baseline Loading @@ -298,10 +281,10 @@ coverage:baseline: coverage: stage: report image: gekkofs/testing:0.9.2 image: gekkofs/testing:0.9.3 # needs: [ 'coverage:baseline', 'gkfs:integration', 'gkfwd:integration', # 'gkfs:unit' ] needs: [ 'coverage:baseline', 'gkfs:integration', 'gkfs:unit' ] needs: [ 'coverage:baseline', 'gkfs:integration', 'gkfs:unit', 'gkfwd:integration'] script: - cd ${CI_PROJECT_DIR} - cmake Loading
.gitmodules +4 −1 Original line number Diff line number Diff line [submodule "external/hermes"] path = external/hermes url = https://github.com/bsc-ssrg/hermes.git url = https://github.com/marcvef/hermes.git [submodule "tests/scripts/bats"] path = tests/scripts/bats url = https://github.com/bats-core/bats-core.git Loading @@ -22,3 +22,6 @@ [submodule "external/CLI11"] path = external/CLI11 url = https://github.com/CLIUtils/CLI11.git [submodule "external/MessagePack"] path = external/MessagePack url = https://github.com/GekkoFS/MessagePackCPP.git
CHANGELOG.md +3 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). replicas ([!166](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/141)). - Modified write and reads to use a bitset instead of the traditional hash per chunk in the server. - Added reattemp support in get_fs_config to other servers, when the initial server fails. - Fused GekkoFWD and GekkoFS. GekkoFWD is enabled with the `--enable-following` in the server configuration and the ENV variable `LIBGKFS_FORWARDING_MAP_FILE` in the clients. ([!170](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/170)). - FMT10 and date removal, several dependencies updated. ([!172](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/172)). ### New ### Changed Loading
CMake/FindMercury.cmake +1 −1 Original line number Diff line number Diff line Loading @@ -177,7 +177,7 @@ endmacro() include(SelectLibraryConfigurations) set(_mercury_components na mercury_util mercury_hl) set(_mercury_components na mercury_util) # prevent repeating work if the main CMakeLists.txt already called # find_package(PkgConfig) Loading
CMake/gkfs-options.cmake +24 −9 Original line number Diff line number Diff line Loading @@ -227,6 +227,20 @@ gkfs_define_option( DEFAULT_VALUE OFF ) # build tools gkfs_define_option( GKFS_BUILD_TOOLS HELP_TEXT "Enable ${PROJECT_NAME} tools compilation" DEFAULT_VALUE OFF ) # build examples gkfs_define_option( GKFS_BUILD_EXAMPLES HELP_TEXT "Enable ${PROJECT_NAME} examples compilation" DEFAULT_VALUE OFF ) cmake_dependent_option(GKFS_INSTALL_TESTS "Install GekkoFS self tests" OFF "GKFS_BUILD_TESTS" OFF) Loading @@ -238,7 +252,7 @@ cmake_dependent_option(GKFS_INSTALL_TESTS "Install GekkoFS self tests" OFF "GKFS gkfs_define_option( GKFS_CREATE_CHECK_PARENTS HELP_TEXT "Enable checking parent directory for existence before creating children" DEFAULT_VALUE ON DEFAULT_VALUE OFF DESCRIPTION "Verify that a parent directory exists before creating new files or directories" ) Loading Loading @@ -348,14 +362,6 @@ gkfs_define_option( # I/O forwarding ################################################################################ ## Forwarding support gkfs_define_option( GKFS_ENABLE_FORWARDING HELP_TEXT "Enable I/O forwarding mode" DEFAULT_VALUE OFF DESCRIPTION "Use ${PROJECT_NAME} as an I/O forwarding layer" ) ## Scheduling in I/O forwarding mode gkfs_define_option( GKFS_ENABLE_AGIOS Loading @@ -364,4 +370,13 @@ gkfs_define_option( DESCRIPTION "If GKFS_ENABLE_FORWARDING is ON, use AGIOS for scheduling I/Os" ) ################################################################################ # MSGPack client metrics ################################################################################ gkfs_define_option( GKFS_ENABLE_CLIENT_METRICS HELP_TEXT "Enable client metrics via MSGPack" DEFAULT_VALUE ON # TODO disable by default DESCRIPTION "If GKFS_ENABLE_CLIENT_METRICS is ON, use MSGPack to dump client read/write metrics" ) No newline at end of file