LAVA-SERVER(1)
π LAVA-SERVER π
okay so welcome to lava-server(1), straight out of the General Commands Manual β yes bestie, we're reading the actual manual page together, grab a snack π
β¨ NAME β¨
lava-server β lava-server command line support
πΈ SUMMARY πΈ
lava-server is a command-line management interface to a LAVA instance, and the Django database management tools for that instance. two jobs, one icon π
π USAGE π
lava-server manage subcommand [options] [args]
π«Ά COMMON OPTIONS π«Ά
Most of these options are imported from django and more information can be found in the django documentation. no cap, django is doing a lot of the heavy lifting here.
These options are supported for all subcommands.
-v VERBOSITY,--verbosity=VERBOSITYβ Verbosity level;0=minimal output,1=normal output,2=verbose output,3=very verbose output. yes there's a whole volume dial, use it ποΈ--settings=SETTINGSβ The Python path to a settings module, e.g."myproject.settings.main". If this isn't provided, theDJANGO_SETTINGS_MODULEenvironment variable will be used. so like, it'll go looking for it if you don't hand it one π¦--pythonpath=PYTHONPATHβ A directory to add to the Python path, e.g."/home/djangoprojects/myproject".--tracebackβ Print traceback on exception. when things go π you get the receipts.--versionβ show program's version number and exit.-h,--helpβ show this help message and exit.
π¦ SUBCOMMANDS π¦
Type lava-server manage help <subcommand> for help on a specific subcommand.
π AVAILABLE SUBCOMMANDS π
Type lava-server manage <subcommand> -h for help on an option available to a specific subcommand.
auth
changepassword
Change a user's password for django.contrib.auth.
Usage:
lava-server manage changepassword [options]
Options:
--database=DATABASEβ Specifies the database to use. Default is"default".
createsuperuser
Used to create a superuser. main character energy, fr fr π
Usage:
lava-server manage createsuperuser [options]
Options:
--username=USERNAMEβ Specifies the username for the superuser.--email=EMAILβ Specifies the email address for the superuser.--noinputβ Tells Django to NOT prompt the user for input of any kind. You must use--usernameand--emailwith--noinput, and superusers created with--noinputwill not be able to log in until they are given a valid password. read that again bestie, that's a whole trap door πͺπ--database=DATABASEβ Specifies the database to use. Default isdefault.
django
django functions change with releases of the django package. See the documentation for python-django. not us deciding, that's just how django moves π
lava_server
devices
Manage devices
positional arguments:
{add, details, list, set}
Sub commands:
add β Add a device
positional arguments:
hostnameβ Hostname of the device
optional arguments:
-h,--helpβ show this help message and exit--device-type DEVICE_TYPEβ Device type--description DESCRIPTIONβ Device description--dictionary DICTIONARYβ Device dictionary--offlineβ Create the device offline (online by default)--privateβ Make the device private (public by default)--worker WORKERβ The name of the worker--tags [TAGS [TAGS ...]]β List of tags to add to the device--physical-user PHYSICAL_USERβ Username of the user with physical access to the device--physical-group PHYSICAL_GROUPβ Name of the group with physical access to the device--owner OWNERβ Username of the user with ownership of the device--group GROUPβ Name of the group with ownership of the device
copy β Copy an existing device as a new device
positional arguments:
originalβ Hostname of the existing devicetargetβ Hostname of the device to create
optional arguments:
-h,--helpβ show this help message and exit--offlineβ Create the device offline (online by default)--privateβ Make the device private (public by default)--worker WORKERβ The name of the worker--copy-with-tagsβ Set all the tags of the original device on the target device
details β Details about a device
positional arguments:
hostnameβ Hostname of the device
list β List the installed devices
optional arguments:
-h,--helpβ show this help message and exit--state {IDLE,RESERVED,RUNNING}β Show only devices with the given state--all,-aβ Show all devices, including retired ones--health {GOOD,UNKNOWN,LOOPING,BAD,MAINTENANCE,RETIRED}β Show only devices with the given health--csvβ Print as csv--all,-aβ Show all devices, including retired ones--status {OFFLINE, IDLE, RUNNING, OFFLINING, RETIRED, RESERVED}β Show only devices with this status--csvβ Print as csv
ngl that list really said the same thing twice and I'm just here respecting it π«Ά--all,-aand--csvgenuinely show up twice in the page, so they show up twice here. no notes.
update β Update device details
positional arguments:
hostnameβ Hostname of the device
optional arguments:
-h,--helpβ show this help message and exit--description DESCRIPTIONβ Set the description--health {GOOD,UNKNOWN,LOOPING,BAD,MAINTENANCE,RETIRED}β Update the device health--worker WORKERβ Update the worker--publicβ make the device public--privateβ Make the device private--physical-user PHYSICAL_USERβ Username of the user with physical access to the device--physical-group PHYSICAL_GROUPβ Name of the group with physical access to the device--owner OWNERβ Username of the user with ownership of the device--group GROUPβ Name of the group with ownership of the device
device-types
Manage device types according to which templates are available and which device-types are defined in the database. When counting the number of devices, Retired devices are included. okay noted, they still count β¨
positional arguments:
{add, details, list, update}
Sub commands:
add β Add V2 device type(s) to the database.
positional arguments:
device-typeβ The device type name. Passing'*'will add all known V2 device types. yes, the little star really does mean all of them π«
optional arguments:
-h,--helpβ show this help message and exit
alias: Only supported when creating a single device-type
--alias ALIASβ Name of an alias for this device-type.
health check: Only supported when creating a single device-type
--health-frequency HEALTH_FREQUENCYβ How often to run health checks.--health-denominator {hours, jobs}β Initiate health checks by hours or by jobs.
details β Details about a device-type
so we were mid-subcommand, and the tea continues like this π
device-types β the rest of the roster π
for the device-type details command, you get:
- positional arguments:
nameβ Name of the device-type
- optional arguments:
-h,--helpβ show this help message and exit--devicesβ Print the corresponding devices
then list is like:
list β List the installed device types
- optional arguments:
-h,--helpβ show this help message and exit--all,-aβ Show all device types in the database, including types not currently installed.--csvβ Print as csv
and update does the thing:
update β Update an existing V2 device type in the database
- positional arguments:
device-typeβ The device type name.
- optional arguments:
-h,--helpβ show this help message and exit
- alias:
--alias ALIASβ Name of an alias for this device-type.
now the jobs era:
jobs β Manage jobs πΌ
- positional arguments:
{compress,fail,rm,validate} - Sub commands:
compress β Compress job logs
- optional arguments:
-h,--helpβ show this help message and exit--newer-than NEWER_THANβ Compress jobs newer than this. The time is of the form:1h(one hour) or2d(two days). By default, all jobs will be compressed.--older-than OLDER_THANβ Compress jobs older than this. The time is of the form:1h(one hour) or2d(two days). By default, all jobs logs will be compressed.--submitter SUBMITTERβ Filter jobs by submitter--dry-runβ Do not compress any logs, simulate the output--slowβ Be nice with the system by sleeping regularly
fail β Fail the given canceled job
- positional arguments:
job_idβ job id
- optional arguments:
-h,--helpβ show this help message and exit
rm β Remove the jobs
- optional arguments:
-h,--helpβ show this help message and exit--older-than OLDER_THANβ Remove jobs older than this. The time is of the form:1h(one hour) or2d(two days). By default, all jobs will be removed.--state {SUBMITTED,SCHEDULING,SCHEDULED,RUNNING,CANCELING,FINISHED}β Filter by job state--submitter SUBMITTERβ Filter jobs by submitter--dry-runβ Do not remove any data, simulate the output--slowβ Be nice with the system by sleeping regularly
validate β Validate job definition
- optional arguments:
-h,--helpβ show this help message and exit--mail-adminsβ Send a mail to the admins with a list of failing jobs--submitter SUBMITTERβ Filter jobs by submitter--newer-than NEWER_THANβ Validate jobs newer than this. The time is of the form:1h(one hour) or2d(two days). By default, only jobs in the last 24 hours will be validated.--strictβ If set to True, the validator will reject any extra keys that are present in the job definition but not defined in the schema
now the workers section, where the real ones hang:
workers β Manage workers π·
- position arguments:
{add, details, list, update} - Sub commands:
add β Create a worker
- positional arguments:
hostnameβ Hostname of the worker
- optional arguments:
-h,--helpβ show this help message and exit--description DESCRIPTIONβ Worker description--health {ACTIVE,MAINTENANCE,RETIRED}β Worker health
details β Details of a worker
- positional arguments:
hostnameβ Hostname of the worker
- optional arguments:
-h,--helpβ show this help message and exit--devicesβ Print the list of attached devices
list β List the workers
- optional arguments:
-h,--helpβ show this help message and exit-a,--allβ Show all workers (including retired ones)--csvβ Print as csv
update β Update worker properties
- positional arguments:
hostnameβ Hostname of the worker
- optional arguments:
-h,--helpβ show this help message and exit--description DESCRIPTIONβ Worker description--health {ACTIVE,MAINTENANCE,RETIRED}β Set worker health
and then the test one, aka the vibe check for your apps:
test β Runs the test suite for the specified applications, or the entire site if no apps are specified. π§ͺ
Usage:
lava-server manage test [options] [appname ...]
Options:
--noinputβ Tells Django to NOT prompt the user for input of any kind.--failfastβ Tells Django to stop running the test suite after first failed test.--testrunner TESTRUNNERβ Tells Django to use specified test runner class instead of the one specified by theTEST_RUNNERsetting.--liveserver LIVESERVERβ Overrides the default address where the live server (used withLiveServerTestCase) is expected to run from. The default value islocalhost:8081.
π BUGS π
if your bug is about a specific type of device, bestie, please include all the configuration details for that device type, plus the job submission and as much of the LAVA test job log file as you can (like a compressed file attached to the bug report).
and if your device type is not one that already exists on LAVA instances, please supply as much information as you can about the board itself.
π«Ά CONTRIBUTING UPSTREAM π«Ά
if you wanna contribute, go check out https://docs.lavasoftware.org/lava/contribution.html.
if you're thinking about big changes, the best move is to subscribe to the Linaro Validation mailing list at:
http://lists.lavasoftware.org/mailman/listinfo/lava-users
also come talk to us on IRC:
irc.libera.chat
#lavasoftware
π AUTHOR π
Linaro Validation Team
π COPYRIGHT π
2010-2023, Linaro Limited
that's the whole page, no cap. this was LAVA-SERVER(1) from 2023.01, dated January 23, 2023 β go be iconic, you Unix gremlin π
β¨
π¦ where this page comes from
- debian bookworm: lava-server 2023.01-2 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms