Commit Graph

79 Commits (f86999da0c150d2a6976ba69a352164b55c52639)
 

Author SHA1 Message Date
OpenGnSys Support Team f86999da0c add space after Content-Length and Content-Type
ogAdmServer needs this space to work fine.
2020-01-28 09:14:13 +01:00
Roberto Hueso Gómez 7196e7198e Add /refresh test
This test covers a correct request.
2020-01-21 17:33:09 +01:00
Roberto Hueso Gómez dabc7ebf83 Change POST /refresh to GET /refresh
This patch changes the HTTP method for /refresh and cleans up the implementation
of the /refresh Linux operator.
2020-01-21 17:33:05 +01:00
Roberto Hueso Gómez ca0a62f9c6 Fix /software command Linux operation
This patch runs the script InventarioSoftware with the right arguments.
This also increases the recv buffer size for the test server.
2020-01-21 17:32:57 +01:00
Roberto Hueso Gómez d401c9ff46 Add /software test
This test covers a correct request.
2020-01-21 17:32:52 +01:00
Roberto Hueso Gómez 9890d60300 Fix /shell/run commands splitting
This patch splits shell commands either with ';' or '\n'.
2020-01-21 17:32:48 +01:00
Roberto Hueso Gómez 96c2ddea2d Fix /hardware command Linux operation
This patch runs the script InventarioHardware with the right arguments.
2020-01-21 17:32:42 +01:00
Roberto Hueso Gómez 434bb272b5 Add /hardware tests
This tests covers a correct request.
2020-01-21 17:32:39 +01:00
Roberto Hueso Gómez 8a9a32fa6b Add test for /run/schedule
This test covers a correct request.
2020-01-19 20:18:14 +01:00
Roberto Hueso Gómez a5ce597196 Add test for non-existent function 2020-01-19 20:18:14 +01:00
Roberto Hueso Gómez 65a5c95cc2 Add test for sequential /shell/run requests
This also fixes test bugs in the cases:
- Malformed json
- No json
2020-01-19 20:18:14 +01:00
Roberto Hueso Gómez 2c5e477dfb Add /probe tests for multiple probes and extra parameter in json 2020-01-19 20:18:14 +01:00
Roberto Hueso Gómez 025e4da5a9 Remove unnecessary variables from test server 2020-01-19 20:18:14 +01:00
Alvaro Neira Ayuso 2e806531a0 (Clean-Up) Rename all the functions in ogRest to new ones more clears 2020-01-19 20:18:14 +01:00
Alvaro Neira Ayuso e39fe2fc52 (Clean-Up) Rename HTTPParser file to restRequest 2020-01-19 20:18:14 +01:00
Alvaro Neira Ayuso 86eb703964 (Clean-Up) Modify restResponse to get the response using constructor and get function 2020-01-19 20:18:07 +01:00
Alvaro Neira Ayuso 8fc251eff3 (Clean-Up) Rename HTTPParser to restRequest 2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 44a4662fef (Clean-Up) Rename cmd variable to body 2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 8e54420dfd (Clean-Up) Rename cmd function/variables to use "run" syntax 2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 51ad896dee (Clean-Up) Rename jsoncmd variable to json_param 2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 5603a280ef Improve /image/create command response
With this new patch, the image/create command will create a response message
with more information for the server. The new format is:

{"disk" : "1", "partition" : "1", "code" : "1", "id" : "1", "name" : "test",
"repository" : "192.168.2.4", "software" : "xyz"}

"xyz" will be the output saved during the execution of InventarioSoftware in
a specific path.
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso b5e182f7dd Add Refresh command
This patch allows us to execute refresh command using ogClient. This command
gets all the configuration in our machine and send this information to the
server. The format of the message that ogClient will send to the server will be:

{"disk": "1", "partition_setup": [{"partition": "1", "code": "LINUX",
"filesystem": "NTFS", "size": "498688", "format": "0"}, {"partition": "2",
"code": "LINUX", "filesystem": "NTFS", "size": "498688", "format": "0"},
{"partition": "3", "code": "LINUX", "filesystem": "NTFS", "size": "498688",
"format": "0"}]}
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso b2fd0b5fff Add image/create command for creating a new image
This patch allows us to use a new support for creating images using ogClient.
ogClient receives from the server a message which json body must be:

{"disk" : "1", "partition" : "1", "code" : "1", "id" : "1", "name" : "test",
"repository" : "192.168.2.4" }

ogClient returns to the server the software inventory executed before
create the image. The message for the server is:

