anybox / buttervolume

BTRFS Volume plugin for Docker
Apache License 2.0
82 stars 11 forks source link

Error 500 when creating volume in version 3.9 #44

Closed dabide closed 1 year ago

dabide commented 1 year ago

docker compose up results in the following when creating a new volume in 3.9:

Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06Z" level=error msg="Traceback (most recent call last):" plugin=37f2845ef60d5735e4dba3401fcf9e603960f694ca3f2917aec557e66d72524e
Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06Z" level=error msg="  File \"/usr/local/lib/python3.9/dist-packages/bottle-0.12.23-py3.9.egg/EGG-INFO/scripts/bottle.py\", line 876, in _handle" plugin=37f2845ef60d5735e4dba3401fcf9e603960f694ca3f2917aec557e66d72524e
Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06Z" level=error msg="    return route.call(**args)" plugin=37f2845ef60d5735e4dba3401fcf9e603960f694ca3f2917aec557e66d72524e
Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06Z" level=error msg="  File \"/usr/local/lib/python3.9/dist-packages/bottle-0.12.23-py3.9.egg/EGG-INFO/scripts/bottle.py\", line 1756, in wrapper" plugin=37f2845ef60d5735e4dba3401fcf9e603960f694ca3f2917aec557e66d72524e
Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06Z" level=error msg="    rv = callback(*a, **ka)" plugin=37f2845ef60d5735e4dba3401fcf9e603960f694ca3f2917aec557e66d72524e
Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06Z" level=error msg="  File \"/usr/local/lib/python3.9/dist-packages/buttervolume-3.8-py3.9.egg/buttervolume/plugin.py\", line 62, in new_handler" plugin=37f2845ef60d5735e4dba3401fcf9e603960f694ca3f2917aec557e66d72524e
Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06Z" level=error msg="    resp = json.dumps(handler(req))" plugin=37f2845ef60d5735e4dba3401fcf9e603960f694ca3f2917aec557e66d72524e
Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06Z" level=error msg="  File \"/usr/local/lib/python3.9/dist-packages/buttervolume-3.8-py3.9.egg/buttervolume/plugin.py\", line 89, in volume_create" plugin=37f2845ef60d5735e4dba3401fcf9e603960f694ca3f2917aec557e66d72524e
Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06Z" level=error msg="    option_copyonwrite = opts[\"copyonwrite\"].lower()" plugin=37f2845ef60d5735e4dba3401fcf9e603960f694ca3f2917aec557e66d72524e
Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06Z" level=error msg="TypeError: 'NoneType' object is not subscriptable" plugin=37f2845ef60d5735e4dba3401fcf9e603960f694ca3f2917aec557e66d72524e
Oct 11 08:08:06 servilix dockerd[8809]: time="2022-10-11T08:08:06.813106506Z" level=error msg="Handler for POST /v1.41/volumes/create returned error: create homeassistant_haconfig: VolumeDriver.Create: \n    <!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n    <html>\n        <head>\n            <title>Error: 500 Internal Server Error</title>\n            <style type=\"text/css\">\n              html {background-color: #eee; font-family: sans;}\n              body {background-color: #fff; border: 1px solid #ddd;\n                    padding: 15px; margin: 15px;}\n              pre {background-color: #eee; border: 1px solid #ddd; padding: 5px;}\n            </style>\n        </head>\n        <body>\n            <h1>Error: 500 Internal Server Error</h1>\n            <p>Sorry, the requested URL <tt>&#039;http://waitress.invalid:/run/docker/plugins/btrfs.sock/VolumeDriver.Create&#039;</tt>\n               caused an error:</p>\n            <pre>Internal Server Error</pre>\n        </body>\n    </html>\n"

Adding driver_opts in the compose file solves this, but shouldn't be necessary.

volumes:
  haconfig:
    driver: anybox/buttervolume:latest
    driver_opts:
      option_copyonwrite: "true"
ccomb commented 1 year ago

Thanks ! Looks like we need to wake up the test suite...

ccomb commented 1 year ago

The issue was on 3.8, it's fixed in upcoming 3.9

ccomb commented 1 year ago

3.9 released, tell me if it's better!