| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
program name of subsequent parsers after the first one need their
"prog=" parameter specified so they do not show sys.argv[0] only.
With this patch, for example:
ogcli list --help
Shows:
usage: ogcli list [-h] {clients,scopes,modes,hardware,client}
...
Instead of:
usage: ogcli [-h] {clients,scopes,modes,hardware,client}
...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Builds a json payload to consume the ogServer API to send
WoL packets.
Adds 'send' as a command:
ogcli send
Adds a wol object for to the 'send' command, so that sending a wol can
be specified as:
ogcli send wol
* WoL packet type is specified with --type option.
* Specifying targets follows same parameters as 'set modes' with:
--client-ip
--room-id
--center-id
|
|
|
|
|
|
|
|
| |
Move auxiliary code that will be used by several objects. In this case,
scope filtering and searching by id is going to be used by 'send wol'
too.
Avoid duplicating this code creating utils.py
|
|
|
|
|
|
|
|
| |
r.json() decodes the responses json and passes it to json.loads() which
will convert the content into a python dictionary.
Print the literal JSON text so that output can be further manipulated by
other tools like jq.
|
|
|
|
|
|
|
|
|
| |
Non specific parameter names like '--center' or '--client' should not be
used to specify an ip or id, only a literal name.
Rename --client to --client-ip and --center to --center-id to leave
unspecific parameters free to later implement --center or --client using
names.
|
| |
|
|
|
|
| |
--room will be used to specify the room name instead of the id.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New arguments to make specifying the target machines more flexible when
changing their boot mode (known as "set client mode"). These argument
are optional although any of them must be used to specify some target.
--client IP
--room id
--center id
The arguments can be specified several times like "--client ip --client
ip --room id --room id --room id", etc.
Center or room id can be obtained via /scopes.
As of this patch, set_modes does iterate through the whole /scopes
output and then filters ips with those that were specified by user.
|
|
|
|
|
|
|
|
|
|
| |
get_client_properties is not using a valid API resource to fetch
computer details. Use /client/info.
list_client_hardware is not building a valid payload. Drop
payload building using 'scope' as key and updates o that its
uses "{ client : ip }" scheme for specifying a client. This is the
standard way of specifying a client in ogServer.
|
|
|
|
|
|
|
|
|
| |
This reworks the POST /mode command to the new API:
POST /mode
{
'clients': ['192.168.1.5', '192.168.1.6']
'mode': 'pxe'
}
|
|
|
|
| |
This adapts to the ogServer.
|
|
|
|
|
|
|
|
|
|
| |
This patch adapts the command to the fixed POST /modes request. It can
now be called with something like: ogcli set modes --scope-name=pc12
--mode=pxe
NOTE: This inherits from the legacy setclientmode script and requires
scope names to be unique. This should be fixed in the future in case
it's convenient to have duplicated scope names.
|
|
|
|
|
|
|
|
| |
This requests GET /client/properties by calling something like:
ogcli list client --id=6
It is important to notice that 'id' must be a "computer" type
scope id.
|
|
|
|
|
|
|
| |
This requests GET /hardware by calling something like:
ogcli list hardware --scope-id=6
It is important to notice that 'scope-id' must be a "computer" type scope id.
|
|
|
|
|
|
|
| |
Instead of using query strings we use a json body for GET HTTP requests. This is
allowed under RFCs 7230-7237.
https://stackoverflow.com/questions/978061/http-get-with-request-body
|
|
|
|
|
| |
This requests POST /modes and changes a scope mode by calling something like:
ogcli set modes --scope-id=1 --scope-type=computer --mode=pxe
|
|
|
|
| |
This is a wrapper that provides HTTP POST requests.
|
|
|
|
| |
This uses python3 and improves portability by using '/usr/bin/env'.
|
| |
|
|
|
|
|
| |
This prefix is redundant on almost every file, so the prefix is removed from
filenames and imports.
|
|
|
|
| |
This is consistent with HTTP GET /modes
|
|
|
|
|
| |
In case a required config param is not in ogcli.json config file, this exits
the program with an error code.
|
|
|
|
| |
This is consistent with HTTP GET /scopes
|
|
|
|
| |
These are the ip and port of the ogServer.
|
|
|
|
|
|
|
| |
This commit:
- Adds OgREST class as a wrapper for HTTP REST requests.
- Adds objects folder which will contain available functions for each object in
the OpenGnsys ecosystem (e.g. client, image, etc.).
|
| |
|
|
|
|
| |
Add configuration file template.
|
|
Add basic OgCLI structure.
|