Go to file
Alejandro Sirgo Rica 740b2eab60 utils: place dictionary and list at the end of the json tree
Place dictionaries and lists at the end of the payload to improve
readability when it has a lot of nested components.

Remove and add again every element of type list or dict within a
dict or list in the payload.
Python dictionaries preserve insertion order from 3.7 onwardsi so
it is safe to reorder them by removing and readding an element.
2024-07-09 16:48:29 +02:00
cfg Add ip and port parameters to config 2020-06-19 12:49:49 +02:00
cli utils: place dictionary and list at the end of the json tree 2024-07-09 16:48:29 +02:00
examples change 'ogcli send' command into 'ogcli request' 2024-03-04 09:58:41 +01:00
.gitignore repository: improve .gitignore syntax 2024-02-13 12:12:43 +01:00
COPYING First commit 2020-06-18 16:44:08 +02:00
README.md README: add setup example and update commands 2022-05-20 08:54:12 +02:00
ogcli ogcli: really ignore SIGPIPE 2024-01-04 11:59:06 +01:00

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 ogServer
  • client: Any specific client
  • disk: Client's disks
  • images: Partition images
  • modes: Network boot modes
  • hardware: Hardware profiles
  • scopes: 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

Authors

Soleta Networks