Manila/Debugging
With the proposed changes in Manila, setting up source-level debugging should be straightforward. This page describes the process for PyCharm; feel free to enhance the content with other IDEs such as Eclipse/PyDev.
Remote debugging
1. Ensure your OpenStack and PyCharm environments have the pydevd library installed. This is distributed as an egg in the top level of the PyCharm installation directory; there are two separate eggs for Python 2.x and 3.x. For Python 2, just run "easy_install pycharm-debug.egg" to install it in your Python path.
2. Create a remote debug configuration in PyCharm (Run-->Edit Configurations...Python Remote Debug).
3. Invoke the debug configuration (Run-->Debug...->(config name)). PyCharm will begin listening on the specified port.
4. Start the Manila service to be debugged using the pydev-debug-host switch, where the host is the system running PyCharm. If the default port (58786) isn't suitable, specify a different port using the pydev-debug-port switch.
5. The service will connect to PyCharm, at which point remote debugging is active.
Local debugging
1. If PyCharm is running locally to OpenStack, local debugging is especially convenient. Install the pydevd egg as described above.
2. Create a local config.
3. Invoke the debug configuration, which will start the relevant Manila service and route is console output to PyCharm.