Roberto Hueso Gómez
20f935bb65
#915 Add test for POST /image/restore/basic REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
b5722de3fb
#915 Add test for POST /image/create/incremental REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
713070ab10
#915 Add test for POST /image/create/basic REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
1436d44cc6
#915 Add test for POST /image/setup REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
ba3b1ad543
#915 Add test for POST /image/restore REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
b4d2890460
#915 Add test for POST /image/create REST API
...
This test covers 3 scenarios:
1. Correct usage.
2. Incorrect usage, without payload.
3. Incorrect usage, use this command with GET.
2019-10-31 13:18:48 +01:00
Roberto Hueso Gómez
723f110308
#915 Use og_cmd_legacy_send in og_cmd_run_schedule for ogAdmServer
...
This patch simplifies the og_cmd_run_schedule function by calling
og_cmd_legacy_send.
2019-10-29 14:22:08 +01:00
Roberto Hueso Gómez
2f7e9da5ab
#915 Add POST "run/schedule" command to REST API in ogAdmServer
...
This patch implements the command "run/schedule" that kicks in pending commands
execution.
Request:
POST /run/schedule
{
"clients": ["192.168.56.11"]
}
Reply:
200 OK
This patch also adds a simple test to cover correction of the command.
2019-10-25 14:12:09 +02:00
Javier Sánchez Parra
61bbcd9251
#915 Fix POST "software" cmd in ogAdmServer and web
...
This patch adds the parameters "disk" and "partition" to
POST "software" command. This way the client can create a software
profile without failure.
New request:
POST /software
{
"clients":[
"192.168.56.12"
],
"disk":"1",
"partition":"1"
}
Reply:
200 OK
2019-10-11 13:45:15 +02:00
Javier Sánchez Parra
90672e4a25
#915 Add test for POST /image/restore/incremental command
...
This test covers correction of the command.
2019-10-11 11:57:08 +02:00
Javier Sánchez Parra
d52c6d085a
#915 Add POST "image/restore/incremental" command to REST API in ogAdmServer
...
This patch implements the command "image/restore/incremental" that provides
partitioning and formatting functionality.
Request:
POST /image/restore/incremental
{
"clients":[
"192.168.56.11",
"192.168.56.12"
],
"disk":"1",
"partition":"1",
"id":"8",
"name":"test",
"repository":"192.168.56.10",
"profile":"25",
"type":"MULTICAST_9000:full-duplex:239.194.2.11:70M:4:60",
"sync_params":{
"diff_id":"10",
"diff_name":"testdiff",
"path":"",
"method":"1",
"sync":"2",
"diff":"0",
"remove":"1",
"compress":"0",
"cleanup":"0",
"cache":"0",
"cleanup_cache":"0",
"remove_dst":"0"
}
}
Reply:
200 OK
2019-10-11 11:57:08 +02:00
Roberto Hueso Gómez
45f414e32c
#915 Add test for POST "image/create/incremental" command
...
This test covers correction of the command.
2019-10-11 11:57:08 +02:00
Roberto Hueso Gómez
43c7da8a72
#915 Add POST "image/create/incremental" command to REST API in ogAdmServer
...
This patch implements the command "image/create/incremental".
Request:
{"clients":["192.168.56.11"],
"disk":"1",
"partition":"1",
"id":"3",
"name":"basica1",
"repository":"192.168.56.10",
"sync_params":{"sync":"1",
"path":"",
"diff":"0",
"diff_id":"4",
"diff_name":"p2",
"remove":"1",
"compress":"0",
"cleanup":"0",
"cache":"0",
"cleanup_cache":"0",
"remove_dst":"0"
}
}
Reply:
200 OK
2019-10-11 11:57:08 +02:00
Javier Sánchez Parra
17eeac1284
#915 Add test for POST /image/restore/basic command
...
This test covers correction of the command.
2019-10-09 15:27:59 +02:00
Javier Sánchez Parra
f61fd9a488
#915 Add POST "image/restore/basic" command to REST API in ogAdmServer
...
This patch implements the command "image/restore/basic" that provides
partitioning and formatting functionality.
Request:
POST /image/restore/basic
{
"clients":[
"192.168.56.11"
],
"disk":"1",
"partition":"1",
"id":"9",
"name":"test",
"repository":"192.168.56.10",
"profile":"17",
"type":"UNICAST",
"sync_params":{
"path":"",
"method":"1",
"sync":"1",
"diff":"0",
"remove":"1",
"compress":"0",
"cleanup":"0",
"cache":"0",
"cleanup_cache":"0",
"remove_dst":"0"
}
}
Reply:
200 OK
2019-10-09 15:27:59 +02:00
Javier Sánchez Parra
74061887ee
#915 Add test for POST /image/create/basic command
...
This test covers correction of the command.
2019-10-08 14:01:14 +02:00
Javier Sánchez Parra
01e77f4cb2
#915 Add POST "image/create/basic" command to REST API in ogAdmServer
...
This patch implements the command "image/create/basic" that provides
partitioning and formatting functionality.
Request:
POST /image/create/basic
{
"clients":[
"192.168.56.11"
],
"disk":"1",
"partition":"1",
"code":"131",
"id":"8",
"name":"debianbasica",
"repository":"192.168.56.10",
"sync_params":{
"sync":"1",
"diff":"0",
"remove":"1",
"compress":"0",
"cleanup":"0",
"cache":"0",
"cleanup_cache":"0",
"remove_dst":"0"
}
}
Reply:
200 OK
2019-10-08 14:00:47 +02:00
Roberto Hueso Gómez
e3af7eed4d
#915 Improve error management for og_json_parse_partition()
...
Validate json input and return an error code when parsing is not correct.
2019-10-07 12:54:53 +02:00
Roberto Hueso Gómez
ad4d4bdbbe
Add test for POST /image/create command
...
This test covers correction of the command.
2019-10-07 11:15:28 +02:00
Roberto Hueso Gómez
dbcc83daa5
#915 Add POST "image/setup" command to REST API in ogAdmServer
...
This patch implements the command "image/setup" that provides partitioning and
formatting functionality.
Request:
POST /image/setup
{ "clients" : [ "192.168.56.11" ], "disk" : "1", "cache" : "1", "cache_size" : "0",
"partition_setup":
[{"partition": "1", "code": "LINUX", "filesystem": "EMPTY", "size": "498688", "format": "0"},
{"partition": "2", "code": "LINUX-SWAP", "filesystem": "EMPTY", "size": "199987", "format": "0"},
{"partition": "3", "code": "LINUX", "filesystem": "EMPTY", "size": "31053824", "format": "0"},
{"partition": "4", "code": "EMPTY", "filesystem": "EMPTY", "size": "0", "format": "0"}]}
Reply:
200 OK
2019-10-07 11:14:41 +02:00
OpenGnSys Support Team
e6cfd83323
#915 Remove Apagar, CrearImagen, RestaurarImagen, InventarioHardware, InventarioSoftware
...
These socketHidra calls have been replaced by the REST API, remove them.
2019-10-03 11:34:02 +02:00
OpenGnSys Support Team
e5cfdd6406
#915 : adapt test to use id and profile fields
...
Update restore_image.json to use id and profile fields.
2019-10-01 12:59:50 +02:00
Roberto Hueso Gómez
1dde02e1ab
#915 : Add POST /image/restore command to REST API in ogAdmServer
...
This patch implements the command "image/create" that creates an image
in a client.
Request:
POST /image/restore
{ "clients" : [ "192.168.56.11" ], "disk" : "1", "partition" : "1", "name" : "test", "repository" : "192.168.56.10", "type" : "UNICAST", "filesystem": "1", "image_id": "1"}
Reply:
200 OK
2019-10-01 12:56:10 +02:00
Roberto Hueso Gómez
c87a1dbdfb
#915 : add og_json_parse_string() and use it
...
This patch avoids repeating similar code by using just one json parser.
2019-10-01 12:56:10 +02:00
Roberto Hueso Gómez
1a8ada191f
#915 : Add POST /image/create command to REST API in ogAdmServer
...
This patch implements the command "image/create" that creates an image
in a client.
Request:
POST /image/create
{ "clients" : [ "192.168.2.1" ], "disk" : "1", "partition" : "1", "code" : "1", "id" : "1", "name" : "test", "repository" : "192.168.2.2" }
Reply:
200 OK
2019-10-01 12:56:10 +02:00
Roberto Hueso Gómez
7bdc8fdf75
#915 : Removes braces for single statement if branch
...
Just a cleanup.
2019-10-01 12:56:10 +02:00
Roberto Hueso Gómez
8b1beddbe4
#915 : Fix file descriptor leak in og_socket_server_init() from exit path
...
Call close() to release the socket in the event of an error.
infer says:
sources/ogAdmServer.cpp:1244: error: RESOURCE_LEAK
resource acquired by call to `socket()` at line 1236, column 6 is not released after line 1244, column 3.
1242. sizeof(on));
1243. if (res < 0) {
1244. > syslog(LOG_ERR, "cannot set broadcast socket\n");
1245. return false;
1246. }
Not a real problem since OS releases process resources if the server
cannot bind to the port, but just to be correct here.
2019-09-19 16:06:07 +02:00
Roberto Hueso Gómez
c1c89e196c
#915 : Return 400 status code in POST methods when no payload is attached
...
If no payload is attached to method that requires a payload, then the API
returns a 400 status code (following RFC 7231) instead of the previous 404.
test_0001_get_clients.py is also modified to fit the new status code.
2019-09-19 16:06:03 +02:00
Roberto Hueso Gómez
55edb404b7
#915 : Fix incorrect method and code in invalid GET requests
...
Some tests should perform GET requests however they incorrectly use POST.
Return codes for these tests have also been fixed.
2019-09-18 17:40:41 +02:00
Roberto Hueso Gómez
72b6c26a49
#915 : Remove duplicated test
...
This test is already performed in test_0001_get_clients.py
2019-09-18 17:40:41 +02:00
Roberto Hueso Gómez
741524f59b
#915 : more descriptive function name in test
...
This test sends a POST with no body, which is illegal, use a function
name that describes this.
2019-09-18 17:40:41 +02:00
Javier Sánchez Parra
46d791ae44
#915 add test for too large HTTP request fields
...
This test checks for wrong headers HTTP requests:
1. POST /clients with a content length larger than a signed int.
2. POST /clients with an auth token larger than 63 characters.
2019-09-10 11:10:34 +02:00
Javier Sánchez Parra
36ad0061d7
#915 check HTTP Content-Length size
...
If Content-Length is too large ogAdmServer, close the connection..
2019-09-10 11:10:34 +02:00
Javier Sánchez Parra
64e653773e
#915 fix missing null-terminated string
...
This patch changes the number of characters stored in cli->auth_token
from 64 to 63. This way the array has the last position available to
store the null character.
2019-09-05 13:14:33 +02:00
Javier Sánchez Parra
784495f5d5
#915 adds test for too large HTTP request
...
This test checks for too large HTTP requests, for example:
POST /clients
with a body of 4096 bytes.
2019-09-04 20:13:11 +02:00
OpenGnSys Support Team
3e8fcf0b40
#915 do not bail out when failing to send message to stale clients
...
Clients might enter power saving mode, hence, closing the connection
with the server. When the server sends a request to refresh its state,
if they are gone, do not break the iteration over the list of clients.
2019-09-02 13:36:50 +02:00
Javier Sánchez Parra
3de93a9503
#559 fix out of bound array access
...
This patch change the size of the array ptrPar from 6 to 7.
cppcheck says:
[sources/ogAdmServer.cpp:598]: (error) Array 'ptrCfg[6]' accessed at index 6, which is out of bounds.
2019-08-28 18:39:33 +02:00
Javier Sánchez Parra
882fec820e
#915 check ogAdmServer binary existence when running pythong tests
...
Currently, if you try to run the python test without the ogAdmServer
binary, it will throw an exception.
This patch adds a check to ensure the existence of the ogAdmServer binary
at the beginning of the script.
# python3 run-tests.py
You need to build the ogAdmServer binary to run these tests :-)
2019-08-28 17:54:57 +02:00
Javier Sánchez Parra
e397e7930f
#915 add missing brackets to WOL API test json
...
Without the brackets the call works (200 response) but the ogAdmServer
does not send the WOL packets.
2019-08-28 17:53:19 +02:00
OpenGnSys Support Team
7c67487ab3
#915 trim unknown command syslog error to the initial 32 bytes
...
Aug 28 17:12:33 server ogAdmServer[10110]: 127.0.0.1:54640 POST /nonexistent HTTP/1.1^M Host ...
Aug 28 17:12:33 server ogAdmServer[10110]: unknown command: nonexistent HTTP/1.1^M Host: loca ...
2019-08-28 17:31:48 +02:00
OpenGnSys Support Team
a12af6a6e1
#915 add syslog error when HTTP request processing fails
2019-08-28 17:22:19 +02:00
OpenGnSys Support Team
15685e618f
#915 add og_server_internal_error()
...
This function sends a 500 HTTP error to client.
2019-08-28 17:22:12 +02:00
OpenGnSys Support Team
84a25639b3
#915 add syslog debugging for HTTP request
...
Display initial 32 bytes of the HTTP request.
2019-08-28 17:22:05 +02:00
OpenGnSys Support Team
20dcb0a906
#915 close connection to REST API if request is too long
...
If REST API request length is >= 4096 bytes, close the connection.
2019-08-28 17:16:01 +02:00
OpenGnSys Support Team
881f532ee1
#915 add OG_CLIENTS_MAX definition
...
This definition specifies the maximum number of clients, that is set up
to 4096.
2019-08-28 17:15:49 +02:00
OpenGnSys Support Team
e80c85fbff
#915 set maximum REST API response to 64 Kbytes
...
The existing 4 Kbytes might not be enough to store the results of the
GET /clients request, extend it up to 64 Kbytes.
2019-08-28 17:15:35 +02:00
OpenGnSys Support Team
7e6ba45f95
#915 json_dump_callback() takes flags as a parameter
...
Not as the buffer size, this leads to incorrectly printing the json
output since this might set on the JSON_EMBED flag on libjansson >= 2.10
2019-08-28 17:15:14 +02:00
OpenGnSys Support Team
ba2e868019
#915 allow up to 4096 clients from REST API
...
Raise maximum number of clients to 4096.
2019-08-28 11:50:11 +02:00
Javier Sánchez Parra
7dc8fdbaff
#915 reply with HTTP 405 when the method is incorrect
...
When a command/request exists but the method is not correct returns 405
error code.
2019-08-27 14:32:13 +02:00
OpenGnSys Support Team
fbc30b2669
#915 internal error response if reply is too long
...
In case reply is too long, return 501 internal server error.
2019-08-27 12:02:57 +02:00