summaryrefslogtreecommitdiffstats
path: root/cli/objects/images.py
Commit message (Collapse)AuthorAgeFilesLines
* cli: ensure the program returns 0 on success and 1 on errorAlejandro Sirgo Rica10 days1-35/+47
| | | | | | | | | | propagate a returncode in each operation and make it the returncode of the program. Prevent sys.exit calls in post(), get() and delete() request handlers to enable cleanup code and error handling. Keep a basic error log inside the request functions if the connection can't be established or if the response contains an error code.
* images: missing curly brace in image commandv0.3.3-12OpenGnSys Support Team2024-09-031-1/+1
|
* images: remove --repo for image createOpenGnSys Support Team2024-09-021-10/+9
| | | | | get repository id through GET /client/info, check that all the clients belong to the same repository.
* cli: remove accents in image namev0.3.3-10Alejandro Sirgo Rica2024-08-211-1/+2
| | | | Remove accents in the --name argument of the create image command.
* objects: fix restore image default repo valueAlejandro Sirgo Rica2024-07-041-1/+25
| | | | | Obtain the image's repository from the API REST. Don't send 127.0.0.1 as image server when --repo is not defined.
* images: update command requires string id in serverOpenGnSys Support Team2024-06-171-1/+1
| | | | ogserver expects a string as an id, otherwise it fails to parse it.
* improve missing clients error reporting in multiple commandsAlejandro Sirgo Rica2024-03-041-1/+1
| | | | | All the commands that need target clients now have a more descriptive error message when the clients of the command are missing.
* ogcli: validate integer type in every --id argumentAlejandro Sirgo Rica2024-02-051-0/+1
| | | | missing validation of --id, user needs to supply an integer
* src: update copyright statementOpenGnSys Support Team2024-01-021-1/+1
| | | | use opengnsys@soleta.eu email instead of info@soleta.eu
* images: Remove option to specify repoJavier Hernandez2023-12-211-13/+4
| | | | | | | | | | | Remove option to specify a repository when creating an image. Remove option to specify a repository when updating an image. These features is are not yet supported in ogserver. With this commit, the image that is created/updated is assigned to the same repo the client is assigned
* images: use new POST image/updatev0.3.3-4OpenGnSys Support Team2023-12-191-1/+1
| | | | use POST image/update when updating an image.
* images: change --repo help messageJose M. Guisado2023-10-121-1/+1
|
* objects: add missing prog parameter in subcommandsJose M. Guisado2023-10-051-3/+3
| | | | | | | | | | | | | The specific subcommand name is missing in some of the subcommands help message. For example: $ ogcli list hardware usage: ogcli [-h] --client-ip CLIENT_IP ogcli: error: the following arguments are required: --client-ip Fix this by adding the missing prog= parameter so argparse use this instead of argv[0]. If no prog parameter is specified then argv[0] is printed (i.e: "ogcli").
* update image: add optional --backup parameterv0.3Jose M. Guisado2023-07-201-5/+11
| | | | | | | | | | Add support for backup image file when running the image update command. For this optional parameter to be useful, the target ogServer and ogClient must also support the 'backup' parameter. See commits: ogServer 74b6e3ec7275164e2ecbf6f98b24357b2a9bb174 ogClient 035995fc8c55740693575ca5f7b408bfc46c1f7d
* create image: split into create and updatev0.2Jose M. Guisado2022-10-201-3/+71
| | | | | | | | | | | | | | | | | | | | Image creation example: ogcli create image --disk --part 1 --name 18oct2 --desc 18oct2 --repo-id 1 --client-ip 192.168.56.11 Image update example: ogcli update image --disk 1 --part 1 --id 20 --client-ip 192.168.56.11
* create image: add repository_id param for new imagesJose M. Guisado2022-06-281-4/+5
| | | | | | | | | | Adds 'repository_id' parameter when creating a *new* image (ie: using --desc). Removes unused --repo parameter. See ogServer commit: 52a38d3e574fb25b47d230bc87754583eb17b4a6 ("Use the repository id on image creation")
* create image: --client-ip option is requiredJose M. Guisado2022-05-311-1/+1
| | | | | | --client-ip option is required when parsing a 'create image' command, it is the only client selection option for 'create image' command.
* format: use autopep8Jose M. Guisado2022-05-201-135/+139
| | | | | | | | | | | | | | Use autopep8 for coding format, and only for whitespace changes. This change drops use of tabs in favor of spaces. Doesn't use autopep8 --aggresive option. Format command: $ autopep8 --inline --recursive . When using git-blame, use --ignore-rev in order to ignore this reformatting commit.
* utils: add print_jsonJose M. Guisado2022-05-171-1/+1
| | | | | | | | | Adds a pretty printing function for JSON data. Replaces print for print_json in corresponding cli objects. Follows commit 828d6c0ce7d4a6b4bcd95e97155460fd59856bdd ("list scopes: pretty print scope tree")
* create image: fix --repo default ip valueJose M. Guisado2022-05-161-1/+1
| | | | | | | | | | | rest.URL is the ip and port of the ogServer like: 192.168.56.10:8888, specified in ogcli.json. As long as the host and port is specified in rest.URL, split by the ':' character and extract the ip. Fixes OpenGnsys clients failing to execute the command due to invalid repository IP being fed to the underlying bash scripts.
* restore image: add tiptorrent transfer methodJose M. Guisado2022-05-161-3/+4
| | | | | Makes --type optional, defaults to tiptorrent when option is missing.
* create image: make --desc option optionalJose M. Guisado2022-05-101-3/+6
| | | | | | | | | | --desc option is used only when creating a new image. A new image is any image that is not defined in the OpenGnsys DB. See commit d2f20d0be06617f421eecca111449d94672695eb (#942 Create DB image when calling POST /image/create)
* ogCLI is AGPLv3+OpenGnSys Support Team2021-05-141-4/+3
| | | | Update license header in files.
* Add 'create image'Jose M. Guisado2021-04-061-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | Enables creation of images using /image/create from ogServer API. Summary of the options: --disk Disk number --part Partition number --name Image name which will be used for the .img file. --desc Description of the image. This option enables ogServer to store an entry in the database regarding this image. --repo Optional. Holds the ip address of the repo which will store the created image. Defaults to ogserver address specified inside ogcli.json --client-ip Client ip for which we want to create a partition image
* Fix fallback --repo value in 'restore image'Jose M. Guisado2021-03-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | '--repo' was an optional argument to specify the ip of the machine holding the image to be restored. In case it was not specified it defaults to the ip specified inside ogcli.json for the ogServer (ie. As fallback, we assume the repo is in the same machine as the ogServer) We retrieve the ip using urlparse from urllib.parse module. The parse result has a 'netloc' member which holds the ip, but also any specified port. This resulted in a payload like: > ogcli restore image --id 3 --disk 1 --part 1 --type unicast-direct --client-ip 192.168.56.11 {"disk": "1", "partition": "1", "id": "1", "name": "pc11bak", "profile": "3", "repository": "192.168.56.10:8888", "type": "UNICAST-DIRECT", "clients": ["192.168.56.11"]} Split netloc to avoid copying the ogServer port.
* Add 'restore image' commandJose M. Guisado2021-03-301-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds cli capability to send image restore commands to the ogServer. It has the following options: --id To specify image id --disk Target disk --part Target partition --type To specify type of restore to send. UNICAST-DIRECT or UNICAST-CACHE are supported as of this patch. --repo Optional argument to specify image repo to fetch the image. This applies for UNICAST-DIRECT cases. (not restoring from a cache partition). If not specified it will default to rest.URL ip (ie. ogServer ip) --client-ip, --room-id and --center-id Target client args
* Add list imagesJose M. Guisado2021-03-301-0/+14
ogServer exposes a list of known partition images at /images, use it to implement 'list images' command.