1. 21 Jan, 2019 1 commit
  2. 09 Jan, 2019 6 commits
  3. 07 Jan, 2019 2 commits
  4. 04 Jan, 2019 5 commits
  5. 21 Dec, 2018 6 commits
  6. 18 Dec, 2018 2 commits
  7. 17 Dec, 2018 1 commit
    • Valentin Reis's avatar
      [ci] Pinning integration tests · 9be3146c
      Valentin Reis authored
      This commit pins the integration tests. This is done in the .integration.nix
      file, which in turns uses the derivations from the 'argotest'
      repository. These pin argopkgs - which itself pins nixpkgs, so
      everything should be completely reproducible.
      
      The integration target provisions the dependencies using nix-shell and
      runs the basic 'hello world' container test.
      9be3146c
  8. 14 Dec, 2018 2 commits
  9. 12 Dec, 2018 6 commits
    • Valentin Reis's avatar
      Merge branch 'wip/config-rebased' into 'master' · 3dd86585
      Valentin Reis authored
      [feature] commandline arguments, config file management.
      
      See merge request !37
      3dd86585
    • Valentin Reis's avatar
      [feature] Added integration tests · aedf9396
      Valentin Reis authored
      Added integration tests to the `.gitlab-ci.yaml` file. These tests
      run any runner tagged "integration". They depend on the 'argotest'
      repository master branch being able to run the tests, which
      uses 'argopkgs' repository. The runner must be Nix
      enabled. This therefore currently uses a rolling release of the
      integration tests.
      aedf9396
    • Valentin Reis's avatar
    • Valentin Reis's avatar
      [fix] Sending a raw 'kill' message to upstream when `cmd` receives SIGINT · 5a3b9fc8
      Valentin Reis authored
      `cmd` now sends a container kill message to the upstream api and exits
      whenever it receives SIGINT, via C-c for instance.
      5a3b9fc8
    • Valentin Reis's avatar
      [fix] Fixes the process kill call. · ec503ffa
      Valentin Reis authored
      Fixing a bug introduced by the 'progress-report' branch in a recent
      previous commit. The process object is the result of a tornado spawn, so
      the call has to be slightly different than what was there.
      ec503ffa
    • Valentin Reis's avatar
      [Feature] Adds configuration management and environment variables · 25443c64
      Valentin Reis authored
      This commit adds a command-line interface to `daemon`:
      ```
      usage: daemon [-h] [-c FILE] [-d] [--nrm_log NRM_LOG] [--hwloc HWLOC]
                    [--argo_nodeos_config ARGO_NODEOS_CONFIG] [--perf PERF]
                    [--argo_perf_wrapper ARGO_PERF_WRAPPER]
      
      optional arguments:
        -h, --help            show this help message and exit
        -c FILE, --configuration FILE
                              Specify a config json-formatted config file to
                              override any of the available CLI options. If an
                              option is actually provided on the command-line, it
                              overrides its corresponding value from the
                              configuration file.
        -d, --print_defaults  Print the default configuration file.
        --nrm_log NRM_LOG     Main log file. Override default with the NRM_LOG.
                              environment variable
        --hwloc HWLOC         Path to the hwloc to use. This path can be relative
                              and makes uses of the $PATH if necessary. Override
                              default with the HWLOC environment variable.
        --argo_nodeos_config ARGO_NODEOS_CONFIG
                              Path to the argo_nodeos_config to use. This path can
                              be relative and makes uses of the $PATH if necessary.
                              Override default with the ARGO_NODEOS_CONFIG
                              environment variable.
        --perf PERF           Path to the linux perf tool to use. This path can be
                              relative and makes uses of the $PATH if necessary.
                              Override default with the PERF environment variable.
        --argo_perf_wrapper ARGO_PERF_WRAPPER
                              Path to the linux perf tool to use. This path can be
                              relative and makes uses of the $PATH if necessary.
                              Override default with the PERFWRAPPER environment
                              variable.
      ```
      25443c64
  10. 10 Dec, 2018 3 commits
  11. 28 Nov, 2018 6 commits
    • Swann Perarnau's avatar
      [feature/fix] add listen command for upstream pub · e626053c
      Swann Perarnau authored
      Add a listen command to get access to the event stream of the upstream
      pub/sub API.
      
      This patch gives back access from the command line to the power
      information of a container, including filtering the event stream to only
      have events relevent to this container.
      
      This changes the workflow a little bit for users, but should result in a
      cleaner access to profiling data in the future.
      
      Related to #18.
      e626053c
    • Swann Perarnau's avatar
      [fix] remove container ownership concept · a47ec65f
      Swann Perarnau authored
      Make it so that the daemon will delete containers when all commands it
      is aware of are finished, instead of relying on a single owner that
      needs to be tracked.
      
      This simplifies the handling to multiple commands in the same container,
      and should not impact the rest.
      a47ec65f
    • Swann Perarnau's avatar
      [refactor] move container start/exit to up_pub · f81b95e0
      Swann Perarnau authored
      Move the container start/exit events to the upstream pub/sub event
      stream. As these are more of a global event now that we support multiple
      commands in the same container, it makes sense to move them to the more
      general event stream.
      
      This patch also remove the code in cmd waiting for container start or
      exit, making (temporarily) the cmd unable to report power metrics. We
      will fix that in a later commit.
      
      This patch fixes complicated issues we had with how a job running
      multiple commands in the container might not all wait for the end of the
      container: now none of them do.
      f81b95e0
    • Swann Perarnau's avatar
      [feature] add messaging class for pub client · c4e50535
      Swann Perarnau authored
      Add a upstream pub client, to be able to listen to messages coming from
      the daemon on the upstream pub/sub channel.
      
      Doesn't support any fancy filter, as that's not used by the daemon so
      far.
      c4e50535
    • Swann Perarnau's avatar
      [fix] ensure container has single owner · 93ae9144
      Swann Perarnau authored
      Ensure that the client that created the container is considered as the
      one owning it, with the consequence that if its command exits, the
      container is destroyed. Also deals with the race issue we had on the cmd
      side.
      93ae9144
    • Swann Perarnau's avatar
      [refactor/fix] always send process events for run · 6e0c1e7a
      Swann Perarnau authored
      Current code sends start/exit events when a container is created and
      process_start/process_exit when its already there. Instead, have the
      container start/exit only care about container stuff, and always sends
      the process start/exit events around. That makes the cmd run fsm easier
      to work out.
      
      Changes the message format a tiny bit.
      Fixes some missing stdout/stderr issues we had before.
      6e0c1e7a