{ "disk" : "0", "partition" : "1", "software" : "xyz" }

    "xyz" will be the output saved during the execution of InventarioSoftware in
    a specific path.
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso fdd4ba59c7 (BUG) Include client parameter in restore command 2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 05b1088827 Include License header 2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso d5dca0f756 Add stop command
This patch includes a new support for stopping all the process running on
the ogClient.
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 230bdca0ea Execute cmd command using thread
This patch prepares the code for future stop command.
2020-01-19 19:50:44 +01:00
Roberto Hueso Gómez b9c33f2c83 Fix echo check for process_shellrun in ogRest 2020-01-19 19:50:44 +01:00
Roberto Hueso Gómez df98db2c3c Add /shell/run tests
These tests cover:
- Correct request with echo
- Correct request without echo
- No json request
- Malformed json request
2020-01-19 19:50:44 +01:00
Roberto Hueso Gómez 9c34a8e69f Change /probe from GET to POST in ogClient 2020-01-19 19:50:44 +01:00
Roberto Hueso Gómez 3a44e48e4b Adapt client responses to the server's
Header parameters need to be sorted for the test server.
2020-01-19 19:50:44 +01:00
Roberto Hueso Gómez 3c450b0d81 Fix ogClient socket.error typo 2020-01-19 19:50:44 +01:00
Roberto Hueso Gómez 23cc1e6b86 Add /probe tests
These tests cover:
- Correct request
- No json request
- Malformed json request
2020-01-19 19:50:44 +01:00
Roberto Hueso Gómez bb65bd7bf0 Add unit testing basic structure 2020-01-19 19:50:44 +01:00
Roberto Hueso gomez 0c5cbee301 Change ogClient.py encoding from dos to unix 2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso a9d81adb1f Include echo option for returning shell output
This patch adds a new echo option in /shell/run command. In case that the option
is set up to true, the server will receive in the response a json with the shell
output. Otherwise, the server will receive a response message without json
body.

A side effect of this change is that the command /shell/output/ disapears.
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 336b02371d Send OPG (opengnsys) status when a probe command is received 2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 38b57c4ae4 Improve setup command response
This patch adds a new response support. This way allows us to send a new
response message with more information about the partitions already set up.
The format of the response is:

{ "disk" : "1", "cache" : "1", "cache_size" : "0",
"partition_setup": [{"partition": "1", "code": "LINUX", "filesystem": "EMPTY",
"size": "498688", "format": "0"}...]
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso a306b8b9d8 Catch execution errors during restore image command
This patch allows us to send feedback to the server in case of error during
the execution of the command. In case of error, ogClient will send an
"Internal Error" http message.
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 1ced3dd069 Improve hardware command response behavior
This patch give us a better support in case of error or success execution.
In error cases, the new behavior is to send an Internal Error http message (500).
Otherwise, the server will receive a message with a json with this format:

    { "hardware" : "xyz" }

"xyz" is the output saved in a specific path during the execution of
InventarioHardware.
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 683afa6465 Improve software command response behavior
During our tests, we found some limitation during the execution of the software
command. We don't manage errors during the execution of this command. Moreover,
the server needs some information in case that everything is OK.

This patch modified the code for controlling the errors during the execution,
returning an "Internal Error" http message (500). Moreover, in case that
everything is OK, ogClient sends a message with this json body:

    { "disk" : "0", "partition" : "1", "software" : "xyz" }

"xyz" will be the output saved during the execution of InventarioSoftware in
a specific path.
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 0f32b9ca88 Catch execution errors during init session command
This patch allows us to catch an exception when something wrong is happening
executing the init session command. In error cases, ogClient sends an internal
error http message to the server. Otherwise, an OK http message.
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 2e342b50c8 Modify methods to use less arguments
Now, all the arguments are received from httpparser. Those arguments convert
the function in long lines of codes. Passing directly the httpparser, all the
function will have less arguments and will be more clear the code.
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso cc11d8f38f Add restore/image command for restoring images on the machine
ogAdmClient has a support to restore image on the machine. This new command
allows the new ogClient to execute the same script to restore the images
on the machine. The json format sent from the server must be:

{ "disk" : "1", "partition" : "1", "name" : "test",\
 "repository" : "192.168.56.10", "type" : "UNICAST", "profile": "1", "id": "1"}
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso efbe8a7960 Add setup command for configuring the machine
ogAdmClient has a support to configure the machines. This new command allows
the new ogClient to execute the same script to configure the machine.
The json format sent from the server must be:

{ "disk" : "1", "cache" : "0", "cache_size" : "70000000",\
"partition_setup": [{"partition": "1", "code": "NTFS", "filesystem": "NTFS",\
 "size": "11000000", "format": "0"}]}
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 9fd8f2dbd0 Add schedule command
No action executed. This command only return a 200 OK message.
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 261a5edf7c Add hardware command to inventory the machine hardware
ogAdmClient has a support to inventory the hardware in a machine. This new
command allows the new ogClient to execute the same script to inventory the hw.
No arguments needed for executing the command
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 6d1e79b8eb Add software command to inventory the machine software
ogAdmClient has a support to inventory the software in a machine. This new
command allows the new ogClient to execute the same script to inventory the sw.
The arguments will be received from the server as a json message. Format:

{ "disk" : "0", "partition" : "1"}
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso 2fa8aa4ff7 Add session command to init the opengnsys session
ogAdmClient has a support for initializing the session in the machine. This new
command allows the new ogClient to execute the same script to init the session.
The arguments will be received from the server as a json message. Format:

{ "disk" : "0", "partition" : "1"}
2020-01-19 19:50:44 +01:00
Alvaro Neira Ayuso f566579f8e Set up the ip server for working in localhost by default 2020-01-19 19:50:44 +01:00