)]}'
{"doc/source/user/dynamic-emulator.rst":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":611,"context_line":"        \"@odata.id\": \"/redfish/v1/Systems/da69abcc-dae0-4913-9a7b-d344043097c0/Storage\""},{"line_number":612,"context_line":"    }"},{"line_number":613,"context_line":""},{"line_number":614,"context_line":"Volume resource"},{"line_number":615,"context_line":"+++++++++++++++"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"The *Volume* resource is emulated as a persistent emulator database"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_c0de06da","line":614,"range":{"start_line":614,"start_character":0,"end_line":614,"end_character":6},"updated":"2019-09-02 11:05:09.000000000","message":"nit: Storage Volume\n\nOr may be put Volume under Storage as it\u0027s part of it?","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":611,"context_line":"        \"@odata.id\": \"/redfish/v1/Systems/da69abcc-dae0-4913-9a7b-d344043097c0/Storage\""},{"line_number":612,"context_line":"    }"},{"line_number":613,"context_line":""},{"line_number":614,"context_line":"Volume resource"},{"line_number":615,"context_line":"+++++++++++++++"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"The *Volume* resource is emulated as a persistent emulator database"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_ab128d5f","line":614,"range":{"start_line":614,"start_character":0,"end_line":614,"end_character":6},"in_reply_to":"7faddb67_c0de06da","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":615,"context_line":"+++++++++++++++"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"The *Volume* resource is emulated as a persistent emulator database"},{"line_number":618,"context_line":"record, backed by the libvirt virtualization backend of the dynamic"},{"line_number":619,"context_line":"Redfish emulator."},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"To allow libvirt volumes to be emulated upon, they need to be specified"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_e046a2a7","line":618,"range":{"start_line":618,"start_character":8,"end_line":618,"end_character":14},"updated":"2019-09-02 11:05:09.000000000","message":"May be expand a little on what\u0027s mocked and what\u0027s backed?","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":615,"context_line":"+++++++++++++++"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"The *Volume* resource is emulated as a persistent emulator database"},{"line_number":618,"context_line":"record, backed by the libvirt virtualization backend of the dynamic"},{"line_number":619,"context_line":"Redfish emulator."},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"To allow libvirt volumes to be emulated upon, they need to be specified"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7faddb67_4b0d193c","line":618,"range":{"start_line":618,"start_character":8,"end_line":618,"end_character":14},"in_reply_to":"7faddb67_e046a2a7","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"}],"releasenotes/notes/add-volume-resource-db795af928e41e5c.yaml":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Adds Volume resource emulation support."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    As of this release, a user can configure a collection of Volumes including"},{"line_number":7,"context_line":"    the VolumeType and Capacity. The configured volumes will appear as libvirt"},{"line_number":8,"context_line":"    volumes in the libvirt virtualization backend of the dynamic Redfish"},{"line_number":9,"context_line":"    emulator (provided the libvirt pool specified for the volume exists)."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_e0db02e7","line":7,"range":{"start_line":7,"start_character":56,"end_line":7,"end_character":68},"updated":"2019-09-02 11:05:09.000000000","message":"What happens if OpenStack backend isi being used?","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Adds Volume resource emulation support."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    As of this release, a user can configure a collection of Volumes including"},{"line_number":7,"context_line":"    the VolumeType and Capacity. The configured volumes will appear as libvirt"},{"line_number":8,"context_line":"    volumes in the libvirt virtualization backend of the dynamic Redfish"},{"line_number":9,"context_line":"    emulator (provided the libvirt pool specified for the volume exists)."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_0b03a111","line":7,"range":{"start_line":7,"start_character":56,"end_line":7,"end_character":68},"in_reply_to":"7faddb67_e0db02e7","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"}],"sushy_tools/emulator/main.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":706,"context_line":"                storage_id\u003dstorage_id, volume_col\u003dvol_ids)"},{"line_number":707,"context_line":""},{"line_number":708,"context_line":"        elif flask.request.method \u003d\u003d \u0027POST\u0027:"},{"line_number":709,"context_line":"            data \u003d {}"},{"line_number":710,"context_line":"            data[\u0027Name\u0027] \u003d flask.request.json.get(\u0027Name\u0027)"},{"line_number":711,"context_line":"            data[\u0027VolumeType\u0027] \u003d flask.request.json.get(\u0027VolumeType\u0027)"},{"line_number":712,"context_line":"            data[\u0027CapacityBytes\u0027] \u003d flask.request.json.get(\u0027CapacityBytes\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_609e3207","line":709,"updated":"2019-09-02 11:05:09.000000000","message":"Arguably, this would be more Pythonic:\n\ndate \u003d {\n    \u0027Name\u0027: flask.request.json.get(\u0027Name\u0027),\n...","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":706,"context_line":"                storage_id\u003dstorage_id, volume_col\u003dvol_ids)"},{"line_number":707,"context_line":""},{"line_number":708,"context_line":"        elif flask.request.method \u003d\u003d \u0027POST\u0027:"},{"line_number":709,"context_line":"            data \u003d {}"},{"line_number":710,"context_line":"            data[\u0027Name\u0027] \u003d flask.request.json.get(\u0027Name\u0027)"},{"line_number":711,"context_line":"            data[\u0027VolumeType\u0027] \u003d flask.request.json.get(\u0027VolumeType\u0027)"},{"line_number":712,"context_line":"            data[\u0027CapacityBytes\u0027] \u003d flask.request.json.get(\u0027CapacityBytes\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_f6014c05","line":709,"in_reply_to":"7faddb67_609e3207","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":714,"context_line":"            data[\u0027libvirtVolName\u0027] \u003d data[\u0027Id\u0027]"},{"line_number":715,"context_line":"            new_id \u003d resources.systems.find_or_create_volume(data)"},{"line_number":716,"context_line":"            if new_id:"},{"line_number":717,"context_line":"                resources.volumes.add_volume(uuid, storage_id, data)"},{"line_number":718,"context_line":"                vol_url \u003d (\"/redfish/v1/Systems/%s/Storage/%s/\""},{"line_number":719,"context_line":"                           \"Volumes/%s\" % (identity, storage_id, new_id))"},{"line_number":720,"context_line":"                return flask.Response(status\u003d201,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_c0536639","line":717,"range":{"start_line":717,"start_character":34,"end_line":717,"end_character":44},"updated":"2019-09-02 11:05:09.000000000","message":"nit: having a debug/info message on important events might be useful...","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":714,"context_line":"            data[\u0027libvirtVolName\u0027] \u003d data[\u0027Id\u0027]"},{"line_number":715,"context_line":"            new_id \u003d resources.systems.find_or_create_volume(data)"},{"line_number":716,"context_line":"            if new_id:"},{"line_number":717,"context_line":"                resources.volumes.add_volume(uuid, storage_id, data)"},{"line_number":718,"context_line":"                vol_url \u003d (\"/redfish/v1/Systems/%s/Storage/%s/\""},{"line_number":719,"context_line":"                           \"Volumes/%s\" % (identity, storage_id, new_id))"},{"line_number":720,"context_line":"                return flask.Response(status\u003d201,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_96049815","line":717,"range":{"start_line":717,"start_character":34,"end_line":717,"end_character":44},"in_reply_to":"7faddb67_c0536639","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"}],"sushy_tools/emulator/resources/systems/base.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        \"\"\""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    @abc.abstractmethod"},{"line_number":197,"context_line":"    def find_or_create_volume(self, data):"},{"line_number":198,"context_line":"        \"\"\"Find/create volume based on existence in the libvirt backend"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        :param data: data about the volume in dict form"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_403536f5","line":197,"range":{"start_line":197,"start_character":8,"end_line":197,"end_character":29},"updated":"2019-09-02 11:05:09.000000000","message":"I\u0027d encode \"storage\" resource into the name. There could be other volumes in the future.","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        \"\"\""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    @abc.abstractmethod"},{"line_number":197,"context_line":"    def find_or_create_volume(self, data):"},{"line_number":198,"context_line":"        \"\"\"Find/create volume based on existence in the libvirt backend"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        :param data: data about the volume in dict form"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_b6075417","line":197,"range":{"start_line":197,"start_character":8,"end_line":197,"end_character":29},"in_reply_to":"7faddb67_403536f5","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    @abc.abstractmethod"},{"line_number":197,"context_line":"    def find_or_create_volume(self, data):"},{"line_number":198,"context_line":"        \"\"\"Find/create volume based on existence in the libvirt backend"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        :param data: data about the volume in dict form"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_802faea5","line":198,"range":{"start_line":198,"start_character":56,"end_line":198,"end_character":63},"updated":"2019-09-02 11:05:09.000000000","message":"this is not abstract!","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    @abc.abstractmethod"},{"line_number":197,"context_line":"    def find_or_create_volume(self, data):"},{"line_number":198,"context_line":"        \"\"\"Find/create volume based on existence in the libvirt backend"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        :param data: data about the volume in dict form"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_5612a059","line":198,"range":{"start_line":198,"start_character":56,"end_line":198,"end_character":63},"in_reply_to":"7faddb67_802faea5","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"}],"sushy_tools/emulator/resources/systems/libvirtdriver.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fa1f5d7554d29a0ae10705ae7d3ffc1de2ec58af","unresolved":false,"context_lines":[{"line_number":124,"context_line":"    STORAGE_VOLUME_XML \u003d \"\"\""},{"line_number":125,"context_line":"\u003cvolume type\u003d\u0027file\u0027\u003e"},{"line_number":126,"context_line":"  \u003cname\u003e%(name)s\u003c/name\u003e"},{"line_number":127,"context_line":"  \u003ckey\u003e%(path)s\u003c/key\u003e"},{"line_number":128,"context_line":"  \u003ccapacity unit\u003d\u0027bytes\u0027\u003e%(size)i\u003c/capacity\u003e"},{"line_number":129,"context_line":"  \u003cphysical unit\u003d\u0027bytes\u0027\u003e%(size)i\u003c/physical\u003e"},{"line_number":130,"context_line":"  \u003ctarget\u003e"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_50d0f62b","line":127,"updated":"2019-08-27 18:44:35.000000000","message":"name to path? Confusing to suddenly see this.","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"db16e93feba16bd89e59760f84fbc978be9d9fb7","unresolved":false,"context_lines":[{"line_number":124,"context_line":"    STORAGE_VOLUME_XML \u003d \"\"\""},{"line_number":125,"context_line":"\u003cvolume type\u003d\u0027file\u0027\u003e"},{"line_number":126,"context_line":"  \u003cname\u003e%(name)s\u003c/name\u003e"},{"line_number":127,"context_line":"  \u003ckey\u003e%(path)s\u003c/key\u003e"},{"line_number":128,"context_line":"  \u003ccapacity unit\u003d\u0027bytes\u0027\u003e%(size)i\u003c/capacity\u003e"},{"line_number":129,"context_line":"  \u003cphysical unit\u003d\u0027bytes\u0027\u003e%(size)i\u003c/physical\u003e"},{"line_number":130,"context_line":"  \u003ctarget\u003e"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_bcc26033","line":127,"in_reply_to":"7faddb67_50d0f62b","updated":"2019-08-28 03:19:49.000000000","message":"The libvirt documentation (https://libvirt.org/storage.html) states that the volume key is \"a string that identifies a single volume uniquely\". The name for a volume is unique only within its given pool and not outside it. Moreover, for file based volumes as the one we are using here, libvirt uses the volume path as the `key` in xml.","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"                raise error.FishyError(msg)"},{"line_number":842,"context_line":""},{"line_number":843,"context_line":"    def find_or_create_volume(self, data):"},{"line_number":844,"context_line":"        with libvirt_open(self._uri) as conn:"},{"line_number":845,"context_line":"            try:"},{"line_number":846,"context_line":"                poolName \u003d data[\u0027libvirtPoolName\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_e02542c0","line":843,"updated":"2019-09-02 11:05:09.000000000","message":"How about a docstring?","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":840,"context_line":""},{"line_number":841,"context_line":"                raise error.FishyError(msg)"},{"line_number":842,"context_line":""},{"line_number":843,"context_line":"    def find_or_create_volume(self, data):"},{"line_number":844,"context_line":"        with libvirt_open(self._uri) as conn:"},{"line_number":845,"context_line":"            try:"},{"line_number":846,"context_line":"                poolName \u003d data[\u0027libvirtPoolName\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_760d5c33","line":843,"in_reply_to":"7faddb67_e02542c0","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":856,"context_line":"                return"},{"line_number":857,"context_line":"            try:"},{"line_number":858,"context_line":"                vol \u003d pool.storageVolLookupByName(data[\u0027libvirtVolName\u0027])"},{"line_number":859,"context_line":"            except libvirt.libvirtError as ex:"},{"line_number":860,"context_line":""},{"line_number":861,"context_line":"                pool_tree \u003d ET.fromstring(pool.XMLDesc())"},{"line_number":862,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_a302f407","line":859,"updated":"2019-09-02 11:05:09.000000000","message":"May be log that we are going to create a new volume?","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":856,"context_line":"                return"},{"line_number":857,"context_line":"            try:"},{"line_number":858,"context_line":"                vol \u003d pool.storageVolLookupByName(data[\u0027libvirtVolName\u0027])"},{"line_number":859,"context_line":"            except libvirt.libvirtError as ex:"},{"line_number":860,"context_line":""},{"line_number":861,"context_line":"                pool_tree \u003d ET.fromstring(pool.XMLDesc())"},{"line_number":862,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_1618a873","line":859,"in_reply_to":"7faddb67_a302f407","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":879,"context_line":"                        \u0027size\u0027: data[\u0027CapacityBytes\u0027]})"},{"line_number":880,"context_line":""},{"line_number":881,"context_line":"                if not vol:"},{"line_number":882,"context_line":"                    return"},{"line_number":883,"context_line":"            return data[\u0027Id\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_a01d0a74","line":882,"updated":"2019-09-02 11:05:09.000000000","message":"Is this an error to log? Or otherwise?","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":879,"context_line":"                        \u0027size\u0027: data[\u0027CapacityBytes\u0027]})"},{"line_number":880,"context_line":""},{"line_number":881,"context_line":"                if not vol:"},{"line_number":882,"context_line":"                    return"},{"line_number":883,"context_line":"            return data[\u0027Id\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_f62aac7b","line":882,"in_reply_to":"7faddb67_a01d0a74","updated":"2019-09-05 13:17:59.000000000","message":"Logged an error about the volume not being created.","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"}],"sushy_tools/emulator/resources/systems/novadriver.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        raise error.NotSupportedError(\u0027Not implemented\u0027)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    def find_or_create_volume(self, data):"},{"line_number":376,"context_line":"        \"\"\"Ascertains if volume with given data exists in the libvirt backend"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        :param data: data about the volume in dict form"},{"line_number":379,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_230e0432","line":376,"range":{"start_line":376,"start_character":62,"end_line":376,"end_character":69},"updated":"2019-09-02 11:05:09.000000000","message":"nova?","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":373,"context_line":"        raise error.NotSupportedError(\u0027Not implemented\u0027)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    def find_or_create_volume(self, data):"},{"line_number":376,"context_line":"        \"\"\"Ascertains if volume with given data exists in the libvirt backend"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        :param data: data about the volume in dict form"},{"line_number":379,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_563b80cf","line":376,"range":{"start_line":376,"start_character":62,"end_line":376,"end_character":69},"in_reply_to":"7faddb67_230e0432","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":375,"context_line":"    def find_or_create_volume(self, data):"},{"line_number":376,"context_line":"        \"\"\"Ascertains if volume with given data exists in the libvirt backend"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        :param data: data about the volume in dict form"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"        :returns: Id of the volume if successfully found/created else None"},{"line_number":381,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_431c6065","line":378,"range":{"start_line":378,"start_character":46,"end_line":378,"end_character":50},"updated":"2019-09-02 11:05:09.000000000","message":"May be note the fields that are used? In form of example code?","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":375,"context_line":"    def find_or_create_volume(self, data):"},{"line_number":376,"context_line":"        \"\"\"Ascertains if volume with given data exists in the libvirt backend"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        :param data: data about the volume in dict form"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"        :returns: Id of the volume if successfully found/created else None"},{"line_number":381,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_7636bce9","line":378,"range":{"start_line":378,"start_character":46,"end_line":378,"end_character":50},"in_reply_to":"7faddb67_431c6065","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"}],"sushy_tools/emulator/resources/volumes/staticdriver.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4cea6613a2df840da3d2545b3d473dd2dbea162","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        self._volumes.update({(uu_identity, storage_id): vol_col})"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def delete_volume(self, uu_identity, storage_id, vol):"},{"line_number":73,"context_line":"        vol_col \u003d self._volumes[(uu_identity, storage_id)]"},{"line_number":74,"context_line":"        vol_col.remove(vol)"},{"line_number":75,"context_line":"        self._volumes.update({(uu_identity, storage_id): vol_col})"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_a350b40b","line":73,"updated":"2019-09-02 11:05:09.000000000","message":"Can this fail with KeyError?","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"},{"author":{"_account_id":30013,"name":"Varsha Verma","email":"varsha.verma.eee15@itbhu.ac.in","username":"verma-varsha"},"change_message_id":"95ddcde977c7c280006f9513a87542cb9311708e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        self._volumes.update({(uu_identity, storage_id): vol_col})"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def delete_volume(self, uu_identity, storage_id, vol):"},{"line_number":73,"context_line":"        vol_col \u003d self._volumes[(uu_identity, storage_id)]"},{"line_number":74,"context_line":"        vol_col.remove(vol)"},{"line_number":75,"context_line":"        self._volumes.update({(uu_identity, storage_id): vol_col})"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_163188ed","line":73,"in_reply_to":"7faddb67_a350b40b","updated":"2019-09-05 13:17:59.000000000","message":"Done","commit_id":"fcfdb1ea7c3bf49fcc88320391a976c16298c432"}]}
