1. Jul 21, 2023
  2. Jul 20, 2023
  3. Jul 03, 2023
  4. Jun 12, 2023
    • Alberto Miranda's avatar
      Merge branch 'amiranda/133-use-configured-scripts-for-adhoc-deployment-teardown' into 'main' · 2d2cef06
      Alberto Miranda authored
      Resolve "Use configured scripts for adhoc deployment/teardown"
      
      This MR updates the deployment and termination RPCs so that they are
      executed by `scord-ctl`. The mechanism takes advantage of the 
      configuration information added in !93 to generate generic commands
      for each configured adhoc storage instance.
      
      This MR also updates `ADM_register_adhoc_storage`, making it generate
      and record an internal `adhoc_uuid` that can be forwarded to `scord-ctl`
      to refer to running adhoc storage instances.
      
      This MR also renames the RPC `ADM_tear_down_adhoc_storage` to
      `ADM_terminate_adhoc_storage`.
      
      Closes #133
      
      See merge request !94
      2d2cef06
    • Alberto Miranda's avatar
      Implment `ADM_terminate_adhoc_storage` RPC · 74025603
      Alberto Miranda authored
      - Rename `ADM_tear_down_adhoc_storage` RPC and related functions to
        `ADM_terminate_adhoc_storage`.
      - scord-ctl: The new implementation for the RPC handler makes use of the
        new configuration files to construct the command line for termination.
      74025603
    • Alberto Miranda's avatar
      Update `ADM_deploy_adhoc_storage` RPC · 9f4134ac
      Alberto Miranda authored
      - scord-ctl: The new implementation for the RPC handler makes use of
        the new configuration files to construct the command line for
        deployment. The RPC handler will now reply with the generated path
        for the adhoc storage system (`adhoc_dir`) in addition to an
        appropriate error code.
      
      - scord: The RPC handler has been refactored and will now propagate
        `adhoc_dir` to the client API.
      
      - API: The newly generated `adhoc_dir` is propagated to client code.
      
      - examples: Updated to account for the new `adhoc_storage_path` argument in
        the APIs.
      
      foo
      9f4134ac
    • Alberto Miranda's avatar
      Heavy refactor to `logger` module · 421c5ed1
      Alberto Miranda authored
      - Move as much code as possible to `logger.cpp`
      - Create `logger_base` with common code
      - Create `logger_sync` and `logger_async` classes to allow creating
        synchronous and asynchronous loggers as needed.
      - Replace all mentions to `global_logger` by `default_logger`
      421c5ed1
  5. Jun 07, 2023
  6. May 31, 2023
  7. May 29, 2023
  8. May 26, 2023
  9. May 23, 2023
  10. May 17, 2023
    • Alberto Miranda's avatar
      Move `deploy_adhoc_storage` logic to `scord-ctl` · 4f2d492f
      Alberto Miranda authored
      `scord` now just forwards the request to the appropriate `scord-ctl`
      instance.
      4f2d492f
    • Alberto Miranda's avatar
      Improve network::server API · bd901bcc
      Alberto Miranda authored
      - Add `endpoint lookup(std::string address)` so that a RPC server can
      lookup peers for RPC forwarding.
      - Add `std::string self_address()` so that a RPC server can determine
      its own address string.
      bd901bcc
    • Alberto Miranda's avatar
      WIP: fix logger (merge with previous) · e1c57a55
      Alberto Miranda authored
      e1c57a55
    • Alberto Miranda's avatar
      RPC handlers can now access server context · 0ad18d79
      Alberto Miranda authored
      Our network interface now relies on Thallium's support for `providers`
      (https://mochi.readthedocs.io/en/latest/thallium/09_providers.html).
      This allows using the member functions from a class as RPC handlers,
      which in turn allows RPC handers to access the class' data members.
      
      Thus, we have heavily refactored `scord`:
      
      - Create a new `scord::rpc_server` class that inherits both from
      `network::server` and `network::provider`. This enables the
      aforementioned functionality.
      - The RPC handlers for `scord` are now member functions of
      `scord::rpc_server` instead of free functions.
      - The managers used by `scord` (i.e. the `job_manager`,
      `adhoc_storage_manager`, and `pfs_storage_manager` are now members of
      `scord::rpc_server` instead of singletons, since they no longer need to
      be accessed globally.
      
      Similarly for `scord-ctl`:
      - Create a new `scord_ctl::rpc_server` class that inherits both from
      `network::server` and `network::provider`. This enables the
      aforementioned functionality.
      - The RPC handlers for `scord-ctl` are now member functions of
      `scord_ctl::rpc_server` instead of free functions.
      
      Additionally, we have also moved the `network` and `logger` namespaces
      outside of `scord`, since this code is shared by both `scord` and
      `scord-ctl`.
      0ad18d79
    • Alberto Miranda's avatar
      WIP: Add control node address to ADM_adhoc_context_t · b4e9cbde
      Alberto Miranda authored
      Update tests to start scord-ctl as needed
      b4e9cbde