gridcli reference
This reference is generated from gridcli itself, so it matches the output
of gridcli -h and of -h after any command. Some commands, such as
wall, redeploy, and the machine commands, need staff rights.
gridcli
usage: gridcli [-h] [-d] [-v] [-q] [-n] [--token TOKEN | --token-file PATH]
[--user USERNAME] [--password PASSWORD]
[--save-credentials | --no-save-credentials] [--host HOSTNAME]
{status,wall,redeploy,users,keys,key,images,image,machines,machine,nodes,node,devicescan,flash,instances,reservations,reservation,batch,settings,tg,rf,dyse,teams,competitions,submissions,submit}
...
Interact with Grid API
positional arguments:
{status,wall,redeploy,users,keys,key,images,image,machines,machine,nodes,node,devicescan,flash,instances,reservations,reservation,batch,settings,tg,rf,dyse,teams,competitions,submissions,submit}
status Get Grid status
wall Send a message to all users
redeploy Redeploy all machines
users List users
keys List SSH keys
key Manipulate an SSH key
images List images
image Manipulate an image
machines List machines
machine Manipulate a machine
nodes List nodes
node Manipulate a node
devicescan Scan machine for devices
flash Flash a device
instances List instances
reservations List reservations
reservation Manipulate a reservation
batch Submit a reservation template (deprecated; use
reservation submit)
settings Manage Grid settings
tg Manage traffic generation and scenarios
rf Manage RF scenarios
dyse Manage DYSE
teams List teams
competitions List competitions
submissions List submissions
submit Submit an image to a competition
options:
-h, --help show this help message and exit
-d, --debug print debugging information (default: 30)
-v, --verbose be verbose (default: None)
-q, --quiet do not ask for confirmation (default: False)
-n, --dry-run dry run (default: False)
--token TOKEN use authentication token (default: None)
--token-file PATH read authentication token from PATH, or from standard
input if PATH is -, which keeps it out of the process
list (default: None)
--user USERNAME set username (default: None)
--password PASSWORD set password (default: None)
--save-credentials Save user credentials (default: True)
--no-save-credentials, --nosave-credentials
Do not save user credentials
--host HOSTNAME set API host (default: https://dwslgrid.ece.drexel.edu/)
gridcli status
usage: gridcli status [-h]
options:
-h, --help show this help message and exit
gridcli wall
usage: gridcli wall [-h] [--async | --poll-interval SECONDS] MESSAGE
positional arguments:
MESSAGE Message to send
options:
-h, --help show this help message and exit
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli redeploy
usage: gridcli redeploy [-h] [--force] [--async | --poll-interval SECONDS]
options:
-h, --help show this help message and exit
--force Force deployment even if machine is in use
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli users
usage: gridcli users [-h] {import} ...
positional arguments:
{import}
import Import users
options:
-h, --help show this help message and exit
gridcli users import
usage: gridcli users import [-h] [--note TEXT] FILE
positional arguments:
FILE CSV file containing users to import
options:
-h, --help show this help message and exit
--note TEXT note to attach to user
gridcli keys
usage: gridcli keys [-h]
options:
-h, --help show this help message and exit
gridcli key
usage: gridcli key [-h] {delete,add} ...
positional arguments:
{delete,add}
delete Delete a key
add Add a key
options:
-h, --help show this help message and exit
gridcli key delete
usage: gridcli key delete [-h] KEY
positional arguments:
KEY SSH key to delete
options:
-h, --help show this help message and exit
gridcli key add
usage: gridcli key add [-h] PATH [PATH ...]
positional arguments:
PATH Path to SSH key
options:
-h, --help show this help message and exit
gridcli images
usage: gridcli images [-h]
options:
-h, --help show this help message and exit
gridcli image
usage: gridcli image [-h] {public,private,push} ...
positional arguments:
{public,private,push}
public Make an image public
private Make an image private
push Push an image to one or more machines
options:
-h, --help show this help message and exit
gridcli image public
usage: gridcli image public [-h] NAME [NAME ...]
positional arguments:
NAME Image name
options:
-h, --help show this help message and exit
gridcli image private
usage: gridcli image private [-h] NAME [NAME ...]
positional arguments:
NAME Image name
options:
-h, --help show this help message and exit
gridcli image push
usage: gridcli image push [-h] [--async | --poll-interval SECONDS]
IMAGE MACHINE [MACHINE ...]
positional arguments:
IMAGE Image
MACHINE Machine
options:
-h, --help show this help message and exit
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli machines
usage: gridcli machines [-h]
options:
-h, --help show this help message and exit
gridcli machine
usage: gridcli machine [-h] {deploy,redeploy,release} ...
positional arguments:
{deploy,redeploy,release}
deploy Deploy machine
redeploy Re-deploy machine
release Release machine
options:
-h, --help show this help message and exit
gridcli machine deploy
usage: gridcli machine deploy [-h] [--force] [--async | --poll-interval SECONDS]
HOSTNAME [HOSTNAME ...]
positional arguments:
HOSTNAME Machine
options:
-h, --help show this help message and exit
--force Force deployment even if machine is in use
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli machine redeploy
usage: gridcli machine redeploy [-h] [--force]
[--async | --poll-interval SECONDS]
HOSTNAME [HOSTNAME ...]
positional arguments:
HOSTNAME Machine
options:
-h, --help show this help message and exit
--force Force deployment even if machine is in use
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli machine release
usage: gridcli machine release [-h] [--force]
[--async | --poll-interval SECONDS]
HOSTNAME [HOSTNAME ...]
positional arguments:
HOSTNAME Machine
options:
-h, --help show this help message and exit
--force Force deployment even if machine is in use
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli nodes
usage: gridcli nodes [-h] [--all]
options:
-h, --help show this help message and exit
--all Show all nodes
gridcli node
usage: gridcli node [-h] {profile,launch,stop,snapshot,update} ...
positional arguments:
{profile,launch,stop,snapshot,update}
profile Show LXC profile for node
launch Launch a container
stop Stop a container
snapshot Snapshot a container
update Update node's active instance's LXC config
options:
-h, --help show this help message and exit
gridcli node profile
usage: gridcli node profile [-h] [--user USER] NODE [NODE ...]
positional arguments:
NODE Node
options:
-h, --help show this help message and exit
--user USER User
gridcli node launch
usage: gridcli node launch [-h] [--remote-image] [--privileged | --unprivileged]
[--dragonradio-service | --no-dragonradio-service]
[--bridge | --no-bridge]
[--uhd {3.9.5,3.9.7,3.15.LTS,4.0.0.0,4.2.0.0} | --no-flash]
[--start TIME] [--duration DURATION | --no-duration]
[--user USERNAME] [--csv PATH] [--owner USER]
[--frequency FREQUENCY] [--bandwidth BANDWIDTH]
[--radio-conf PATH] [--traffic] [--no-traffic]
[--node-id ID | --set-node-ids]
[--async | --poll-interval SECONDS]
IMAGE NODE [NODE ...]
positional arguments:
IMAGE Image
NODE Node
options:
-h, --help show this help message and exit
--remote-image Allow remote images
--privileged Make container privileged
--unprivileged Make container unprivileged
--dragonradio-service
Keep the dragonradio service enabled
--no-dragonradio-service
Disable the dragonradio service
--bridge Add bridge interface to container
--no-bridge, --nobridge
Do not add bridge interface to container
--uhd {3.9.5,3.9.7,3.15.LTS,4.0.0.0,4.2.0.0}
UHD version to use for device flashing. If not
specified, use the Grid's default.
--no-flash, --noflash
Do not flash
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
Reservation scheduling options:
--start TIME Reservation start time. If not specified, start ASAP.
--duration DURATION Reservation duration.
--no-duration Reservation has unlimited duration.
Container user options:
--user USERNAME User given access to container
--csv PATH CSV file containing users to give access to container
--owner USER Container owner
RF options:
--frequency FREQUENCY
Set center frequency
--bandwidth BANDWIDTH
Set RF bandwidth
--radio-conf PATH Path to radio.conf
Traffic options:
--traffic Add traffic interface to container
--no-traffic Do not add traffic interface to container
Node options:
--node-id ID Set node ID
--set-node-ids Set node IDs incrementally, starting from 1
gridcli node stop
usage: gridcli node stop [-h] [--async | --poll-interval SECONDS]
NODE [NODE ...]
positional arguments:
NODE Node
options:
-h, --help show this help message and exit
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli node snapshot
usage: gridcli node snapshot [-h] [--async | --poll-interval SECONDS]
NODE SNAPSHOTNAME
positional arguments:
NODE Node
SNAPSHOTNAME Snapshot name
options:
-h, --help show this help message and exit
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli node update
usage: gridcli node update [-h] NODE
positional arguments:
NODE Node
options:
-h, --help show this help message and exit
gridcli devicescan
usage: gridcli devicescan [-h] [--image IMAGE] [--container CONTAINER]
[--vivado PATH] [--all-interfaces]
options:
-h, --help show this help message and exit
--image IMAGE LXC test image
--container CONTAINER
Container to use
--vivado PATH Path to Vivado Lab in the test image (default: the first
of /opt/Xilinx/Vivado_Lab/2021.1/bin/vivado_lab,
/opt/Xilinx/Vivado_Lab/2019.1/bin/vivado_lab that
exists)
--all-interfaces Scan all interfaces, including those without a carrier
gridcli flash
usage: gridcli flash [-h] [--image IMAGE] [--container CONTAINER]
[--vivado PATH]
FIRMWARE DEV [DEV ...]
positional arguments:
FIRMWARE Firmware to flash
DEV Device
options:
-h, --help show this help message and exit
--image IMAGE LXC test image
--container CONTAINER
Container to use
--vivado PATH Path to Vivado Lab in the test image (default: the first
of /opt/Xilinx/Vivado_Lab/2021.1/bin/vivado_lab,
/opt/Xilinx/Vivado_Lab/2019.1/bin/vivado_lab that
exists)
gridcli instances
usage: gridcli instances [-h]
options:
-h, --help show this help message and exit
gridcli reservations
usage: gridcli reservations [-h]
options:
-h, --help show this help message and exit
gridcli reservation
usage: gridcli reservation [-h] {schedule,submit,info,extend,stop} ...
positional arguments:
{schedule,submit,info,extend,stop}
schedule Schedule a reservation
submit Submit a reservation template
info Get reservation information
extend Extend a reservation
stop Stop a reservation
options:
-h, --help show this help message and exit
gridcli reservation schedule
usage: gridcli reservation schedule [-h] [--name NAME] [--remote-image]
[--privileged | --unprivileged]
[--dragonradio-service | --no-dragonradio-service]
[--bridge | --no-bridge]
[--uhd {3.9.5,3.9.7,3.15.LTS,4.0.0.0,4.2.0.0} | --no-flash]
[--start TIME]
[--duration DURATION | --no-duration]
[--user USERNAME] [--csv PATH]
[--owner USER] [--frequency FREQUENCY]
[--bandwidth BANDWIDTH] [--radio-conf PATH]
[--traffic] [--no-traffic]
[--node-id ID | --set-node-ids]
[--async | --poll-interval SECONDS]
IMAGE NODE [NODE ...]
positional arguments:
IMAGE Image
NODE Node
options:
-h, --help show this help message and exit
--name NAME Reservation name
--remote-image Allow remote images
--privileged Make container privileged
--unprivileged Make container unprivileged
--dragonradio-service
Keep the dragonradio service enabled
--no-dragonradio-service
Disable the dragonradio service
--bridge Add bridge interface to container
--no-bridge, --nobridge
Do not add bridge interface to container
--uhd {3.9.5,3.9.7,3.15.LTS,4.0.0.0,4.2.0.0}
UHD version to use for device flashing. If not
specified, use the Grid's default.
--no-flash, --noflash
Do not flash
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
Reservation scheduling options:
--start TIME Reservation start time. If not specified, start ASAP.
--duration DURATION Reservation duration.
--no-duration Reservation has unlimited duration.
Container user options:
--user USERNAME User given access to container
--csv PATH CSV file containing users to give access to container
--owner USER Container owner
RF options:
--frequency FREQUENCY
Set center frequency
--bandwidth BANDWIDTH
Set RF bandwidth
--radio-conf PATH Path to radio.conf
Traffic options:
--traffic Add traffic interface to container
--no-traffic Do not add traffic interface to container
Node options:
--node-id ID Set node ID
--set-node-ids Set node IDs incrementally, starting from 1
gridcli reservation submit
usage: gridcli reservation submit [-h] [--name NAME] [--image IMAGE]
[--remote-image]
[--privileged | --unprivileged]
[--batch | --no-batch]
[--dragonradio-service | --no-dragonradio-service]
[--bridge | --no-bridge]
[--uhd {3.9.5,3.9.7,3.15.LTS,4.0.0.0,4.2.0.0} | --no-flash]
[--start TIME]
[--duration DURATION | --no-duration]
[--user USERNAME] [--csv PATH] [--owner USER]
[--frequency FREQUENCY]
[--bandwidth BANDWIDTH] [--radio-conf PATH]
[--traffic] [--no-traffic]
[--async | --poll-interval SECONDS]
FILE
positional arguments:
FILE Reservation template
options:
-h, --help show this help message and exit
--name NAME Reservation name
--image IMAGE Reservation image
--remote-image Allow remote images
--privileged Make container privileged
--unprivileged Make container unprivileged
--batch Start container in batch mode
--no-batch, --nobatch
Do not start container in batch mode
--dragonradio-service
Keep the dragonradio service enabled
--no-dragonradio-service
Disable the dragonradio service
--bridge Add bridge interface to container
--no-bridge, --nobridge
Do not add bridge interface to container
--uhd {3.9.5,3.9.7,3.15.LTS,4.0.0.0,4.2.0.0}
UHD version to use for device flashing. If not
specified, use the Grid's default.
--no-flash, --noflash
Do not flash
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
Reservation scheduling options:
--start TIME Reservation start time. If not specified, start ASAP.
--duration DURATION Reservation duration.
--no-duration Reservation has unlimited duration.
Container user options:
--user USERNAME User given access to container
--csv PATH CSV file containing users to give access to container
--owner USER Container owner
RF options:
--frequency FREQUENCY
Set center frequency
--bandwidth BANDWIDTH
Set RF bandwidth
--radio-conf PATH Path to radio.conf
Traffic options:
--traffic Add traffic interface to container
--no-traffic Do not add traffic interface to container
gridcli reservation info
usage: gridcli reservation info [-h] [--config] [IDENT]
positional arguments:
IDENT Reservation ID or name
options:
-h, --help show this help message and exit
--config Show reservation configuration
gridcli reservation extend
usage: gridcli reservation extend [-h] [--duration DURATION]
[--async | --poll-interval SECONDS]
[IDENT]
positional arguments:
IDENT Reservation ID or name
options:
-h, --help show this help message and exit
--duration DURATION Amount by which to extend reservation.
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli reservation stop
usage: gridcli reservation stop [-h] [--async | --poll-interval SECONDS] [IDENT]
positional arguments:
IDENT Reservation ID or name
options:
-h, --help show this help message and exit
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli batch
usage: gridcli batch [-h] [--name NAME] [--image IMAGE] [--remote-image]
[--privileged | --unprivileged] [--batch | --no-batch]
[--dragonradio-service | --no-dragonradio-service]
[--bridge | --no-bridge]
[--uhd {3.9.5,3.9.7,3.15.LTS,4.0.0.0,4.2.0.0} | --no-flash]
[--start TIME] [--duration DURATION | --no-duration]
[--user USERNAME] [--csv PATH] [--owner USER]
[--frequency FREQUENCY] [--bandwidth BANDWIDTH]
[--radio-conf PATH] [--traffic] [--no-traffic]
[--async | --poll-interval SECONDS]
FILE
positional arguments:
FILE Reservation template
options:
-h, --help show this help message and exit
--name NAME Reservation name
--image IMAGE Reservation image
--remote-image Allow remote images
--privileged Make container privileged
--unprivileged Make container unprivileged
--batch Start container in batch mode
--no-batch, --nobatch
Do not start container in batch mode
--dragonradio-service
Keep the dragonradio service enabled
--no-dragonradio-service
Disable the dragonradio service
--bridge Add bridge interface to container
--no-bridge, --nobridge
Do not add bridge interface to container
--uhd {3.9.5,3.9.7,3.15.LTS,4.0.0.0,4.2.0.0}
UHD version to use for device flashing. If not
specified, use the Grid's default.
--no-flash, --noflash
Do not flash
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
Reservation scheduling options:
--start TIME Reservation start time. If not specified, start ASAP.
--duration DURATION Reservation duration.
--no-duration Reservation has unlimited duration.
Container user options:
--user USERNAME User given access to container
--csv PATH CSV file containing users to give access to container
--owner USER Container owner
RF options:
--frequency FREQUENCY
Set center frequency
--bandwidth BANDWIDTH
Set RF bandwidth
--radio-conf PATH Path to radio.conf
Traffic options:
--traffic Add traffic interface to container
--no-traffic Do not add traffic interface to container
gridcli settings
usage: gridcli settings [-h] {get,trafficgen} ...
positional arguments:
{get,trafficgen}
get Get settings
trafficgen Manipulate traffic generation image
options:
-h, --help show this help message and exit
gridcli settings get
usage: gridcli settings get [-h]
options:
-h, --help show this help message and exit
gridcli settings trafficgen
usage: gridcli settings trafficgen [-h] {get,set} ...
positional arguments:
{get,set}
get Get traffic generation image
set Set traffic generation image
options:
-h, --help show this help message and exit
gridcli settings trafficgen get
usage: gridcli settings trafficgen get [-h]
options:
-h, --help show this help message and exit
gridcli settings trafficgen set
usage: gridcli settings trafficgen set [-h] IMAGE
positional arguments:
IMAGE Image
options:
-h, --help show this help message and exit
gridcli tg
usage: gridcli tg [-h] {start,stop,info,scenarios} ...
positional arguments:
{start,stop,info,scenarios}
start Start a traffic session
stop Stop a traffic session
info Get traffic session information
scenarios List traffic scenarios
options:
-h, --help show this help message and exit
gridcli tg start
usage: gridcli tg start [-h] [--start TIME] [-m PATH] [--routes | --no-routes]
[--async | --poll-interval SECONDS]
SCENARIO [RESERVATION]
positional arguments:
SCENARIO Traffic scenario
RESERVATION Reservation
options:
-h, --help show this help message and exit
--start TIME Start time
-m PATH, --node-map PATH
Map from node name to scenario node
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
Dragon Radio routes:
--routes Add Dragon Radio-specific routes
--no-routes Do not add Dragon Radio-specific routes
gridcli tg stop
usage: gridcli tg stop [-h] [--async | --poll-interval SECONDS] [ID]
positional arguments:
ID Traffic session ID
options:
-h, --help show this help message and exit
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli tg info
usage: gridcli tg info [-h] [ID]
positional arguments:
ID Traffic session ID
options:
-h, --help show this help message and exit
gridcli tg scenarios
usage: gridcli tg scenarios [-h]
options:
-h, --help show this help message and exit
gridcli rf
usage: gridcli rf [-h] {start,scenarios} ...
positional arguments:
{start,scenarios}
start Start an RF session
scenarios List RF scenarios
options:
-h, --help show this help message and exit
gridcli rf start
usage: gridcli rf start [-h] [--start TIME] [-m PATH] [--duration DURATION | -c]
[--async | --poll-interval SECONDS]
SCENARIO [RESERVATION]
positional arguments:
SCENARIO RF scenario
RESERVATION Reservation
options:
-h, --help show this help message and exit
--start TIME Start time
-m PATH, --node-map PATH
Node map
--duration DURATION RF duration.
-c, --cycle Enable cyclic scenario repetition
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
gridcli rf scenarios
usage: gridcli rf scenarios [-h]
options:
-h, --help show this help message and exit
gridcli dyse
usage: gridcli dyse [-h] {config,restart} ...
positional arguments:
{config,restart}
config Get configuration
restart Restart the DYSE
options:
-h, --help show this help message and exit
gridcli dyse config
usage: gridcli dyse config [-h] {get,set} ...
positional arguments:
{get,set}
get Get configuration
set Set configuration
options:
-h, --help show this help message and exit
gridcli dyse config get
usage: gridcli dyse config get [-h]
options:
-h, --help show this help message and exit
gridcli dyse config set
usage: gridcli dyse config set [-h] PATH
positional arguments:
PATH Path to DYSE configuration in JSON or YAML format.
options:
-h, --help show this help message and exit
gridcli dyse restart
usage: gridcli dyse restart [-h] [--async | --poll-interval SECONDS] [--force]
options:
-h, --help show this help message and exit
--async Return immediately after queueing an asynchronous
operation
--poll-interval SECONDS
Seconds between operation status polls
--force Bypass DYSE restart backoff and attempt limits.
gridcli teams
usage: gridcli teams [-h] [--logos] [--active] [--inactive] {list,import} ...
positional arguments:
{list,import}
list List teams
import Import teams
options:
-h, --help show this help message and exit
--logos show team logos
--active Show only active teams.
--inactive Show only inactive teams.
gridcli teams list
usage: gridcli teams list [-h] [--logos] [--active] [--inactive]
options:
-h, --help show this help message and exit
--logos show team logos
--active Show only active teams.
--inactive Show only inactive teams.
gridcli teams import
usage: gridcli teams import [-h] [--logos PATH] [--term TERM]
[--include-inactive]
FILE
positional arguments:
FILE CSV or Excel file containing teams to import
options:
-h, --help show this help message and exit
--logos PATH Directory containing team logos
--term TERM Term, e.g., "Spring 2025"
--include-inactive Include inactive users in teams
gridcli competitions
usage: gridcli competitions [-h] [--active] [--inactive]
options:
-h, --help show this help message and exit
--active Show only active competitions.
--inactive Show only inactive competitions.
gridcli submissions
usage: gridcli submissions [-h]
options:
-h, --help show this help message and exit
gridcli submit
usage: gridcli submit [-h] [--team TEAM] [--radio-conf PATH] IMAGE COMPETITION
positional arguments:
IMAGE Image name
COMPETITION Competition ID, short name, or name
options:
-h, --help show this help message and exit
--team TEAM Team ID or name
--radio-conf PATH Path to radio.conf, or - for stdin