Kitware / HPCCloud

A Cloud/Web-Based Simulation Environment
https://kitware.github.io/HPCCloud/
Apache License 2.0
50 stars 23 forks source link

Delete volume buttons doesn't remove volume from UI #604

Closed cjh1 closed 7 years ago

cjh1 commented 7 years ago

It appears to delete the volume in AWS but there is no indication it is removed from HPCCloud.

TristanWright commented 7 years ago

I'm not seeing a call to volumes/{{ girder_volume_id }}/delete/complete from ansible?

Seeing the line "Fail if girder volume ID is not set" an error line from delete.yml

Volume status updates to "deleting" so everything else looks like it's there.

cjh1 commented 7 years ago

Can you track now why we don't get the /delete/complete call back?

TristanWright commented 7 years ago

I ran across a few other issues digging into this but not what is preventing the delete/complete callback. Found the error:

fatal: [localhost -> localhost]: FAILED! => {"changed": false, "failed": true, "msg": "<class 'requests.exceptions.ConnectionError'>: HTTPConnectionPool(host='localhost', port=9999): Max retries exceeded with url: /api/v1/volumes/593b2b590640fd798aca9db3/delete/complete (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f6b700c7a10>: Failed to establish a new connection: [Errno 111] Connection refused',))

Traceback (most recent call last):
  File \"/tmp/ansible__gy_EA/ansible_module_girder.py\", line 1763, in main
    gcm(module)
  File \"/tmp/ansible__gy_EA/ansible_module_girder.py\", line 1079, in __call__
    self.__process(method)
  File \"/tmp/ansible__gy_EA/ansible_module_girder.py\", line 1107, in __process
    ret = getattr(self, method)(*args, **kwargs)
  File \"/usr/local/lib/python2.7/dist-packages/girder_client/__init__.py\", line 300, in put
    json=json)
  File \"/usr/local/lib/python2.7/dist-packages/girder_client/__init__.py\", line 271, in sendRestRequest
    headers={'Girder-Token': self.token})
  File \"/usr/local/lib/python2.7/dist-packages/requests/api.py\", line 124, in put
    return request('put', url, data=data, **kwargs)
  File \"/usr/local/lib/python2.7/dist-packages/requests/api.py\", line 57, in request
    return session.request(method=method, url=url, **kwargs)
  File \"/usr/local/lib/python2.7/dist-packages/requests/sessions.py\", line 475, in request
    resp = self.send(prep, **send_kwargs)
  File \"/usr/local/lib/python2.7/dist-packages/requests/sessions.py\", line 585, in send
    r = adapter.send(request, **kwargs)
  File \"/usr/local/lib/python2.7/dist-packages/requests/adapters.py\", line 467, in send
    raise ConnectionError(e, request=request)
    ConnectionError: HTTPConnectionPool(host='localhost', port=9999): Max retries exceeded with url: /api/v1/volumes/593b2b590640fd798aca9db3/delete/complete (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f6b700c7a10>: Failed to establish a new connection: [Errno 111] Connection refused',))
"}

I'm able to call the endpoint from postman and delete the volume, even through :9999.

Some log messages point to line numbers in delete.yml, but nothing helpful besides saying that variables are not defined.

{"changed": false, "skip_reason": "Conditional check failed", "skipped": true}

and as before:

TASK [Fail if volume ID is not set]

I have an info message printing out the extra_vars being sent, and it's what I'd expect.

{
"ansible_ssh_private_key_file": "[file path, redacted]", 
"girder_token": "[a girder token, redacted]", 
"girder_api_url": "http://localhost:9999/api/v1", 
"volume_id": "[an aws volume id, redacted]", 
"girder_volume_id": "593b2b590640fd798aca9db3", 
"region": "us-west-2"
}