)]}'
{"specs/DR.rst":[{"author":{"_account_id":14340,"name":"Memo Garcia","email":"guillermo.ramirez-garcia@hp.com","username":"memogarcia"},"change_message_id":"566def360aff50e4b9e6c3c108574f154bed7732","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Disaster Recovery"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_851d7968","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":22},"updated":"2016-02-10 11:46:01.000000000","message":"reducing the line lenght could be great","commit_id":"cb9ba81b44235c77c56f53fbadc5c21ed2d07192"},{"author":{"_account_id":14340,"name":"Memo Garcia","email":"guillermo.ramirez-garcia@hp.com","username":"memogarcia"},"change_message_id":"566def360aff50e4b9e6c3c108574f154bed7732","unresolved":false,"context_lines":[{"line_number":35,"context_line":"-----------"},{"line_number":36,"context_line":"The following diagram shows the algorithm that can be used to achieve goal 1."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. image:: failover.png"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The architecture should be pluggable, at least for the:"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_45e9c119","line":38,"range":{"start_line":38,"start_character":11,"end_line":38,"end_character":19},"updated":"2016-02-10 11:46:01.000000000","message":"question, instead of polling nova and neutron api, is it possible to get the status by pushing it from those apis?","commit_id":"cb9ba81b44235c77c56f53fbadc5c21ed2d07192"},{"author":{"_account_id":12211,"name":"Fabrizio Fresco","email":"fabrizio.fresco@hp.com","username":"frescof"},"change_message_id":"13381515c594b08375de479c974171f6a9adb070","unresolved":false,"context_lines":[{"line_number":35,"context_line":"-----------"},{"line_number":36,"context_line":"The following diagram shows the algorithm that can be used to achieve goal 1."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. image:: failover.png"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The architecture should be pluggable, at least for the:"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_fe863ab8","line":38,"range":{"start_line":38,"start_character":11,"end_line":38,"end_character":19},"in_reply_to":"3a57f1b5_45e9c119","updated":"2016-02-10 13:02:06.000000000","message":"Not sure to understand correctly. If this means to modify the nova/neutron api\u0027s I would try to avoid this approach.","commit_id":"cb9ba81b44235c77c56f53fbadc5c21ed2d07192"},{"author":{"_account_id":14340,"name":"Memo Garcia","email":"guillermo.ramirez-garcia@hp.com","username":"memogarcia"},"change_message_id":"566def360aff50e4b9e6c3c108574f154bed7732","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"-\tEvacuation"},{"line_number":43,"context_line":"-\tFencing"},{"line_number":44,"context_line":"-\tMonitoring"},{"line_number":45,"context_line":"-\tNotifications"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"All this pieces of the workflow should be loadable as plugins and be able to use multiple plugins at the same time (ex. have multiple monitoring systems checked before the evacuations)."},{"line_number":48,"context_line":"This is very important for the platform to be customizable simply writing a new plugin to implement specific behaviors or integrating different technologies."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_45d0e153","line":45,"range":{"start_line":44,"start_character":2,"end_line":45,"end_character":15},"updated":"2016-02-10 11:46:01.000000000","message":"are we going to implement this or should we leverage monasca?","commit_id":"cb9ba81b44235c77c56f53fbadc5c21ed2d07192"},{"author":{"_account_id":12211,"name":"Fabrizio Fresco","email":"fabrizio.fresco@hp.com","username":"frescof"},"change_message_id":"13381515c594b08375de479c974171f6a9adb070","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"-\tEvacuation"},{"line_number":43,"context_line":"-\tFencing"},{"line_number":44,"context_line":"-\tMonitoring"},{"line_number":45,"context_line":"-\tNotifications"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"All this pieces of the workflow should be loadable as plugins and be able to use multiple plugins at the same time (ex. have multiple monitoring systems checked before the evacuations)."},{"line_number":48,"context_line":"This is very important for the platform to be customizable simply writing a new plugin to implement specific behaviors or integrating different technologies."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_7e4faa92","line":45,"range":{"start_line":44,"start_character":2,"end_line":45,"end_character":15},"in_reply_to":"3a57f1b5_45d0e153","updated":"2016-02-10 13:02:06.000000000","message":"Monasca is only one option, and as stated this should be pluggable so multiple \"plugins\" can be used.","commit_id":"cb9ba81b44235c77c56f53fbadc5c21ed2d07192"},{"author":{"_account_id":14340,"name":"Memo Garcia","email":"guillermo.ramirez-garcia@hp.com","username":"memogarcia"},"change_message_id":"566def360aff50e4b9e6c3c108574f154bed7732","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Same as the approach for Goal 1, the following components need to be pluggable (extensibility):"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"-   Power management (both turn on/off)"},{"line_number":71,"context_line":"-   Database management"},{"line_number":72,"context_line":"-   Block storage management"},{"line_number":73,"context_line":"-   Object storage management"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_0558a9f9","line":70,"range":{"start_line":70,"start_character":4,"end_line":70,"end_character":39},"updated":"2016-02-10 11:46:01.000000000","message":"can we leverage cobbler?","commit_id":"cb9ba81b44235c77c56f53fbadc5c21ed2d07192"},{"author":{"_account_id":12211,"name":"Fabrizio Fresco","email":"fabrizio.fresco@hp.com","username":"frescof"},"change_message_id":"13381515c594b08375de479c974171f6a9adb070","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Same as the approach for Goal 1, the following components need to be pluggable (extensibility):"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"-   Power management (both turn on/off)"},{"line_number":71,"context_line":"-   Database management"},{"line_number":72,"context_line":"-   Block storage management"},{"line_number":73,"context_line":"-   Object storage management"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_9e2f06a1","line":70,"range":{"start_line":70,"start_character":4,"end_line":70,"end_character":39},"in_reply_to":"3a57f1b5_0558a9f9","updated":"2016-02-10 13:02:06.000000000","message":"Using cobbler would introduce a big dependency.\nIpmitools should be preferred IMHO.","commit_id":"cb9ba81b44235c77c56f53fbadc5c21ed2d07192"},{"author":{"_account_id":11151,"name":"Fausto Marzi","email":"fausto.marzi@ericsson.com","username":"fausto.marzi"},"change_message_id":"7aa695556d0b685298c0f8451338b35c06fb7554","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Same as the approach for Goal 1, the following components need to be pluggable (extensibility):"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"-   Power management (both turn on/off)"},{"line_number":71,"context_line":"-   Database management"},{"line_number":72,"context_line":"-   Block storage management"},{"line_number":73,"context_line":"-   Object storage management"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_da49fcd1","line":70,"range":{"start_line":70,"start_character":4,"end_line":70,"end_character":39},"in_reply_to":"3a57f1b5_3dfa95be","updated":"2016-02-10 16:21:26.000000000","message":"Can we use ironic first, to poweroff nodes, and if Ironic is not available use impitools or cobbler?\n\nI see a possible conflict with Ironic here. He we poweroff the nodes, we might generate inconsistencies with the nodes states in Ironic.","commit_id":"cb9ba81b44235c77c56f53fbadc5c21ed2d07192"},{"author":{"_account_id":11151,"name":"Fausto Marzi","email":"fausto.marzi@ericsson.com","username":"fausto.marzi"},"change_message_id":"8d02e73d9a0bddb1dcf85c1de9767110f5b0e4d2","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Same as the approach for Goal 1, the following components need to be pluggable (extensibility):"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"-   Power management (both turn on/off)"},{"line_number":71,"context_line":"-   Database management"},{"line_number":72,"context_line":"-   Block storage management"},{"line_number":73,"context_line":"-   Object storage management"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_3dfa95be","line":70,"range":{"start_line":70,"start_character":4,"end_line":70,"end_character":39},"in_reply_to":"3a57f1b5_9e2f06a1","updated":"2016-02-10 13:53:19.000000000","message":"IMHO, we could support both, in case ipmitools are not available or the hardware is OEM, or the ipmi service is on a separate management network from the freezer-dr. Powering off the bare metal node is critical this dr process, it is positive if more options are provided.","commit_id":"cb9ba81b44235c77c56f53fbadc5c21ed2d07192"},{"author":{"_account_id":2467,"name":"Jin Nan Zhang","email":"zhang.jinnan@99cloud.net","username":"zhangjinnan87"},"change_message_id":"1ea52fef22051532198235c8d9ed7f66bac14759","unresolved":false,"context_lines":[{"line_number":7,"context_line":"The concept of DR is quite large and various approaches are possible."},{"line_number":8,"context_line":"In Freezer has always been approached the “restore” your systems in case of disaster."},{"line_number":9,"context_line":"Even if this approach is fine in some cases, it’s the cheapest approach, but sometimes this is not an"},{"line_number":10,"context_line":"acceptable (RTO/RPO requirements) and a less invasive solution is needed (usually more expensive to build and maintain) to achieve smaller RTO/RPO’s."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Goals"},{"line_number":13,"context_line":"------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dae33548_27e4fe0b","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":98},"updated":"2016-02-14 01:21:25.000000000","message":"If oneline is longer than 80 characters, its items should be split with newlines. referance:http://docs.openstack.org/developer/hacking/","commit_id":"8707da7e6f7222c95d4aff65e698807129433226"},{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"16bb76060317aa5b9da0ea2b2601edbac62f41da","unresolved":false,"context_lines":[{"line_number":5,"context_line":"This blueprint introduces the DR capability to Freezer."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The concept of DR is quite large and various approaches are possible."},{"line_number":8,"context_line":"In Freezer has always been approached the “restore” your systems in case "},{"line_number":9,"context_line":"of disaster. Even if this approach is fine in some cases, it’s the cheapest"},{"line_number":10,"context_line":"approach, but sometimes this is not an acceptable (RTO/RPO requirements) and"},{"line_number":11,"context_line":"a less invasive solution is needed (usually more expensive to build and "}],"source_content_type":"text/x-rst","patch_set":4,"id":"5aef4532_44db3b1b","line":8,"range":{"start_line":8,"start_character":72,"end_line":8,"end_character":73},"updated":"2016-03-10 09:17:21.000000000","message":"remove more space","commit_id":"dff2dd15a222f5752e06b76f64f2bcd7990e2057"},{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"16bb76060317aa5b9da0ea2b2601edbac62f41da","unresolved":false,"context_lines":[{"line_number":8,"context_line":"In Freezer has always been approached the “restore” your systems in case "},{"line_number":9,"context_line":"of disaster. Even if this approach is fine in some cases, it’s the cheapest"},{"line_number":10,"context_line":"approach, but sometimes this is not an acceptable (RTO/RPO requirements) and"},{"line_number":11,"context_line":"a less invasive solution is needed (usually more expensive to build and "},{"line_number":12,"context_line":"maintain) to achieve smaller RTO/RPO’s."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Goals"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5aef4532_640ab78b","line":11,"range":{"start_line":11,"start_character":71,"end_line":11,"end_character":72},"updated":"2016-03-10 09:17:21.000000000","message":"ditto","commit_id":"dff2dd15a222f5752e06b76f64f2bcd7990e2057"},{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"16bb76060317aa5b9da0ea2b2601edbac62f41da","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    same DB, Block Storage and Object Storage."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    - OS DB should be replicated over the DC that are part of the DR solution,"},{"line_number":38,"context_line":"      this is needed so that all the OS services can be consistent on all DC\u0027s "},{"line_number":39,"context_line":"      (ex. cinder will see the same volumes on all sites)."},{"line_number":40,"context_line":"      This can be done in master-master or master-slave, to meet eventually"},{"line_number":41,"context_line":"      specific requirements."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5aef4532_848b831e","line":38,"range":{"start_line":38,"start_character":78,"end_line":38,"end_character":79},"updated":"2016-03-10 09:17:21.000000000","message":"remove  more  space","commit_id":"dff2dd15a222f5752e06b76f64f2bcd7990e2057"},{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"16bb76060317aa5b9da0ea2b2601edbac62f41da","unresolved":false,"context_lines":[{"line_number":43,"context_line":"      a distributed way over the sites that are part of the DR"},{"line_number":44,"context_line":"    - Object storage need to be distributed, same as block storage"},{"line_number":45,"context_line":"    - Glance backend follow the same pattern as block/object storage"},{"line_number":46,"context_line":"    - In case of ephemeral storage on compute nodes, as per evacuation "},{"line_number":47,"context_line":"      requirements, need to be on a shared storage (ex. mounted via nfs) that"},{"line_number":48,"context_line":"      need to be replicated over the DC’s."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5aef4532_e4a1a795","line":46,"range":{"start_line":46,"start_character":70,"end_line":46,"end_character":71},"updated":"2016-03-10 09:17:21.000000000","message":"ditto","commit_id":"dff2dd15a222f5752e06b76f64f2bcd7990e2057"},{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"16bb76060317aa5b9da0ea2b2601edbac62f41da","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"-   Before activating the DR workflow, some actions possibly need to be taken"},{"line_number":102,"context_line":"    to avoid the failed DC to go back online and create a conflict with the DR"},{"line_number":103,"context_line":"    site.  Since the nature of the disaster can be of various form, this "},{"line_number":104,"context_line":"    activity is extremely difficult to automate and too few assumptions can be"},{"line_number":105,"context_line":"    taken (ex. the failed site is not any more remotely accessible)"},{"line_number":106,"context_line":"-   Turn on all the compute nodes in the DR site, via ipmi, cobbler, ironic"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5aef4532_44adfb86","line":103,"range":{"start_line":103,"start_character":72,"end_line":103,"end_character":73},"updated":"2016-03-10 09:17:21.000000000","message":"ditto","commit_id":"dff2dd15a222f5752e06b76f64f2bcd7990e2057"},{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"16bb76060317aa5b9da0ea2b2601edbac62f41da","unresolved":false,"context_lines":[{"line_number":125,"context_line":"following components need to be pluggable (to be easily extensible,"},{"line_number":126,"context_line":"customizable and configurable):"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"-   Power management (turn on nodes on DR site, using ipmi or alternative "},{"line_number":129,"context_line":"    methods)."},{"line_number":130,"context_line":"-   Database management"},{"line_number":131,"context_line":"-   Block storage management"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5aef4532_24a8af76","line":128,"range":{"start_line":128,"start_character":73,"end_line":128,"end_character":74},"updated":"2016-03-10 09:17:21.000000000","message":"ditto","commit_id":"dff2dd15a222f5752e06b76f64f2bcd7990e2057"},{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"a5aa1c85e17bda2670e9e7780188ae2b9f775422","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Goals"},{"line_number":15,"context_line":"------"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"1)\tLeverage OpenStack capability to monitor the status of the compute"},{"line_number":18,"context_line":"nodes and provide the functionality of automatic/manual node evacuation in"},{"line_number":19,"context_line":"case of failure of a compute node."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"dab17558_034ca39c","line":17,"range":{"start_line":17,"start_character":2,"end_line":17,"end_character":3},"updated":"2016-05-11 01:57:52.000000000","message":"rst grammner  we can use “#.”","commit_id":"3b505b219554c4fcb73ba6dd700d08cc5436a1cf"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ead3eb0d92e0ee04722d5962e7d5348151dc1c77","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"1)  Assume we have an OpenStack Cloud deployed on 2 different DC, and the"},{"line_number":34,"context_line":"    controllers split between the two sites, share (need to be replicated) the"},{"line_number":35,"context_line":"    same DB, Block Storage and Object Storage."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    - OS DB should be replicated over the DC that are part of the DR solution,"},{"line_number":38,"context_line":"      this is needed so that all the OS services can be consistent on all DC\u0027s"}],"source_content_type":"text/x-rst","patch_set":5,"id":"dab17558_01b97bcb","line":35,"updated":"2016-05-15 16:53:08.000000000","message":"So you have one cinder-volume node managing one storage backend that is shared by the 2 DC\u0027s?  Are these 2 different DC\u0027s geographically dispersed?  By reading the spec below, you are using Ceph.  Are you using one Ceph cluster in this configuration?","commit_id":"3b505b219554c4fcb73ba6dd700d08cc5436a1cf"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"ead3eb0d92e0ee04722d5962e7d5348151dc1c77","unresolved":false,"context_lines":[{"line_number":40,"context_line":"      This can be done in master-master or master-slave, to meet eventually"},{"line_number":41,"context_line":"      specific requirements."},{"line_number":42,"context_line":"    - Block storage used as Cinder backend need to be configured implemented in"},{"line_number":43,"context_line":"      a distributed way over the sites that are part of the DR"},{"line_number":44,"context_line":"    - Object storage need to be distributed, same as block storage"},{"line_number":45,"context_line":"    - Glance backend follow the same pattern as block/object storage"},{"line_number":46,"context_line":"    - In case of ephemeral storage on compute nodes, as per evacuation"}],"source_content_type":"text/x-rst","patch_set":5,"id":"dab17558_61e7a7e4","line":43,"updated":"2016-05-15 16:53:08.000000000","message":"How many cinder-volume nodes are running in this 2-DC configuration?  Is it one Ceph cluster managed by one cinder-volume node?","commit_id":"3b505b219554c4fcb73ba6dd700d08cc5436a1cf"}]}
