)]}'
{"specs/newton/support-image-signature-verification.rst":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"82ddf391b0f678c8da1b76ccd4a2baa43e256ed3","unresolved":false,"context_lines":[{"line_number":216,"context_line":"Notifications impact"},{"line_number":217,"context_line":"--------------------"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"None"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"Other end user impact"},{"line_number":222,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_8463bddc","line":219,"range":{"start_line":219,"start_character":0,"end_line":219,"end_character":4},"updated":"2016-06-12 10:50:01.000000000","message":"Validation failures should definitely produce notifications","commit_id":"ba9dc983e353aceed90b8caa8bc5064165d05ca8"},{"author":{"_account_id":12736,"name":"Xuepeng Ji","email":"ji.xuepeng@zte.com.cn","username":"jixuepeng"},"change_message_id":"6a7623b1cb7e009ed025a84a2fa73cdc8522e82b","unresolved":false,"context_lines":[{"line_number":216,"context_line":"Notifications impact"},{"line_number":217,"context_line":"--------------------"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"None"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"Other end user impact"},{"line_number":222,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_661e590d","line":219,"range":{"start_line":219,"start_character":0,"end_line":219,"end_character":4},"in_reply_to":"7aa08908_8463bddc","updated":"2016-06-14 05:34:21.000000000","message":"Done","commit_id":"ba9dc983e353aceed90b8caa8bc5064165d05ca8"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"82ddf391b0f678c8da1b76ccd4a2baa43e256ed3","unresolved":false,"context_lines":[{"line_number":221,"context_line":"Other end user impact"},{"line_number":222,"context_line":"---------------------"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"If the verification of a signature fails, then Cinder will not create a"},{"line_number":225,"context_line":"volume from the image, and an error message will be logged. The user would"},{"line_number":226,"context_line":"then have to edit the image\u0027s metadata through the Glance API, or the Horizon"},{"line_number":227,"context_line":"interface; or reinitiate an upload of the image to Glance with the correct"},{"line_number":228,"context_line":"signature metadata in order to create a volume from the image."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Performance Impact"},{"line_number":231,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_249be9ca","line":228,"range":{"start_line":224,"start_character":0,"end_line":228,"end_character":61},"updated":"2016-06-12 10:50:01.000000000","message":"This should plug in to the user facing async error notification work being added to cinder too; this can be a separate piece of work so as not to create a dependency chain, but should be noted in work items","commit_id":"ba9dc983e353aceed90b8caa8bc5064165d05ca8"},{"author":{"_account_id":12736,"name":"Xuepeng Ji","email":"ji.xuepeng@zte.com.cn","username":"jixuepeng"},"change_message_id":"6a7623b1cb7e009ed025a84a2fa73cdc8522e82b","unresolved":false,"context_lines":[{"line_number":221,"context_line":"Other end user impact"},{"line_number":222,"context_line":"---------------------"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"If the verification of a signature fails, then Cinder will not create a"},{"line_number":225,"context_line":"volume from the image, and an error message will be logged. The user would"},{"line_number":226,"context_line":"then have to edit the image\u0027s metadata through the Glance API, or the Horizon"},{"line_number":227,"context_line":"interface; or reinitiate an upload of the image to Glance with the correct"},{"line_number":228,"context_line":"signature metadata in order to create a volume from the image."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Performance Impact"},{"line_number":231,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_2628d132","line":228,"range":{"start_line":224,"start_character":0,"end_line":228,"end_character":61},"in_reply_to":"7aa08908_249be9ca","updated":"2016-06-14 05:34:21.000000000","message":"Done","commit_id":"ba9dc983e353aceed90b8caa8bc5064165d05ca8"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"82ddf391b0f678c8da1b76ccd4a2baa43e256ed3","unresolved":false,"context_lines":[{"line_number":268,"context_line":""},{"line_number":269,"context_line":"The feature will be implemented in the following stages:"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"* Create standalone signature_utils module which handles interfacing with a"},{"line_number":272,"context_line":"  key manager through Castellan and verifying image signatures."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"* Add functionality to Cinder which calls the standalone module when Cinder"},{"line_number":275,"context_line":"  downloads a Glance image and the verify_glance_signatures configuration flag"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_c4b4a536","line":272,"range":{"start_line":271,"start_character":2,"end_line":272,"end_character":62},"updated":"2016-06-12 10:50:01.000000000","message":"How much of this is common code with nova? Wouldn\u0027t it best live in some glance client library?","commit_id":"ba9dc983e353aceed90b8caa8bc5064165d05ca8"},{"author":{"_account_id":12736,"name":"Xuepeng Ji","email":"ji.xuepeng@zte.com.cn","username":"jixuepeng"},"change_message_id":"6a7623b1cb7e009ed025a84a2fa73cdc8522e82b","unresolved":false,"context_lines":[{"line_number":268,"context_line":""},{"line_number":269,"context_line":"The feature will be implemented in the following stages:"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"* Create standalone signature_utils module which handles interfacing with a"},{"line_number":272,"context_line":"  key manager through Castellan and verifying image signatures."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"* Add functionality to Cinder which calls the standalone module when Cinder"},{"line_number":275,"context_line":"  downloads a Glance image and the verify_glance_signatures configuration flag"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_10134fb9","line":272,"range":{"start_line":271,"start_character":2,"end_line":272,"end_character":62},"in_reply_to":"7aa08908_c4b4a536","updated":"2016-06-14 05:34:21.000000000","message":"Most of the code is same with nova. In the future the common code maybe need to be moved to a common library, which can used by glance, nova and cinder. But which library or module is the most suitable ? Glance client library, oslo_utils library or other one? I know no idea now. Signature_utils module is not simple enough and depends on other libraries such as castellan and cryptography.","commit_id":"ba9dc983e353aceed90b8caa8bc5064165d05ca8"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"82ddf391b0f678c8da1b76ccd4a2baa43e256ed3","unresolved":false,"context_lines":[{"line_number":293,"context_line":"Testing"},{"line_number":294,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"Unit tests will be sufficient to test the functionality implemented in Cinder."},{"line_number":297,"context_line":"We will need to implement Tempest and functional tests to test the"},{"line_number":298,"context_line":"interoperability of this feature with the accompanying functionality in"},{"line_number":299,"context_line":"Glance."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_e4b9e12f","line":296,"range":{"start_line":296,"start_character":0,"end_line":296,"end_character":78},"updated":"2016-06-12 10:50:01.000000000","message":"Since there are various methods of getting directly at the bytes of an image in cinder (Ceph, sheepdog and others use a python file-like object rather than an actual file), a cinder integration test for this, that runs as part of the 3rd party CI, would be needed. We\u0027ve had repeated issues with things of this nature breaking on odd drivers.","commit_id":"ba9dc983e353aceed90b8caa8bc5064165d05ca8"},{"author":{"_account_id":12736,"name":"Xuepeng Ji","email":"ji.xuepeng@zte.com.cn","username":"jixuepeng"},"change_message_id":"6a7623b1cb7e009ed025a84a2fa73cdc8522e82b","unresolved":false,"context_lines":[{"line_number":293,"context_line":"Testing"},{"line_number":294,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"Unit tests will be sufficient to test the functionality implemented in Cinder."},{"line_number":297,"context_line":"We will need to implement Tempest and functional tests to test the"},{"line_number":298,"context_line":"interoperability of this feature with the accompanying functionality in"},{"line_number":299,"context_line":"Glance."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7aa08908_46235d58","line":296,"range":{"start_line":296,"start_character":0,"end_line":296,"end_character":78},"in_reply_to":"7aa08908_e4b9e12f","updated":"2016-06-14 05:34:21.000000000","message":"Done","commit_id":"ba9dc983e353aceed90b8caa8bc5064165d05ca8"}]}
