mirror of https://git.48k.eu/ogcli/
# ogcli list scope | less ... leave it open for one minute, then press 'q' to exit less it shows: Traceback (most recent call last): File "/usr/bin/ogcli", line 60, in <module> CLI() File "/usr/bin/ogcli", line 56, in __init__ getattr(self.ogcli, args.command)(sys.argv[2:]) File "/opt/opengnsys/bin/cli/cli.py", line 93, in list OgScope.list_scopes(self.rest) File "/opt/opengnsys/bin/cli/objects/scopes.py", line 18, in list_scopes print_json(r.text) File "/opt/opengnsys/bin/cli/utils.py", line 34, in print_json print(json.dumps(payload, sort_keys=True, indent=2)) BrokenPipeError: [Errno 32] Broken pipe It seems that the request library in python leaves the socket open while it still displays the listing. Ignore SIGPIPE which reports that socket is not there anymore, it is a common practise to ignore this signal in socket. |
||
---|---|---|
cfg | ||
cli | ||
examples | ||
.gitignore | ||
COPYING | ||
README.md | ||
ogcli |
README.md
ogCLI
Manage your OpenGnsys environment from your command line. A CLI for the ogServer REST API.
Installation
This tool is expected to be executed from the OpenGnsys installation environment.
Before running any command copy ogcli.json
inside /opt/opengnsys/etc/
Usage
ogcli {command} {object} [{command object options}]
Commands
usage: ogcli [-h] [{create,list,restore,send,set,setup}]
positional arguments:
{create,list,restore,send,set,setup}
Subcommand to run
options:
-h, --help show this help message and exit
create
Create images.
usage: ogcli create [-h] {image}
positional arguments:
{image}
options:
-h, --help show this help message and exit
list
You can list currently connected clients, disk, scope tree, boot modes, hardware/software profiles, images, and specific client information.
usage: ogcli list [-h] {clients,scopes,modes,hardware,client,images,disks}
positional arguments:
{clients,scopes,modes,hardware,client,images,disks}
options:
-h, --help show this help message and exit
restore
Restore an image partition
usage: ogcli restore [-h] {image}
positional arguments:
{image}
options:
-h, --help show this help message and exit
send
Send WoL, poweroff or refresh to a given scope.
usage: ogcli send [-h] {wol,poweroff,refresh}
positional arguments:
{wol,poweroff,refresh}
options:
-h, --help show this help message and exit
set
Set properties of the managed computers.
You can modify boot mode using set
.
usage: ogcli set [-h] {modes}
positional arguments:
{modes}
positional arguments:
{modes}
optional arguments:
-h, --help show this help message and exit
setup
Setup disks of a given scope
usage: ogcli setup [-h] {disk}
positional arguments:
{disk}
options:
-h, --help show this help message and exit
Objects
They are subject to the specified command.
clients
: Currently connected clients to the ogServerclient
: Any specific clientdisk
: Client's disksimages
: Partition imagesmodes
: Network boot modeshardware
: Hardware profilesscopes
: Scope tree of managed computers, rooms and centers.
Examples
Client setup
DOS/MBR, first partition: 40G Linux/ext4, also add a 10G OpenGnsys cache partition. Format each partition.
ogcli setup disk --type dos --part 1,LINUX,EXT4,40G --part 4,CACHE,CACHE,10G --format 1,4 --client-ip 192.168.56.11
Changing the boot mode of computers in a particular classroom
Fetching a classroom id
ogcli list scopes
{'scope': [{'name': 'Unidad Organizativa (Default)', 'type': 'center', 'id': 1, 'scope': [{'name': 'Aula virtual', 'type': 'room', 'id': 1, ...
Fetching net boot modes
ogcli list modes
{'modes': ['11', 'pxe', '00unknown', '19pxeADMIN', '13', '10', '12']}
Changing boot mode of the classroom
ogcli set modes --room-id 1 --mode pxe
License
ogCLI is released under the GNU Affero Public License v3