)]}'
{"specs/mikata/use-cinder-without-nova.rst":[{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"1b1a5906e4cfcf75371744976f4f92761a9a210b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Provide a command-line (CLI) tool which could interact with Cinder and attach"},{"line_number":36,"context_line":"volumes to the local host. E.g.::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    cinder-baremetal attach \u003cvolume_id\u003e"},{"line_number":39,"context_line":"    cinder-baremetal detach \u003cvolume_id\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"In case of Ironic when we don\u0027t want to install any package into the user\u0027s"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_d3e64e43","line":38,"updated":"2015-09-17 14:42:54.000000000","message":"This should support standard client\u0027s Keystone auth options. As dropping own user credentials into a \"VM\" is not really secure, some users would rather use tokens instead\n(how to pass them in is a user\u0027s choice)","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"1b1a5906e4cfcf75371744976f4f92761a9a210b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"volumes to the local host. E.g.::"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    cinder-baremetal attach \u003cvolume_id\u003e"},{"line_number":39,"context_line":"    cinder-baremetal detach \u003cvolume_id\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"In case of Ironic when we don\u0027t want to install any package into the user\u0027s"},{"line_number":42,"context_line":"instances, we could generate commands to execute them manually by users."}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_d3e40ead","line":39,"updated":"2015-09-17 14:42:54.000000000","message":"The attach call as above should only return IQN and mark the volume as \u0027in-use\u0027 via Cinder API. Would be nice to add a \"--mount \u003cpath\u003e\" to actually mount the volumes (on systems where supported). Similar goes for detach to actually try and unmount the volume first before releasing IQN and marking the volume as \u0027available\u0027.","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"9fe01c445e69091f21f829f0d69e5e79b83fbe2b","unresolved":false,"context_lines":[{"line_number":43,"context_line":"E.g. for iSCSI::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    cinder-baremetal generate-attach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":46,"context_line":"    cinder-baremetal generate-detach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In such case, Ironic or other Cinder API client should call \u0027attach/detach\u0027 API"},{"line_number":49,"context_line":"methond manually to change volume\u0027s state."}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_d9f78457","line":46,"updated":"2015-09-16 15:14:16.000000000","message":"I like the fact we aren\u0027t adding this to the normal cinder command. Thanks for that change.","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"14bc47db56c560cd89721245ee6d720e39af28f2","unresolved":false,"context_lines":[{"line_number":43,"context_line":"E.g. for iSCSI::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    cinder-baremetal generate-attach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":46,"context_line":"    cinder-baremetal generate-detach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In such case, Ironic or other Cinder API client should call \u0027attach/detach\u0027 API"},{"line_number":49,"context_line":"methond manually to change volume\u0027s state."}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_7ab575ce","line":46,"in_reply_to":"ba15a1d1_34e6c5b0","updated":"2015-09-21 11:01:31.000000000","message":"Zhang, we want to create new lightweight client to keep it as simple as possible and do not confuse people with different kinds of \u0027attach\u0027 action","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"b97cadf9f0963a7bc5e96a183c6932cbdd7795eb","unresolved":false,"context_lines":[{"line_number":43,"context_line":"E.g. for iSCSI::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    cinder-baremetal generate-attach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":46,"context_line":"    cinder-baremetal generate-detach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In such case, Ironic or other Cinder API client should call \u0027attach/detach\u0027 API"},{"line_number":49,"context_line":"methond manually to change volume\u0027s state."}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_f4b12d48","line":46,"in_reply_to":"ba15a1d1_d9f78457","updated":"2015-09-16 15:20:00.000000000","message":"I agree, but I would ask that we use a different name :)  This shouldn\u0027t be ironic centric IMO, so maybe a different name.  certainly a nit, but just saying :)","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"},{"author":{"_account_id":8074,"name":"Jin Nan Zhang","username":"zhangjinnan","inactive":true},"change_message_id":"3be4edbb0052bfca902ccfe0b89c480c2dcd7333","unresolved":false,"context_lines":[{"line_number":43,"context_line":"E.g. for iSCSI::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    cinder-baremetal generate-attach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":46,"context_line":"    cinder-baremetal generate-detach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In such case, Ironic or other Cinder API client should call \u0027attach/detach\u0027 API"},{"line_number":49,"context_line":"methond manually to change volume\u0027s state."}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_34e6c5b0","line":46,"in_reply_to":"ba15a1d1_d9f78457","updated":"2015-09-16 15:30:26.000000000","message":"cinder command include baremetal attach/detach maybe better.","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"1b1a5906e4cfcf75371744976f4f92761a9a210b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    cinder-baremetal generate-attach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":46,"context_line":"    cinder-baremetal generate-detach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In such case, Ironic or other Cinder API client should call \u0027attach/detach\u0027 API"},{"line_number":49,"context_line":"methond manually to change volume\u0027s state."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_840e4e8a","line":48,"updated":"2015-09-17 14:42:54.000000000","message":"do you mean the workflow in this case as following?\n\n(outside the cloud) ask for commands/parameters\n(go into VM) execute commands\n(outside the cloud) call for attach/detach\n?\n\nIdeally though a simple access to generate-attach should mark the volume as such in Cinder (you never know when user will actually attach the volume, so it is safer that way). Detach should be manual still.","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"14bc47db56c560cd89721245ee6d720e39af28f2","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    cinder-baremetal generate-attach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":46,"context_line":"    cinder-baremetal generate-detach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In such case, Ironic or other Cinder API client should call \u0027attach/detach\u0027 API"},{"line_number":49,"context_line":"methond manually to change volume\u0027s state."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_da728149","line":48,"in_reply_to":"ba15a1d1_840e4e8a","updated":"2015-09-21 11:01:31.000000000","message":"Good point, thanks!","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"9fe01c445e69091f21f829f0d69e5e79b83fbe2b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"REST API impact"},{"line_number":62,"context_line":"---------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"TBD"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Security impact"},{"line_number":67,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_39e6c0b0","line":64,"updated":"2015-09-16 15:14:16.000000000","message":"Is the \u0027attached to\u0027 field in the API/db rich enough? And is it big enough to take FQDNs of hosts?","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"73f1fd098e93868cb68e6329bce3ea7f3f3c3e0a","unresolved":false,"context_lines":[{"line_number":61,"context_line":"REST API impact"},{"line_number":62,"context_line":"---------------"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"TBD"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Security impact"},{"line_number":67,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_5d398b40","line":64,"in_reply_to":"ba15a1d1_39e6c0b0","updated":"2015-09-21 11:29:33.000000000","message":"Yes, we\u0027ve already got needed info in our API.  FQDN will be taken by cinder-baremetal client.\n\nWe\u0027ll need to extend our API to support Keystone trusts to make such attach calls more secure.","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"635552a85d13e2888c58bb380bce0f3af8fe3765","unresolved":false,"context_lines":[{"line_number":151,"context_line":"* https://review.openstack.org/223217"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"* https://etherpad.openstack.org/p/liberty-cinder-ironic-integration"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba15a1d1_66e565da","line":154,"updated":"2015-09-16 22:15:33.000000000","message":"This blueprint is related and should be listed here as a reference:\n\nhttps://blueprints.launchpad.net/ironic/+spec/volume-connection-information","commit_id":"47a433eb4943cda0858c7ff054d5fe971063627f"}],"specs/mitaka/use-cinder-without-nova.rst":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"b4baaa2099e9973b61445512146e944967331311","unresolved":false,"context_lines":[{"line_number":28,"context_line":"* Attach volume to Ironic instance"},{"line_number":29,"context_line":"* Attach volume to any virtual/baremetal host which is not provisioned by Nova"},{"line_number":30,"context_line":"  or Ironic"},{"line_number":31,"context_line":"* Attach volume to Magnum container"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_0b82ad94","line":31,"updated":"2015-09-22 14:41:20.000000000","message":"The containers will be interesting, as there\u0027s Docker plugins to leverage Cinder and do this already which is probably a better model honestly.  Regardless just something to think about.","commit_id":"97017fe8bae561597bd09b7fc3d1c4b4aa8f77b8"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"b4baaa2099e9973b61445512146e944967331311","unresolved":false,"context_lines":[{"line_number":40,"context_line":"* cinder-baremetal (python-cinderbaremetalclient)"},{"line_number":41,"context_line":"* cinder-local (python-cinderlocallient)"},{"line_number":42,"context_line":"* volume (python-volumeclient)"},{"line_number":43,"context_line":"* brick (python-brickclient)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"I will use `cinder-baremetal` name until we\u0027ll make final decision on"},{"line_number":46,"context_line":"it\u0027s name."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_966ee0c7","line":43,"updated":"2015-09-22 14:41:20.000000000","message":"I think turning this into a \"brick\" thing works, frankly and then that can be leveraged.  In other words brickclient may make the most sense and introduce the least amount of confusion.\n\nI initially wasn\u0027t a fan of the idea of adding anything new, but just wanted to expose the existing attach command and it\u0027s response/connection data to let a consumer do whatever they want with it.  I\u0027m still not necessarily a fan of building a tool that does \"everything\" but who knows, maybe this is something that could be leveraged in multiple places.\n\nI\u0027d urge that we try and design something that\u0027s flexible though, we have a tendency to make things somewhat rigid for our \"OpenStack/Cinder\" view of the world.","commit_id":"97017fe8bae561597bd09b7fc3d1c4b4aa8f77b8"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"5b878e9a1090aa56c8eadade2afb2e51ab07c4f0","unresolved":false,"context_lines":[{"line_number":40,"context_line":"* cinder-baremetal (python-cinderbaremetalclient)"},{"line_number":41,"context_line":"* cinder-local (python-cinderlocallient)"},{"line_number":42,"context_line":"* volume (python-volumeclient)"},{"line_number":43,"context_line":"* brick (python-brickclient)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"I will use `cinder-baremetal` name until we\u0027ll make final decision on"},{"line_number":46,"context_line":"it\u0027s name."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_e893b4f8","line":43,"in_reply_to":"ba15a1d1_966ee0c7","updated":"2015-09-22 17:26:20.000000000","message":"brickclient might not be a bad name/place for it.","commit_id":"97017fe8bae561597bd09b7fc3d1c4b4aa8f77b8"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"b4baaa2099e9973b61445512146e944967331311","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Volume attachement::"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    cinder-baremetal generate-attach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"After this command cinder-baremetal cient will call Cinder API to change volume"},{"line_number":61,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_76d9cc82","line":58,"updated":"2015-09-22 14:41:20.000000000","message":"Honestly, this is the sort of thing I envisioned we just add to Cinder and skip all the agents/attachers etc at least for now.  \n\nIn most cases I think this is going to be more \"friendly\" and I think that many people will not want to install a package on their systems to have it do connection/mounting for them.","commit_id":"97017fe8bae561597bd09b7fc3d1c4b4aa8f77b8"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"5b878e9a1090aa56c8eadade2afb2e51ab07c4f0","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Volume attachement::"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    cinder-baremetal generate-attach \u003cvolume_id\u003e \u003cIQN\u003e"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"After this command cinder-baremetal cient will call Cinder API to change volume"},{"line_number":61,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_48ac2035","line":58,"in_reply_to":"ba15a1d1_76d9cc82","updated":"2015-09-22 17:26:20.000000000","message":"I disagree here.   I think there is a lot of value to end users that want to be able to create a cinder volume and then have a tool that already knows how to do the attachment of that volume to their system.  For one, they have no idea what backend the volume is, FC, iSCSI, etc and shouldn\u0027t.  \n\nI really like the idea of some tool whatever it is that can do the coordination on the host to 1) gather the initiator information, 2) call cinder to ask it to export the volume and 3) detect the volume and report the device path(s) that show up on the host once it\u0027s complete.   I don\u0027t think we need to add anything to Cinder or it\u0027s API to do this.  We just need a new client like tool, whatever it\u0027s named that can do this coordination.  \n\nI think the entire value of this proposal is the complete coordination and automation of the attach process.\n\nAlso, adding something like generate-attach to the Cinder API is basically useless without the initiator connector information, because the cinder drivers need the connector information to know who/what they are exporting the volume to.","commit_id":"97017fe8bae561597bd09b7fc3d1c4b4aa8f77b8"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"5b878e9a1090aa56c8eadade2afb2e51ab07c4f0","unresolved":false,"context_lines":[{"line_number":74,"context_line":"Alternatives"},{"line_number":75,"context_line":"------------"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"None"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_28268cce","line":77,"updated":"2015-09-22 17:26:20.000000000","message":"I wouldn\u0027t say it\u0027s None.  I would say that the Cinder APIs exist today that allow anyone to write this tool.  So, we could simply do nothing and point people to the Cinder API documentation to figure out how to attach a volume to a bare metal machine.","commit_id":"97017fe8bae561597bd09b7fc3d1c4b4aa8f77b8"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"5b878e9a1090aa56c8eadade2afb2e51ab07c4f0","unresolved":false,"context_lines":[{"line_number":157,"context_line":"Dependencies"},{"line_number":158,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"TBD"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba15a1d1_8815584a","line":160,"updated":"2015-09-22 17:26:20.000000000","message":"os-brick","commit_id":"97017fe8bae561597bd09b7fc3d1c4b4aa8f77b8"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"ecc693e38cbb0a51fee3accedeb983f421d4930b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"TODO(e0ne): re-think this section and add API to get only initiator information"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"In case of Ironic when we don\u0027t want to install any package into the user\u0027s"},{"line_number":51,"context_line":"instances, we could generate commands to execute them manually by users."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Volume attachement::"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a26ad4f_861101af","line":51,"updated":"2015-10-28 22:38:12.000000000","message":"The user will be installing the brick client themselves to do this. \n\npip install python-brickclient","commit_id":"ab83615598367b57c3dec2453cfef3b4d4925bb2"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b7a3501030cd958405ffa4eae1a51600622b3089","unresolved":false,"context_lines":[{"line_number":71,"context_line":"brick will support authentification via Keystone Token as well, as"},{"line_number":72,"context_line":"username/password pair."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Since mount/unmount is admin only operation we need to run brick client as"},{"line_number":75,"context_line":"root to not add oslo.rootwrap dependency."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_a7ed3027","line":74,"updated":"2015-10-26 05:59:38.000000000","message":"Since now we are just generating the scripts for the admin to run, brick client itself shouldn\u0027t need to run as root, right?","commit_id":"ab83615598367b57c3dec2453cfef3b4d4925bb2"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b7a3501030cd958405ffa4eae1a51600622b3089","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"This change will provide new CLI tool for users with own API."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"python-cinderclient will show hostname instead instance UUID if volume will be"},{"line_number":112,"context_line":"attached without Nova."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a29b11f_c7e62c44","line":111,"updated":"2015-10-26 05:59:38.000000000","message":"With the idea of using this for containers as well, do we need something more transportable instead of hostname?","commit_id":"ab83615598367b57c3dec2453cfef3b4d4925bb2"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"ecc693e38cbb0a51fee3accedeb983f421d4930b","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"This change will provide new CLI tool for users with own API."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"python-cinderclient will show hostname instead instance UUID if volume will be"},{"line_number":112,"context_line":"attached without Nova."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a26ad4f_e620f5f9","line":111,"in_reply_to":"3a29b11f_c7e62c44","updated":"2015-10-28 22:38:12.000000000","message":"Cinder can only attach to an instance uuid or a hostname.","commit_id":"ab83615598367b57c3dec2453cfef3b4d4925bb2"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"ecc693e38cbb0a51fee3accedeb983f421d4930b","unresolved":false,"context_lines":[{"line_number":119,"context_line":"Other deployer impact"},{"line_number":120,"context_line":"---------------------"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Deployers should install new package to have new functionality"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a26ad4f_668385cd","line":122,"updated":"2015-10-28 22:38:12.000000000","message":"a deployer can\u0027t install the client on the running ironic instance, only an end user can.","commit_id":"ab83615598367b57c3dec2453cfef3b4d4925bb2"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"47af6f977c3420b3c46c0648105a95c9676dd2a8","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"E.g.::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    brick attach [--hostname host] \u003cvolume_id\u003e"},{"line_number":46,"context_line":"    brick detach \u003cvolume_id\u003e"},{"line_number":47,"context_line":"    brick connector"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_204dbdc3","line":45,"updated":"2015-11-12 18:37:26.000000000","message":"I wonder if we should have an option to pass a UUID as an alternative to hostname? No, this would not be an instance UUID, but the caller could generate one and use this as a \"non-instance UUID\" and might allow for a more unique way of keeping track of this attachment.\nhostname has the potential to create naming conflicts, and makes it hard to do a detach if there is \u003e1 volume attached to the same host.","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"434e485370a298b834d10afb70cc443d1758087d","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"E.g.::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    brick attach [--hostname host] \u003cvolume_id\u003e"},{"line_number":46,"context_line":"    brick detach \u003cvolume_id\u003e"},{"line_number":47,"context_line":"    brick connector"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba8a016a_b0b498d1","line":45,"in_reply_to":"da85f559_204dbdc3","updated":"2015-11-16 09:07:40.000000000","message":"We can pass what we need as hostname.","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"47af6f977c3420b3c46c0648105a95c9676dd2a8","unresolved":false,"context_lines":[{"line_number":43,"context_line":"E.g.::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    brick attach [--hostname host] \u003cvolume_id\u003e"},{"line_number":46,"context_line":"    brick detach \u003cvolume_id\u003e"},{"line_number":47,"context_line":"    brick connector"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_40a48149","line":46,"updated":"2015-11-12 18:37:26.000000000","message":"There should  perhaps be a requirement for an attachment_id to be passed in. There is no mechanism to detach a volume without one, in the case of multi-attach. The detach will fail:\nhttps://github.com/openstack/cinder/blob/master/cinder/api/contrib/volume_actions.py#L150\nIf there is only one attach, it will work. But for multi-attach, we need an attachment_id:\nhttps://github.com/openstack/cinder/blob/master/cinder/volume/manager.py#L951\n\nOr is multi-attach not going to be supported? If so, it should be stated explicitly.","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"434e485370a298b834d10afb70cc443d1758087d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"E.g.::"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    brick attach [--hostname host] \u003cvolume_id\u003e"},{"line_number":46,"context_line":"    brick detach \u003cvolume_id\u003e"},{"line_number":47,"context_line":"    brick connector"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba8a016a_10c4843e","line":46,"in_reply_to":"da85f559_40a48149","updated":"2015-11-16 09:07:40.000000000","message":"Good catch, I\u0027ll add it in the next patch","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"2fe5c168467187192dedd04384a861b2489cdf3b","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"After this command brick cient will call Cinder API to change volume"},{"line_number":58,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":59,"context_line":"host."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Volume attachement::"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_119dba09","line":59,"updated":"2015-11-11 16:40:38.000000000","message":"I\u0027m still not clear why we need the brick client here?  Is there a strong reason in this use case that prevents cinderclient from being our tool/client that gets used here?\n\nSo what you are proposing as I see it will likely require brick-client calling into cinder-client (or are you going to try and go direct to cinder-API)?\n\nWhy not just use cinderclient, and even provide an option to install brick and use it if needed/desired?  Since cinderclient already has all the \"stuff\" needed to interact with the API that seems right to me but maybe I\u0027m missing some important details here.","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"6d40006dc058f344da14e612707e8076ce8551ff","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"After this command brick cient will call Cinder API to change volume"},{"line_number":58,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":59,"context_line":"host."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Volume attachement::"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_2f4ec596","line":59,"updated":"2015-11-09 17:40:13.000000000","message":"If I understand correctly, the brick client provides only volume export to the target server such as Ironic baremetal(and provides authentication to the volume too), and then Admin of the target host can connect the created volume to own host by manually, right?\n\nIn that case, attach or detach options are confusing I think.\n\"brick export/brick unexport\" might be more intuitively.\n\nAlso please add more detail about how admin uses created volume.","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"d83db0c42f24c15a0d64dc6a4fe3c2598bee4693","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"After this command brick cient will call Cinder API to change volume"},{"line_number":58,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":59,"context_line":"host."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Volume attachement::"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_7a741b35","line":59,"in_reply_to":"da85f559_119dba09","updated":"2015-11-11 17:16:11.000000000","message":"I don\u0027t want to confuse people having 2 different \u0027attach\u0027 methods. cinderclient attach only changes the database. \n\nAs an option, we can introduce new binary in the cinderclient project to have these feature. In such case, we\u0027ll have 2 clients in one repo.\n\nCalling direct API is a good idea, but I\u0027m not sure that it is a best way because we\u0027ll duplicate a python-cinderclient code.\n\nThe one more reason to make it as a separate project is (we discussed it some time ago in IRC): cinderclient works only with Cinder API. Adding features to manage local volumes attachments looks like out of scope of cinderclient.","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"3ae148128d03466375fd71c7bb0170a32145b4aa","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"After this command brick cient will call Cinder API to change volume"},{"line_number":58,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":59,"context_line":"host."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Volume attachement::"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_c009ac85","line":59,"in_reply_to":"da85f559_2f4ec596","updated":"2015-11-11 11:19:17.000000000","message":"Mitsuhiro, \nbrick client will be able to attach and detach volumes to the local host (barematel or VM). You can try it now [1].\n\n\nNew admin docs will be created a bit later\n\nhttps://github.com/e0ne/python-brickclien","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"49963994d2abc14edc94ca564c0dc7302bac98ec","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"After this command brick cient will call Cinder API to change volume"},{"line_number":58,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":59,"context_line":"host."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Volume attachement::"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_2d716d0f","line":59,"in_reply_to":"da85f559_9a2f7f87","updated":"2015-11-11 22:47:54.000000000","message":"I understand. Please update supported platform and requirements in the spec.","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"d83db0c42f24c15a0d64dc6a4fe3c2598bee4693","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"After this command brick cient will call Cinder API to change volume"},{"line_number":58,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":59,"context_line":"host."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Volume attachement::"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_9a2f7f87","line":59,"in_reply_to":"da85f559_b4e29c2d","updated":"2015-11-11 17:16:11.000000000","message":"I have not time and env to test with Windows env yet. It definitely should support Windows too.\n\nForce detach is out of scope of this spec but it will be implemented too","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"b56409b8ec009a3bddaec08431cae2a0cf86b1c0","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"After this command brick cient will call Cinder API to change volume"},{"line_number":58,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":59,"context_line":"host."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Volume attachement::"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_b4e29c2d","line":59,"in_reply_to":"da85f559_c009ac85","updated":"2015-11-11 16:42:14.000000000","message":"Thank you for your reply. Now I understand the mechanism of brickclient when I read the document on github.\n\nCurrently this client tool requires open-iscsi, ceph-common and nfs-common. It means this tool is only supported Linux environment other than Windows. I think it is better to be described precisely in this spec to avoid confusion. Ironic supports not only linux but also Windows too.\n\nAlso when I read this spec, I couldn\u0027t understand the place which brickclient is executed. It also better to be described in the spec.\n\nOne more question is, do you plan to support force detach option based on the discussion at the Summit? When admin want to do force detach, the server might uncontrollable. In that case, can we force detach the volume from other servers?","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"47af6f977c3420b3c46c0648105a95c9676dd2a8","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"After this command brick cient will call Cinder API to change volume"},{"line_number":58,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":59,"context_line":"host."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Volume attachement::"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_803fc9b2","line":59,"in_reply_to":"da85f559_c009ac85","updated":"2015-11-12 18:37:26.000000000","message":"link is missing final \u0027t\u0027:\nhttps://github.com/e0ne/python-brickclient","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"47af6f977c3420b3c46c0648105a95c9676dd2a8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"Volume attachement::"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    brick attach [--hostname host]"},{"line_number":64,"context_line":"                 [--mountpoint /mnt/disk]"},{"line_number":65,"context_line":"                 [--multipath True]"},{"line_number":66,"context_line":"                 [--enforce_multipath True]"},{"line_number":67,"context_line":"                 [--mode rw]"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da85f559_0050b930","line":64,"updated":"2015-11-12 18:37:26.000000000","message":"As above, caller should be able to generate a UUID and pass it in.","commit_id":"e37ddfe48a97ce5675efc1ff140ac901ff831c46"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"cce7be46672d28ea2b6c68703748e2b36c5939ea","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Thre is no tool wich could automate all the attach/detach process without using"},{"line_number":23,"context_line":"Nova."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_1a86da65","line":22,"updated":"2015-12-09 15:26:12.000000000","message":"There \n\nMaybe \"Currently there is not a tool...\"","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"4df2eb107e14852c0e93a2e2fe57e86a2a560752","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Thre is no tool wich could automate all the attach/detach process without using"},{"line_number":23,"context_line":"Nova."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_5c4a1f57","line":22,"in_reply_to":"7a740942_1a86da65","updated":"2015-12-09 15:36:37.000000000","message":"Done","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b945c4fe2c18198cf405b70f50a2d47f31fbbf0b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Thre is no tool wich could automate all the attach/detach process without using"},{"line_number":23,"context_line":"Nova."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_fa48ae8c","line":22,"in_reply_to":"7a740942_1a86da65","updated":"2015-12-09 15:38:53.000000000","message":"Good suggestion. Should at least fix /Thre/There/ and /wich/which/.","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"962165a9d5ece1ff50ebdd83900444512ef9bfd1","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Thre is no tool wich could automate all the attach/detach process without using"},{"line_number":23,"context_line":"Nova."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_3c8cf334","line":22,"in_reply_to":"7a740942_fa48ae8c","updated":"2015-12-09 15:43:07.000000000","message":"Done","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b945c4fe2c18198cf405b70f50a2d47f31fbbf0b","unresolved":false,"context_lines":[{"line_number":92,"context_line":"Alternatives"},{"line_number":93,"context_line":"------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"1. Cinder already has all needed APIs. Any API consumer could use exusting"},{"line_number":96,"context_line":"   methods to implement attach/detach actions without Nova."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"2. We can implement needed API inside new pythob-brickclient."}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_1a1c9a76","line":95,"updated":"2015-12-09 15:38:53.000000000","message":"/exusting/existing/","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"962165a9d5ece1ff50ebdd83900444512ef9bfd1","unresolved":false,"context_lines":[{"line_number":92,"context_line":"Alternatives"},{"line_number":93,"context_line":"------------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"1. Cinder already has all needed APIs. Any API consumer could use exusting"},{"line_number":96,"context_line":"   methods to implement attach/detach actions without Nova."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"2. We can implement needed API inside new pythob-brickclient."}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_dc804ffa","line":95,"in_reply_to":"7a740942_1a1c9a76","updated":"2015-12-09 15:43:07.000000000","message":"Done","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b945c4fe2c18198cf405b70f50a2d47f31fbbf0b","unresolved":false,"context_lines":[{"line_number":95,"context_line":"1. Cinder already has all needed APIs. Any API consumer could use exusting"},{"line_number":96,"context_line":"   methods to implement attach/detach actions without Nova."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"2. We can implement needed API inside new pythob-brickclient."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"3. We can itroduce new binary (e.g.: brick) inside python-cinderclient project."},{"line_number":101,"context_line":"   In such case we\u0027ll have two different clients inside single repository."}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_dc07ef16","line":98,"updated":"2015-12-09 15:38:53.000000000","message":"/pythob/python/","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"962165a9d5ece1ff50ebdd83900444512ef9bfd1","unresolved":false,"context_lines":[{"line_number":95,"context_line":"1. Cinder already has all needed APIs. Any API consumer could use exusting"},{"line_number":96,"context_line":"   methods to implement attach/detach actions without Nova."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"2. We can implement needed API inside new pythob-brickclient."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"3. We can itroduce new binary (e.g.: brick) inside python-cinderclient project."},{"line_number":101,"context_line":"   In such case we\u0027ll have two different clients inside single repository."}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_9c7ba729","line":98,"in_reply_to":"7a740942_dc07ef16","updated":"2015-12-09 15:43:07.000000000","message":"Done","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b945c4fe2c18198cf405b70f50a2d47f31fbbf0b","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"2. We can implement needed API inside new pythob-brickclient."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"3. We can itroduce new binary (e.g.: brick) inside python-cinderclient project."},{"line_number":101,"context_line":"   In such case we\u0027ll have two different clients inside single repository."},{"line_number":102,"context_line":"   From the packager\u0027s point of view it will increase numbers of possible"},{"line_number":103,"context_line":"   python-cinderclient packages. E.g.: python-cinderclient-iscsci,"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_fc23cba5","line":100,"updated":"2015-12-09 15:38:53.000000000","message":"/itroduce/introduce/","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"962165a9d5ece1ff50ebdd83900444512ef9bfd1","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"2. We can implement needed API inside new pythob-brickclient."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"3. We can itroduce new binary (e.g.: brick) inside python-cinderclient project."},{"line_number":101,"context_line":"   In such case we\u0027ll have two different clients inside single repository."},{"line_number":102,"context_line":"   From the packager\u0027s point of view it will increase numbers of possible"},{"line_number":103,"context_line":"   python-cinderclient packages. E.g.: python-cinderclient-iscsci,"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_dc97ef38","line":100,"in_reply_to":"7a740942_fc23cba5","updated":"2015-12-09 15:43:07.000000000","message":"Done","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b945c4fe2c18198cf405b70f50a2d47f31fbbf0b","unresolved":false,"context_lines":[{"line_number":147,"context_line":"----------------"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"* All drivers should implement initialize_connection which could be invoked"},{"line_number":150,"context_line":"  several times without any side-effect. We\u0027ve got a filed bugs for some of the"},{"line_number":151,"context_line":"  drivers."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_fc718ba9","line":150,"updated":"2015-12-09 15:38:53.000000000","message":"/We\u0027ve got a filed/We\u0027ve filed/","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"962165a9d5ece1ff50ebdd83900444512ef9bfd1","unresolved":false,"context_lines":[{"line_number":147,"context_line":"----------------"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"* All drivers should implement initialize_connection which could be invoked"},{"line_number":150,"context_line":"  several times without any side-effect. We\u0027ve got a filed bugs for some of the"},{"line_number":151,"context_line":"  drivers."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_5cac5f8c","line":150,"in_reply_to":"7a740942_fc718ba9","updated":"2015-12-09 15:43:07.000000000","message":"Done","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b945c4fe2c18198cf405b70f50a2d47f31fbbf0b","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"* Make changes to Cinder API if needed"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"* Create python-brickclient project and implement attach/dettach methods"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"* Unit-tests and Tempest tests are required"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_fca8abdd","line":175,"updated":"2015-12-09 15:38:53.000000000","message":"Should this be removed now?","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"962165a9d5ece1ff50ebdd83900444512ef9bfd1","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"* Make changes to Cinder API if needed"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"* Create python-brickclient project and implement attach/dettach methods"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"* Unit-tests and Tempest tests are required"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"7a740942_7ca91b7b","line":175,"in_reply_to":"7a740942_fca8abdd","updated":"2015-12-09 15:43:07.000000000","message":"Thanks! Done","commit_id":"2c89a913349fb6a0569b22ded3fc87db13688553"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"102b76d11286dada97569fe967529c3a7f8858ff","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Volume attachement::"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    cinder local-attach [--hostname host]"},{"line_number":67,"context_line":"                        [--mountpoint /mnt/disk]"},{"line_number":68,"context_line":"                        [--multipath True]"},{"line_number":69,"context_line":"                        [--enforce_multipath True]"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7a740942_369f2ab6","line":66,"updated":"2015-12-09 17:30:36.000000000","message":"Do we even need this option.   The command is implied that we are attaching to the local host itself, we should be able to fetch the hostname in code.   Allowing a user to pass that in, means they can set it wrong for the current host they are attaching it.\n\nthey could be on host \"foo\" and issue\ncinder local-attach --hostname bar \u003cvolume_id\u003e","commit_id":"4eb26be2b988164e38abfeda69e01cbf3fbd8969"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"2dfa46806da9ac3433582e0dc807a74a44407ec0","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Volume attachement::"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    cinder local-attach [--hostname host]"},{"line_number":67,"context_line":"                        [--mountpoint /mnt/disk]"},{"line_number":68,"context_line":"                        [--multipath True]"},{"line_number":69,"context_line":"                        [--enforce_multipath True]"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7a740942_56751630","line":66,"in_reply_to":"7a740942_369f2ab6","updated":"2015-12-09 17:35:25.000000000","message":"It makes sense for me.","commit_id":"4eb26be2b988164e38abfeda69e01cbf3fbd8969"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"102b76d11286dada97569fe967529c3a7f8858ff","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Volume detachement::"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    cinder local-detach [--attachment_uuid uuid]"},{"line_number":78,"context_line":"                        [--multipath True]"},{"line_number":79,"context_line":"                        [--enforce_multipath True]"},{"line_number":80,"context_line":"                        [--device_info device-info]"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7a740942_b6c0fa7d","line":77,"updated":"2015-12-09 17:30:36.000000000","message":"The same is true here.   They can give an attachment_uuid that isn\u0027t for the local host the volume is attached to, which will lead to problems.   The code should discover the correct attachment_uuid from the attachments list that comes back from the cinder volume get, and match it against the current host.\n\nYes, this means that a volume can only be attached once per BM node/host.","commit_id":"4eb26be2b988164e38abfeda69e01cbf3fbd8969"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"db6bfcdb483932206daeaa0394e8655c82b208a1","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Volume detachement::"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    cinder local-detach [--attachment_uuid uuid]"},{"line_number":78,"context_line":"                        [--multipath True]"},{"line_number":79,"context_line":"                        [--enforce_multipath True]"},{"line_number":80,"context_line":"                        [--device_info device-info]"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7a740942_28257ead","line":77,"in_reply_to":"7a740942_b6c0fa7d","updated":"2015-12-09 20:32:29.000000000","message":"It seems that we should allow this option precisely because it overcomes the limit of one one volume per node/host.\nA well-behaved caller will keep track of the attachment_uuid and use it for the detach. We should have fallback in case that is missing, which is what we have today in Cinder if it is missing, and we should have a force-detach-all for cleanup as well.\nBut it seems that this option allows multi-attach and we should not fail to support that when we already have the Cinder server code to work with attachment_uuid and attempt a solution if it is missing.","commit_id":"4eb26be2b988164e38abfeda69e01cbf3fbd8969"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"8383ac7a1244da5bbdf5aa4046b9b3d19d0d7934","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    pip install python-cinderclient"},{"line_number":61,"context_line":"    pip install os-brick"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"After this command brick cient will call Cinder API to change volume"},{"line_number":64,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":65,"context_line":"host."},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_0f8f4524","line":63,"updated":"2015-12-10 11:54:57.000000000","message":"s/cient/client","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8cb90aa102c2d011050a8be765cde32e98f70d29","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    pip install python-cinderclient"},{"line_number":61,"context_line":"    pip install os-brick"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"After this command brick cient will call Cinder API to change volume"},{"line_number":64,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":65,"context_line":"host."},{"line_number":66,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_d449c68f","line":63,"in_reply_to":"7a740942_0f8f4524","updated":"2015-12-10 15:21:37.000000000","message":"Done","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"8383ac7a1244da5bbdf5aa4046b9b3d19d0d7934","unresolved":false,"context_lines":[{"line_number":64,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":65,"context_line":"host."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Volume attachement::"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    cinder local-attach [--mountpoint /mnt/disk]"},{"line_number":70,"context_line":"                        [--multipath True]"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_6fb92915","line":67,"updated":"2015-12-10 11:54:57.000000000","message":"s/attachement/attachment","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8cb90aa102c2d011050a8be765cde32e98f70d29","unresolved":false,"context_lines":[{"line_number":64,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":65,"context_line":"host."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Volume attachement::"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    cinder local-attach [--mountpoint /mnt/disk]"},{"line_number":70,"context_line":"                        [--multipath True]"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_347ccab4","line":67,"in_reply_to":"7a740942_6fb92915","updated":"2015-12-10 15:21:37.000000000","message":"Done","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"8383ac7a1244da5bbdf5aa4046b9b3d19d0d7934","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                        [--mode rw]"},{"line_number":73,"context_line":"                        \u003cvolume_id\u003e"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Volume detachement::"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    cinder local-detach [--attachment_uuid uuid]"},{"line_number":78,"context_line":"                        [--multipath True]"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_cf0e1de5","line":75,"updated":"2015-12-10 11:54:57.000000000","message":"s/detachement/detachment","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8cb90aa102c2d011050a8be765cde32e98f70d29","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                        [--mode rw]"},{"line_number":73,"context_line":"                        \u003cvolume_id\u003e"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Volume detachement::"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    cinder local-detach [--attachment_uuid uuid]"},{"line_number":78,"context_line":"                        [--multipath True]"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_f44c029f","line":75,"in_reply_to":"7a740942_cf0e1de5","updated":"2015-12-10 15:21:37.000000000","message":"Done","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"f3a79cf1d4baba2c6892e7c561238c50335d84ff","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Volume detachement::"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    cinder local-detach [--attachment_uuid uuid]"},{"line_number":78,"context_line":"                        [--multipath True]"},{"line_number":79,"context_line":"                        [--enforce_multipath True]"},{"line_number":80,"context_line":"                        [--device_info device-info]"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_ac517b10","line":77,"updated":"2015-12-09 23:28:23.000000000","message":"nit: it\u0027s better to use same expression here with above example. [--attachment-id attachment-id]","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8cb90aa102c2d011050a8be765cde32e98f70d29","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Volume detachement::"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    cinder local-detach [--attachment_uuid uuid]"},{"line_number":78,"context_line":"                        [--multipath True]"},{"line_number":79,"context_line":"                        [--enforce_multipath True]"},{"line_number":80,"context_line":"                        [--device_info device-info]"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_d430e609","line":77,"in_reply_to":"7a740942_ac517b10","updated":"2015-12-10 15:21:37.000000000","message":"Done","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"f3a79cf1d4baba2c6892e7c561238c50335d84ff","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    cinder local-detach [--attachment_uuid uuid]"},{"line_number":78,"context_line":"                        [--multipath True]"},{"line_number":79,"context_line":"                        [--enforce_multipath True]"},{"line_number":80,"context_line":"                        [--device_info device-info]"},{"line_number":81,"context_line":"                        \u003cvolume_id\u003e"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_6c24f3ae","line":79,"updated":"2015-12-09 23:28:23.000000000","message":"nit: It\u0027s better to use \u0027-\u0027 instead of \u0027_\u0027 for options to avoid confusion.","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8cb90aa102c2d011050a8be765cde32e98f70d29","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    cinder local-detach [--attachment_uuid uuid]"},{"line_number":78,"context_line":"                        [--multipath True]"},{"line_number":79,"context_line":"                        [--enforce_multipath True]"},{"line_number":80,"context_line":"                        [--device_info device-info]"},{"line_number":81,"context_line":"                        \u003cvolume_id\u003e"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_943a5ee6","line":79,"in_reply_to":"7a740942_6c24f3ae","updated":"2015-12-10 15:21:37.000000000","message":"Done","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"8383ac7a1244da5bbdf5aa4046b9b3d19d0d7934","unresolved":false,"context_lines":[{"line_number":174,"context_line":"Work Items"},{"line_number":175,"context_line":"----------"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"* Implement proof-of-concept based on a python-cinderclinet"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"* Get feedback and complete the spec"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_ac72bfe1","line":177,"updated":"2015-12-10 11:54:57.000000000","message":"s/cinderclinet/cinderclient","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8cb90aa102c2d011050a8be765cde32e98f70d29","unresolved":false,"context_lines":[{"line_number":174,"context_line":"Work Items"},{"line_number":175,"context_line":"----------"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"* Implement proof-of-concept based on a python-cinderclinet"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"* Get feedback and complete the spec"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_b43d1adf","line":177,"in_reply_to":"7a740942_ac72bfe1","updated":"2015-12-10 15:21:37.000000000","message":"Done","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"8383ac7a1244da5bbdf5aa4046b9b3d19d0d7934","unresolved":false,"context_lines":[{"line_number":204,"context_line":"Testing"},{"line_number":205,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"* Unit-tests shoul be implemented"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"* New python-cinderclient API will be tested via functional tests on gates"},{"line_number":210,"context_line":"  to test attach/detach features withoout Nova instances."}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_2cbfaf61","line":207,"updated":"2015-12-10 11:54:57.000000000","message":"s/shoul/should","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8cb90aa102c2d011050a8be765cde32e98f70d29","unresolved":false,"context_lines":[{"line_number":204,"context_line":"Testing"},{"line_number":205,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"* Unit-tests shoul be implemented"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"* New python-cinderclient API will be tested via functional tests on gates"},{"line_number":210,"context_line":"  to test attach/detach features withoout Nova instances."}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_37b4cc33","line":207,"in_reply_to":"7a740942_2cbfaf61","updated":"2015-12-10 15:21:37.000000000","message":"Done","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8cb90aa102c2d011050a8be765cde32e98f70d29","unresolved":false,"context_lines":[{"line_number":207,"context_line":"* Unit-tests shoul be implemented"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"* New python-cinderclient API will be tested via functional tests on gates"},{"line_number":210,"context_line":"  to test attach/detach features withoout Nova instances."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* Functional tests for Ironic will be implemented to test attach/detach"},{"line_number":213,"context_line":"  features to Ironic instances."}],"source_content_type":"text/x-rst","patch_set":17,"id":"7a740942_37e28c30","line":210,"updated":"2015-12-10 15:21:37.000000000","message":"s/withoout/without","commit_id":"7d621256d42e02a569dfd8b3ec22d48d8203dcaf"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"df017f6d6c2bf9c16bd8d16730e6ff85ce3391a7","unresolved":false,"context_lines":[{"line_number":57,"context_line":"managers (apt, yum, etc.)."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"After this commandcinder cient will call Cinder API to change volume"},{"line_number":61,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":62,"context_line":"host."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7a740942_b7a75c0a","line":60,"updated":"2015-12-10 15:21:29.000000000","message":"s/cient/client/","commit_id":"c8cefae7786b349085c962a91d999c053fa77aef"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c0293d9226ed5b399eebec176f92ab84ac32fdc3","unresolved":false,"context_lines":[{"line_number":57,"context_line":"managers (apt, yum, etc.)."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"After this commandcinder cient will call Cinder API to change volume"},{"line_number":61,"context_line":"status to \u0027in-use\u0027 because we don\u0027t know when user will attach volume to the"},{"line_number":62,"context_line":"host."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7a740942_970ee0e3","line":60,"in_reply_to":"7a740942_b7a75c0a","updated":"2015-12-10 15:23:21.000000000","message":"Done","commit_id":"c8cefae7786b349085c962a91d999c053fa77aef"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"df017f6d6c2bf9c16bd8d16730e6ff85ce3391a7","unresolved":false,"context_lines":[{"line_number":201,"context_line":"Testing"},{"line_number":202,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"* Unit-tests shoul be implemented"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"* New python-cinderclient API will be tested via functional tests on gates"},{"line_number":207,"context_line":"  to test attach/detach features withoout Nova instances."}],"source_content_type":"text/x-rst","patch_set":18,"id":"7a740942_37b92c16","line":204,"updated":"2015-12-10 15:21:29.000000000","message":"s/shoul/should/","commit_id":"c8cefae7786b349085c962a91d999c053fa77aef"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"c0293d9226ed5b399eebec176f92ab84ac32fdc3","unresolved":false,"context_lines":[{"line_number":201,"context_line":"Testing"},{"line_number":202,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"* Unit-tests shoul be implemented"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"* New python-cinderclient API will be tested via functional tests on gates"},{"line_number":207,"context_line":"  to test attach/detach features withoout Nova instances."}],"source_content_type":"text/x-rst","patch_set":18,"id":"7a740942_57f958c7","line":204,"in_reply_to":"7a740942_37b92c16","updated":"2015-12-10 15:23:21.000000000","message":"Done","commit_id":"c8cefae7786b349085c962a91d999c053fa77aef"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"e3db85a572b26a7ce284a32e16903acaa9fffd5e","unresolved":false,"context_lines":[{"line_number":111,"context_line":"   project."},{"line_number":112,"context_line":"   In such case we\u0027ll have two different clients inside single repository."},{"line_number":113,"context_line":"   From the packager\u0027s point of view it will increase numbers of possible"},{"line_number":114,"context_line":"   python-cinderclient packages. E.g.: python-cinderclient-iscsci,"},{"line_number":115,"context_line":"   python-cinderclient-rbd, etc."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":19,"id":"7a740942_1ab9b72e","line":114,"updated":"2015-12-10 15:35:54.000000000","message":"s/iscsci/iscsi \u003d\u003e iSCSI \u003d Internet Small Computer System Interface","commit_id":"79b63bf36333388b07b707618cf6fe580085c913"}]}
