Storage volume upload: Update API.md

Update API.md adding upload option to storagevolume creation.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Fix mockmodel reset for objectstore

In mockmodel reset, we only reset model fields dict
but objectstore remains unchanged,
tasks retained in objecstore making mockmodel task related tests fail.
Reset objectstore to fix this.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Storage volume upload: Parse params for upload formdata

When pass form to cherrypy, it is stored in cherrypy.request.params,
so adjust parse_request for this change.
Also avoid body parse so that file content will not be loaded into mem.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Storage volume upload: Control request body size of kimchi

This patch control request body size to be 4G,
when request size exceed, kimchi will response with 413.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Signed-off-by: Crístian Viana <vianac@linux.vnet.ibm.com>
Storage volume upload: Support file based upload

Start a task to upload storage volume.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Signed-off-by: Crístian Viana <vianac@linux.vnet.ibm.com>
Storage volume upload: Adding progress to task message

Periodically update current written bytes to task message
so that UI can query the latest progress of volume uploading.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Signed-off-by: Crístian Viana <vianac@linux.vnet.ibm.com>
Storage volume upload: Change mockmodel and test

Change mockmodel and tests to support storagevolume upload. Also, add
the package "python-requests" as a dependency

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Signed-off-by: Crístian Viana <vianac@linux.vnet.ibm.com>