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

[tools] Initial demikernel-ci #342

Merged
merged 2 commits into from
Dec 2, 2022
Merged

[tools] Initial demikernel-ci #342

merged 2 commits into from
Dec 2, 2022

Conversation

ppenna
Copy link
Contributor

@ppenna ppenna commented Nov 28, 2022

Description

This PR addresses #340.

About demikernel-ci

demikernel-ci is a python utility that enables helps one to execute regressions of Demikernel in a remote pair of machines.

The follow CLI is currently provided.

usage: demikernel-ci.py [-h] --server SERVER --client CLIENT --repository REPOSITORY --branch BRANCH --libos LIBOS [--test] [--server-addr SERVER_ADDR] [--client-addr CLIENT_ADDR]

Use this utility to run the regression system of Demikernel on a pair of remote host machines.

optional arguments:
  -h, --help            show this help message and exit
  --server SERVER       set server host name
  --client CLIENT       set client host name
  --repository REPOSITORY
                        set location of target repository in remote hosts
  --branch BRANCH       set target branch in remote hosts
  --libos LIBOS         set target libos in remote hosts
  --test                run tests
  --server-addr SERVER_ADDR
                        sets server address in tests
  --client-addr CLIENT_ADDR
                        sets client address in tests

How to Use demikernel-ci

In order to use demikernel-ci you should first do the following:

  1. Configure two remote machines to build and run Demikernel. For this, follow instructions on the README.md file.
  2. Setup SSH connection to these machines using RSA key authentication method.
  3. Setup SSH aliases for connecting to these machines.

The steps above should be performed only once. Afterwards, you can refer to the following commands to use demikernel-ci.

Note that in the steps bellow I'm assuming that remote hosts are demikernel-vm0 and demikernel-vm1, each of which if private IP addresses 10.9.0.10 and 10.9.0.11. Also, the Demikernel repository is located on $HOME/demikernel in both machines. You should change these to match your testing environment.

Building Demikernel on Remote Machines

 python3 ./tools/demikernel-ci.py --server demikernel-vm0 --client demikernel-vm1 --repository demikernel --branch dev --libos catnap

Running System-Level Regressions of Demikernel on Remote Machines

 python3 ./tools/demikernel-ci.py --server demikernel-vm0 --client demikernel-vm1 --repository demikernel --branch dev --libos catnap --test --server-addr 10.9.0.10 --client-addr 10.9.0.11

@ppenna ppenna self-assigned this Nov 28, 2022
@ppenna ppenna added the feature New Feature Request label Nov 28, 2022
Copy link
Contributor

@BrianZill BrianZill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know much about python, so I think someone else should review this as well. But it looks fine to me, as far as I can tell (other than some comments that don't end with a period :-)).

@ppenna ppenna force-pushed the feature-tools-demikernel-ci branch from 8d09e54 to ee99ed3 Compare December 1, 2022 12:57
@ppenna ppenna force-pushed the feature-tools-demikernel-ci branch from ee99ed3 to c0fd76c Compare December 1, 2022 17:44
@ppenna ppenna merged commit a81e45c into dev Dec 2, 2022
@ppenna ppenna deleted the feature-tools-demikernel-ci branch December 2, 2022 11:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New Feature Request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants