diff options
author | Alvaro Neira Ayuso <aneira@soleta.eu> | 2020-01-16 19:59:23 +0100 |
---|---|---|
committer | Alvaro Neira Ayuso <alvaroneay@gmail.com> | 2020-01-19 19:50:44 +0100 |
commit | b2fd0b5fffbd60e986eebc03c3a24f06194b4368 (patch) | |
tree | 8bfaddbd4712734be91022934dfb46c54a0aa614 /src/ogRest.py | |
parent | fdd4ba59c783d24d7f5a96418955fb5646db65e3 (diff) |
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.
Diffstat (limited to 'src/ogRest.py')
-rw-r--r-- | src/ogRest.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/ogRest.py b/src/ogRest.py index c0b886d..011f77e 100644 --- a/src/ogRest.py +++ b/src/ogRest.py @@ -151,6 +151,20 @@ class ogThread(): client.send(restResponse.getResponse(ogResponses.OK)) + # Process image create + def procicreate(client, path, httpparser, ogRest): + try: + ogOperations.procicreate(path, httpparser, ogRest) + except ValueError as err: + client.send(restResponse.getResponse(ogResponses.INTERNAL_ERR)) + return + + f = open(path, "r") + lines = f.readlines() + f.close() + jsonResp.addElement('software', lines[0]) + client.send(restResponse.getResponse(ogResponses.OK, jsonResp)) + class ogResponses(Enum): BAD_REQUEST=0 IN_PROGRESS=1 @@ -197,6 +211,8 @@ class ogRest(): self.process_irestore(client, httpparser) elif ("stop" in URI): self.process_stop(client) + elif ("image/create" in URI): + self.process_icreate(client, httpparser) else: client.send(restResponse.getResponse(ogResponses.BAD_REQUEST)) else: @@ -251,3 +267,7 @@ class ogRest(): os.killpg(os.getpgid(self.proc.pid), signal.SIGTERM) self.terminated = True sys.exit(0) + + def process_icreate(self, client, httpparser): + path = '/tmp/CSft-' + client.ip + '-' + httpparser.getPartition() + threading.Thread(target=ogThread.procicreate, args=(client, path, httpparser, self,)).start() |