Go to file
Javier Hernandez 4bf4f91f54 client: support for adding clients
Add a new client with command:

$ ogcli add client --repo-id <repo id>
      --netmask <netmask>
      --room-id <room id>
      --hostname <hostname>
      --mac <mac address>
      --ip <ip address>
      --boot-mode <boot mode>

For example: To add a new client with hostname "javipc", netmask
255.255.255.0, mac address a2:54:00:2e:05:7a, ip address 192.168.56.101,
assign it to repo id 1, room id 1 and set its boot mode to oglive
use:

$ ogcli add client --hostname javipc --netmask 255.255.255.0 --mac
a2:54:00:2e:05:7a --ip 192.168.56.101 --repo-id 1 --room-id 1
--boot-mode oglive

Notes:

- ogserver API REST json payload does not allow to specify a server
  (table 'entorno') for the client. It will automatically assign
  client to server with id 1

- ogserver API REST json payload specifies mac address without ':'.

- payload must contain 'netiface', ogcli specifies 'eth0' is specified
  which is the default value in netiface column in db (table 'ordenadores')

- netdriver column uses "generic" as default, this field is not used
  anymore, but it is set to "generic" by now.

- ogserver should validate that boot mode set is correct.
2023-10-27 11:57:25 +02:00
cfg Add ip and port parameters to config 2020-06-19 12:49:49 +02:00
cli client: support for adding clients 2023-10-27 11:57:25 +02:00
examples examples: add examples folder 2022-11-13 18:49:59 +01:00
.gitignore add .gitignore 2020-06-18 16:53:41 +02: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: improve handling of subcommand errors 2023-10-06 10:49:10 +02: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