)]}'
{"doc/config-ref-rst/source/block-storage/drivers/pure-storage-driver.rst":[{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3a1b04dc33d5e5e704523416fb130edda5777369","unresolved":false,"context_lines":[{"line_number":21,"context_line":"means you do not have the high-availability and non-disruptive upgrade"},{"line_number":22,"context_line":"benefits provided by FlashArray."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Workaround: You must set up multipathing on your hosts."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Supported operations"},{"line_number":27,"context_line":"~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_96a9bb92","line":24,"updated":"2015-12-07 19:13:38.000000000","message":"I don\u0027t think this line is necessary. The above paragraph makes this clear enough I think, but if you want to clarify further can I suggest adding another sentence to the end of line 22. Something like:\n\n\"Multipathing must be used to take advantage of these benefits.\"","commit_id":"46b2da5d0d416a1c3dec4a61250e3298148b8d58"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3a1b04dc33d5e5e704523416fb130edda5777369","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    services are installed and configured in your OpenStack cluster."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"In these steps, you will edit the ``cinder.conf`` file to configure"},{"line_number":58,"context_line":"OpenStack Block Storage service to enable multipathing and to use the"},{"line_number":59,"context_line":"Pure Storage FlashArray as back-end storage."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"#. Retrieve an API token from Purity"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_960a1b78","line":58,"updated":"2015-12-07 19:13:38.000000000","message":"nit: \"...configure the OpenStack Block Storage service...\"","commit_id":"46b2da5d0d416a1c3dec4a61250e3298148b8d58"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3a1b04dc33d5e5e704523416fb130edda5777369","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    Use the appropriate create or list command below to display and copy the"},{"line_number":72,"context_line":"    Purity API token:"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    * To create a new API token::"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        $ pureadmin create --api-token USER"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_b6d4f7bc","line":74,"updated":"2015-12-07 19:13:38.000000000","message":"Please use a single \u0027:\u0027 here, and use \".. code-block:: console\" for the command below.","commit_id":"46b2da5d0d416a1c3dec4a61250e3298148b8d58"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3a1b04dc33d5e5e704523416fb130edda5777369","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        $ pureadmin create --api-token USER"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    * The following is an example output::"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        $ pureadmin create --api-token pureuser"},{"line_number":81,"context_line":"        Name      API Token                             Created"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_56def3dd","line":78,"updated":"2015-12-07 19:13:38.000000000","message":"ditto","commit_id":"46b2da5d0d416a1c3dec4a61250e3298148b8d58"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3a1b04dc33d5e5e704523416fb130edda5777369","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        Name      API Token                             Created"},{"line_number":82,"context_line":"        pureuser  902fdca3-7e3f-d2e4-d6a6-24c2285fe1d9  2014-08-04 14:50:30"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    * To list an existing API token::"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        $ pureadmin list --api-token --expose USER"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_16e4eba9","line":84,"updated":"2015-12-07 19:13:38.000000000","message":"ditto","commit_id":"46b2da5d0d416a1c3dec4a61250e3298148b8d58"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3a1b04dc33d5e5e704523416fb130edda5777369","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        $ pureadmin list --api-token --expose USER"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    * The following is an example output::"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        $ pureadmin list --api-token --expose USER"},{"line_number":91,"context_line":"        Name      API Token                             Created"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_36e1e79a","line":88,"updated":"2015-12-07 19:13:38.000000000","message":"ditto","commit_id":"46b2da5d0d416a1c3dec4a61250e3298148b8d58"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3a1b04dc33d5e5e704523416fb130edda5777369","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        Name      API Token                             Created"},{"line_number":92,"context_line":"        pureuser  902fdca3-7e3f-d2e4-d6a6-24c2285fe1d9  2014-08-04 14:50:30"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"#. Copy the API token retrieved (``902fdca3-7e3f-d2e4-d6a6-24c2285fe1d9`` from the examples above) to use in the next step."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"#. Edit the OpenStack Block Storage service configuration file"},{"line_number":97,"context_line":"    The following sample ``/etc/cinder/cinder.conf`` configuration lists the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_b6cdd7b8","line":94,"updated":"2015-12-07 19:13:38.000000000","message":"checkniceness is failing because this line is too long. Max length is 79.","commit_id":"46b2da5d0d416a1c3dec4a61250e3298148b8d58"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3a1b04dc33d5e5e704523416fb130edda5777369","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    relevant settings for a typical Block Storage service using a single"},{"line_number":99,"context_line":"    Pure Storage array:"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    .. code:: ini"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        [DEFAULT]"},{"line_number":104,"context_line":"        enabled_backends \u003d puredriver-1"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_36f80749","line":101,"updated":"2015-12-07 19:13:38.000000000","message":".. code-block:: ini","commit_id":"46b2da5d0d416a1c3dec4a61250e3298148b8d58"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3a1b04dc33d5e5e704523416fb130edda5777369","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":".. note::"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    The volume driver automatically creates purity host objects for"},{"line_number":132,"context_line":"    initiators as needed. If CHAP authentication is enabled via the"},{"line_number":133,"context_line":"    ``use_chap_auth`` setting, you must ensure there are no manually"},{"line_number":134,"context_line":"    created host objects with IQN\u0027s that will be used by the OpenStack"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_f6c35feb","line":131,"updated":"2015-12-07 19:13:38.000000000","message":"purity -\u003e Purity","commit_id":"46b2da5d0d416a1c3dec4a61250e3298148b8d58"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3a1b04dc33d5e5e704523416fb130edda5777369","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    The volume driver automatically creates purity host objects for"},{"line_number":132,"context_line":"    initiators as needed. If CHAP authentication is enabled via the"},{"line_number":133,"context_line":"    ``use_chap_auth`` setting, you must ensure there are no manually"},{"line_number":134,"context_line":"    created host objects with IQN\u0027s that will be used by the OpenStack"},{"line_number":135,"context_line":"    Block Storage. The driver will only modify credentials on hosts that"},{"line_number":136,"context_line":"    it manages."},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_a90c983b","line":134,"updated":"2015-12-07 19:13:38.000000000","message":"\"...used by OpenStack Block Storage.\" or \"...used by the OpenStack Block Storage service.\"","commit_id":"46b2da5d0d416a1c3dec4a61250e3298148b8d58"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"9d73bfdad1ff369437c5275a422355d3bdd76406","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":".. note::"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    These instructions assume that the cinder-api and cinder-scheduler"},{"line_number":54,"context_line":"    services are installed and configured in your OpenStack cluster."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Configure the OpenStack Block Storage service"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_2aeb9d79","line":53,"updated":"2015-12-08 08:45:33.000000000","message":"``cinder-api`` and ``cinder-scheduler``","commit_id":"8f729800763e6b2414e7b3e9000d9a32321f928c"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"b97218fd64a11c9e09a49c47a8616700ded557f6","unresolved":false,"context_lines":[{"line_number":57,"context_line":"---------------------------------------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"In these steps, you will edit the ``cinder.conf`` file to configure"},{"line_number":60,"context_line":"OpenStack Block Storage service to enable multipathing and to use the"},{"line_number":61,"context_line":"Pure Storage FlashArray as back-end storage."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"#. Retrieve an API token from Purity"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_059d7209","line":60,"updated":"2015-12-08 09:01:43.000000000","message":"Please address John\u0027s comment from previous patch (i.e., add \u0027the\u0027 before the service name).","commit_id":"8f729800763e6b2414e7b3e9000d9a32321f928c"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"b97218fd64a11c9e09a49c47a8616700ded557f6","unresolved":false,"context_lines":[{"line_number":61,"context_line":"Pure Storage FlashArray as back-end storage."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"#. Retrieve an API token from Purity"},{"line_number":64,"context_line":"    The OpenStack Block Storage service configuration requires an API token"},{"line_number":65,"context_line":"    from Purity. Actions performed by the volume driver use this token for"},{"line_number":66,"context_line":"    authorization. Also, Purity logs the volume driver\u0027s actions as being"},{"line_number":67,"context_line":"    performed by the user who owns this API token."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_a5a81e78","line":64,"updated":"2015-12-08 09:01:43.000000000","message":"Remove 1 space before the text - it should be aligned with the text on line 63 (apply to lines 64-74).","commit_id":"8f729800763e6b2414e7b3e9000d9a32321f928c"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"b97218fd64a11c9e09a49c47a8616700ded557f6","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"            $ pureadmin create --api-token USER"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    * The following is an example output:"},{"line_number":82,"context_line":"        .. code-block:: console"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"            $ pureadmin create --api-token pureuser"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_85f08292","line":81,"updated":"2015-12-08 09:01:43.000000000","message":"Remove the bullet before the text, as it is a part of the above item, not a new one.","commit_id":"8f729800763e6b2414e7b3e9000d9a32321f928c"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"b97218fd64a11c9e09a49c47a8616700ded557f6","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"            $ pureadmin list --api-token --expose USER"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    * The following is an example output:"},{"line_number":94,"context_line":"        .. code-block:: console"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"            $ pureadmin list --api-token --expose USER"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_2538ae3c","line":93,"updated":"2015-12-08 09:01:43.000000000","message":"likewise","commit_id":"8f729800763e6b2414e7b3e9000d9a32321f928c"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"b97218fd64a11c9e09a49c47a8616700ded557f6","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            Name      API Token                             Created"},{"line_number":98,"context_line":"            pureuser  902fdca3-7e3f-d2e4-d6a6-24c2285fe1d9  2014-08-04 14:50:30"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"#. Copy the API token retrieved (``902fdca3-7e3f-d2e4-d6a6-24c2285fe1d9`` from"},{"line_number":101,"context_line":"   the examples above) to use in the next step."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"#. Edit the OpenStack Block Storage service configuration file"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_45629a3f","line":100,"updated":"2015-12-08 09:01:43.000000000","message":"Could we make \u0027Copy the API token retrieved\u0027 bold for consistency with other items?\n -\u003e #. **Copy the API token retrieved**","commit_id":"8f729800763e6b2414e7b3e9000d9a32321f928c"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"9d73bfdad1ff369437c5275a422355d3bdd76406","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    Replace the following variables accordingly:"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    PURE\\_VOLUME\\_DRIVER"},{"line_number":124,"context_line":"        Use either cinder.volume.drivers.pure.PureISCSIDriver for iSCSI or"},{"line_number":125,"context_line":"        cinder.volume.drivers.pure.PureFCDriver for Fibre Channel"},{"line_number":126,"context_line":"        connectivity."},{"line_number":127,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_ca2779c8","line":124,"updated":"2015-12-08 08:45:33.000000000","message":"``cinder.volume.drivers.pure.PureISCSIDriver``","commit_id":"8f729800763e6b2414e7b3e9000d9a32321f928c"},{"author":{"_account_id":16237,"name":"venkatamahesh","email":"venkatamaheshkotha@gmail.com","username":"venkatamahesh"},"change_message_id":"9d73bfdad1ff369437c5275a422355d3bdd76406","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    PURE\\_VOLUME\\_DRIVER"},{"line_number":124,"context_line":"        Use either cinder.volume.drivers.pure.PureISCSIDriver for iSCSI or"},{"line_number":125,"context_line":"        cinder.volume.drivers.pure.PureFCDriver for Fibre Channel"},{"line_number":126,"context_line":"        connectivity."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    IP\\_PURE\\_MGMT"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_250c2e3a","line":125,"updated":"2015-12-08 08:45:33.000000000","message":"``cinder.volume.drivers.pure.PureFCDriver``","commit_id":"8f729800763e6b2414e7b3e9000d9a32321f928c"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"cc2801b70ff31c1b46b58e6f1de3981e88ae13b3","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"     .. code-block:: console"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        $ pureadmin list --api-token --expose USER"},{"line_number":101,"context_line":"        Name      API Token                             Created"},{"line_number":102,"context_line":"        pureuser  902fdca3-7e3f-d2e4-d6a6-24c2285fe1d9  2014-08-04 14:50:30"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_b9beedab","line":100,"updated":"2015-12-08 17:48:39.000000000","message":"should be: \"pureadmin list --api-token --expose pureuser\" for this example output block","commit_id":"203dd4e5b0d09c3c1c2fee9c95e8f04ceec286df"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"cc2801b70ff31c1b46b58e6f1de3981e88ae13b3","unresolved":false,"context_lines":[{"line_number":122,"context_line":"       pure_api_token \u003d PURE_API_TOKEN"},{"line_number":123,"context_line":"       use_multipath_for_image_xfer \u003d True"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    Replace the following variables accordingly:"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    PURE\\_VOLUME\\_DRIVER"},{"line_number":128,"context_line":"        Use either ``cinder.volume.drivers.pure.PureISCSIDriver`` for iSCSI or"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_f9f6b58d","line":125,"updated":"2015-12-08 17:48:39.000000000","message":"Should this section really be in the \u0027code-block\u0027 section? It\u0027s describing what is in the sample config. Can you switch it to a sub-point under the #. section?","commit_id":"203dd4e5b0d09c3c1c2fee9c95e8f04ceec286df"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"cc2801b70ff31c1b46b58e6f1de3981e88ae13b3","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    Replace the following variables accordingly:"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    PURE\\_VOLUME\\_DRIVER"},{"line_number":128,"context_line":"        Use either ``cinder.volume.drivers.pure.PureISCSIDriver`` for iSCSI or"},{"line_number":129,"context_line":"        ``cinder.volume.drivers.pure.PureFCDriver`` for Fibre Channel"},{"line_number":130,"context_line":"        connectivity."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_190b817e","line":127,"updated":"2015-12-08 17:48:39.000000000","message":"The \u0027\\\u0027 characters are showing up in the \u0027code-block\u0027 section, doesn\u0027t look like it is correct.","commit_id":"203dd4e5b0d09c3c1c2fee9c95e8f04ceec286df"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"22ef0ccee371fc8ee5f8adbdb513e120c0f58493","unresolved":false,"context_lines":[{"line_number":134,"context_line":"       domain name that resolves to that IP address."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"   PURE_API_TOKEN"},{"line_number":137,"context_line":"       The Purity Authorization token that the volume driver uses to"},{"line_number":138,"context_line":"       perform volume management on the Pure Storage array."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a740942_34b8b474","line":137,"updated":"2015-12-08 23:16:43.000000000","message":"nit: Should this be \"Purity authorization\"?","commit_id":"cd3db6a89d4fe680d68ad9f84f6ff20b361981e6"}]}
