)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"96bff658_b8ba3377","updated":"2022-03-02 18:34:17.000000000","message":"Hey Don,\nOverall good job. The previous author has not made it easy for you!\n\nI threw you a monkey wrench in suggesting a differ structure for this section to avoid the inevitable redundancy (deploy multiple instances of this service across different nodes, blah, blah, blah).\n\nEspecially like the architecture diagram!\n\nBest,--Greg","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0adcc0ef_e295c9a8","updated":"2022-03-03 22:40:05.000000000","message":"I have some initial comments.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"abea722a_21b66fc9","updated":"2022-03-04 16:12:37.000000000","message":"In next patch","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b96e3de753b1d0b4ec258dcb035b3a1b0226f739","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0ec8823a_5c425b4f","updated":"2022-05-05 23:33:41.000000000","message":"Changes in next patch, thanks again for the reviews","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"119805994e844fe6e4309cfb117f518fdb878b12","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"862cc17c_cd01a88a","updated":"2022-05-05 22:37:15.000000000","message":"I have a few followup comments.\nAlso, on the diagram, it would be nice:\n1. Remove \"L7\" from the load balancer and just call it a load balancer.\n2. Change \"AMQP servers\" to \"Messaging Servers\".\n3. Remove \"redis\" from the DLM box.","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a487088ce6f2a394f4b087325a4ccc02e8ef7b20","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"aa78a779_d38916c1","updated":"2022-05-05 21:34:06.000000000","message":"recheck\nre-render for review","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b96e3de753b1d0b4ec258dcb035b3a1b0226f739","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"dffa839f_6c5a6221","in_reply_to":"862cc17c_cd01a88a","updated":"2022-05-05 23:33:41.000000000","message":"Done","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"}],"doc/source/admin/ha.rst":[{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Overview"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Designate supports running all of its component services in \"active-active\""},{"line_number":11,"context_line":"HA modes. An active-active HA mode is typically made up of as least two nodes,"},{"line_number":12,"context_line":"both actively running the same service simultaneously (i.e. API service,"},{"line_number":13,"context_line":"central service, etc.). The main purpose of an active-active approach is to"},{"line_number":14,"context_line":"achieve load balancing and of course if one node fails the remaining nodes are"},{"line_number":15,"context_line":"still functioning seamlessly. The idea behind active redundancy is to achieve"},{"line_number":16,"context_line":"high availability with no performance decline."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"In the following discussions we approach each service within Designate and"},{"line_number":19,"context_line":"examine each scenario and its configurations necessary to achieve the best"}],"source_content_type":"text/x-rst","patch_set":1,"id":"8da3fc00_bd03bda0","line":16,"range":{"start_line":10,"start_character":0,"end_line":16,"end_character":46},"updated":"2022-03-02 18:34:17.000000000","message":"Suggestion:\n\"Designate combines load balancing of data traffic and fault tolerance in a high availability mode known as \"active-active mode.\" In active-active mode, Designate simultaneously runs its component services on two or more nodes. If one of the nodes fail, the remaining nodes continue running, avoiding interruptions and declines in performance.\"","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Overview"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Designate supports running all of its component services in \"active-active\""},{"line_number":11,"context_line":"HA modes. An active-active HA mode is typically made up of as least two nodes,"},{"line_number":12,"context_line":"both actively running the same service simultaneously (i.e. API service,"},{"line_number":13,"context_line":"central service, etc.). The main purpose of an active-active approach is to"},{"line_number":14,"context_line":"achieve load balancing and of course if one node fails the remaining nodes are"},{"line_number":15,"context_line":"still functioning seamlessly. The idea behind active redundancy is to achieve"},{"line_number":16,"context_line":"high availability with no performance decline."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"In the following discussions we approach each service within Designate and"},{"line_number":19,"context_line":"examine each scenario and its configurations necessary to achieve the best"}],"source_content_type":"text/x-rst","patch_set":1,"id":"104714b1_00d84baa","line":16,"range":{"start_line":10,"start_character":0,"end_line":16,"end_character":46},"in_reply_to":"8da3fc00_bd03bda0","updated":"2022-03-04 16:12:37.000000000","message":"Ack","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":15,"context_line":"still functioning seamlessly. The idea behind active redundancy is to achieve"},{"line_number":16,"context_line":"high availability with no performance decline."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"In the following discussions we approach each service within Designate and"},{"line_number":19,"context_line":"examine each scenario and its configurations necessary to achieve the best"},{"line_number":20,"context_line":"possible HA solution."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Some services will require some extra setup to ensure that they work properly"},{"line_number":23,"context_line":"in an active-active HA scenario, the Designate services are listed as follows:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* :ref:`designate-api`"},{"line_number":26,"context_line":"* :ref:`designate-central`"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ce89175_2431c0f5","line":23,"range":{"start_line":18,"start_character":0,"end_line":23,"end_character":78},"updated":"2022-03-02 18:34:17.000000000","message":"Suggestion:\n\"We examine each of the Designate services and provide the required active-active configuration to achieve high availability:\"","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":15,"context_line":"still functioning seamlessly. The idea behind active redundancy is to achieve"},{"line_number":16,"context_line":"high availability with no performance decline."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"In the following discussions we approach each service within Designate and"},{"line_number":19,"context_line":"examine each scenario and its configurations necessary to achieve the best"},{"line_number":20,"context_line":"possible HA solution."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Some services will require some extra setup to ensure that they work properly"},{"line_number":23,"context_line":"in an active-active HA scenario, the Designate services are listed as follows:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* :ref:`designate-api`"},{"line_number":26,"context_line":"* :ref:`designate-central`"}],"source_content_type":"text/x-rst","patch_set":1,"id":"414ac034_570ee4bf","line":23,"range":{"start_line":18,"start_character":0,"end_line":23,"end_character":78},"in_reply_to":"1ce89175_2431c0f5","updated":"2022-03-04 16:12:37.000000000","message":"Ack","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":29,"context_line":"* :ref:`designate-producer`"},{"line_number":30,"context_line":"* :ref:`designate-sink`"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"HA Architecture Diagram"},{"line_number":33,"context_line":"***********************"},{"line_number":34,"context_line":"|"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":".. image:: ../images/Designate-HA-Overview.png"},{"line_number":37,"context_line":"    :align: center"},{"line_number":38,"context_line":"    :width: 800"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"|"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Note: When referring to a L7 Load Balancer in this document, please see the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d2512b1a_007af4cf","line":39,"range":{"start_line":32,"start_character":0,"end_line":39,"end_character":0},"updated":"2022-03-02 18:34:17.000000000","message":"Suggestion:\nRelocate the cool HA diagram to immediately follow the opening paragraph.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":29,"context_line":"* :ref:`designate-producer`"},{"line_number":30,"context_line":"* :ref:`designate-sink`"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"HA Architecture Diagram"},{"line_number":33,"context_line":"***********************"},{"line_number":34,"context_line":"|"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":".. image:: ../images/Designate-HA-Overview.png"},{"line_number":37,"context_line":"    :align: center"},{"line_number":38,"context_line":"    :width: 800"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"|"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Note: When referring to a L7 Load Balancer in this document, please see the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"46b2dfa5_9fb910cd","line":39,"range":{"start_line":32,"start_character":0,"end_line":39,"end_character":0},"in_reply_to":"d2512b1a_007af4cf","updated":"2022-03-04 16:12:37.000000000","message":"Ack","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":40,"context_line":"|"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Note: When referring to a L7 Load Balancer in this document, please see the"},{"line_number":43,"context_line":"following: `\u003chttps://docs.openstack.org/octavia/ocata/guides/l7.html\u003e`_, for"},{"line_number":44,"context_line":"more detailed information."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Designate in general is inherently designed to run natively in an"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a50c08f0_25ae562d","line":43,"range":{"start_line":43,"start_character":13,"end_line":43,"end_character":68},"updated":"2022-03-02 18:34:17.000000000","message":"This URL looks ancient. Perhaps this one would be better to use?\nhttps://docs.openstack.org/octavia/latest/user/guides/l7.html","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":40,"context_line":"|"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Note: When referring to a L7 Load Balancer in this document, please see the"},{"line_number":43,"context_line":"following: `\u003chttps://docs.openstack.org/octavia/ocata/guides/l7.html\u003e`_, for"},{"line_number":44,"context_line":"more detailed information."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Designate in general is inherently designed to run natively in an"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e75dd785_0900d4f1","line":43,"range":{"start_line":43,"start_character":13,"end_line":43,"end_character":68},"in_reply_to":"a50c08f0_25ae562d","updated":"2022-03-04 16:12:37.000000000","message":"Ack","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":40,"context_line":"|"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Note: When referring to a L7 Load Balancer in this document, please see the"},{"line_number":43,"context_line":"following: `\u003chttps://docs.openstack.org/octavia/ocata/guides/l7.html\u003e`_, for"},{"line_number":44,"context_line":"more detailed information."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Designate in general is inherently designed to run natively in an"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a1e42121_479034a0","line":43,"range":{"start_line":43,"start_character":13,"end_line":43,"end_character":68},"in_reply_to":"a50c08f0_25ae562d","updated":"2022-03-03 22:40:05.000000000","message":"I would just remove this note all together as this use case does not require special L7 features.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":43,"context_line":"following: `\u003chttps://docs.openstack.org/octavia/ocata/guides/l7.html\u003e`_, for"},{"line_number":44,"context_line":"more detailed information."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Designate in general is inherently designed to run natively in an"},{"line_number":47,"context_line":"active-active HA environment. The following sections will explain any"},{"line_number":48,"context_line":"necessary configurations and essential steps to ensure Designate services are"},{"line_number":49,"context_line":"able to operate in an \"active-active\" HA scenario."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"designate-api"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":"`designate-api` provides the standard Openstack style REST API service. It"}],"source_content_type":"text/x-rst","patch_set":1,"id":"91599bef_5e84d696","line":50,"range":{"start_line":46,"start_character":0,"end_line":50,"end_character":0},"updated":"2022-03-02 18:34:17.000000000","message":"I wonder if you need this paragraph.\n\nIMHO, you have already introduced the sections that follow.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":43,"context_line":"following: `\u003chttps://docs.openstack.org/octavia/ocata/guides/l7.html\u003e`_, for"},{"line_number":44,"context_line":"more detailed information."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Designate in general is inherently designed to run natively in an"},{"line_number":47,"context_line":"active-active HA environment. The following sections will explain any"},{"line_number":48,"context_line":"necessary configurations and essential steps to ensure Designate services are"},{"line_number":49,"context_line":"able to operate in an \"active-active\" HA scenario."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"designate-api"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":"`designate-api` provides the standard Openstack style REST API service. It"}],"source_content_type":"text/x-rst","patch_set":1,"id":"11aee20d_dfb4cf2a","line":50,"range":{"start_line":46,"start_character":0,"end_line":50,"end_character":0},"in_reply_to":"91599bef_5e84d696","updated":"2022-03-04 16:12:37.000000000","message":"Ack","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"designate-api"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":"`designate-api` provides the standard Openstack style REST API service. It"},{"line_number":54,"context_line":"needs access to the Openstack messaging service (AMQP)."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"To run multiple `designate-api` services, you should run the services behind"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f896a8e7_ad4b3102","line":53,"range":{"start_line":53,"start_character":38,"end_line":53,"end_character":47},"updated":"2022-03-02 18:34:17.000000000","message":"Global suggestion: \n\nChange all instances of `Openstack` to `OpenStack`.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"designate-api"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":"`designate-api` provides the standard Openstack style REST API service. It"},{"line_number":54,"context_line":"needs access to the Openstack messaging service (AMQP)."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"To run multiple `designate-api` services, you should run the services behind"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b2b0e70f_451d2b3e","line":53,"range":{"start_line":53,"start_character":38,"end_line":53,"end_character":47},"in_reply_to":"f896a8e7_ad4b3102","updated":"2022-03-04 16:12:37.000000000","message":"Ack","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":51,"context_line":"designate-api"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":"`designate-api` provides the standard Openstack style REST API service. It"},{"line_number":54,"context_line":"needs access to the Openstack messaging service (AMQP)."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"To run multiple `designate-api` services, you should run the services behind"},{"line_number":57,"context_line":"a load balancer. In order to accomplish this you may need to configure the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c5adcd99_d7a2dc77","line":54,"range":{"start_line":54,"start_character":20,"end_line":54,"end_character":54},"updated":"2022-03-02 18:34:17.000000000","message":"It\u0027s my sense that we refer to:\n\n   `Openstack messaging service (AMQP)`\n\nAs:\n\n   `OpenStack messaging`","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":51,"context_line":"designate-api"},{"line_number":52,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":53,"context_line":"`designate-api` provides the standard Openstack style REST API service. It"},{"line_number":54,"context_line":"needs access to the Openstack messaging service (AMQP)."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"To run multiple `designate-api` services, you should run the services behind"},{"line_number":57,"context_line":"a load balancer. In order to accomplish this you may need to configure the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f1c03b95_85f9420a","line":54,"range":{"start_line":54,"start_character":20,"end_line":54,"end_character":54},"in_reply_to":"c5adcd99_d7a2dc77","updated":"2022-03-04 16:12:37.000000000","message":"Ack","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":54,"context_line":"needs access to the Openstack messaging service (AMQP)."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"To run multiple `designate-api` services, you should run the services behind"},{"line_number":57,"context_line":"a load balancer. In order to accomplish this you may need to configure the"},{"line_number":58,"context_line":"following in your designate.conf file:"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9ac0e27e_c2c74359","line":57,"range":{"start_line":57,"start_character":17,"end_line":57,"end_character":44},"updated":"2022-03-03 22:40:05.000000000","message":"This does not enable load balancing, so maybe reword this to\nWhen using a load balancer in front of the Designate API, you should configure the following settings:\n\nSomething like that?","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":54,"context_line":"needs access to the Openstack messaging service (AMQP)."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"To run multiple `designate-api` services, you should run the services behind"},{"line_number":57,"context_line":"a load balancer. In order to accomplish this you may need to configure the"},{"line_number":58,"context_line":"following in your designate.conf file:"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ef4a2030_21e450e6","line":57,"range":{"start_line":57,"start_character":17,"end_line":57,"end_character":44},"in_reply_to":"9ac0e27e_c2c74359","updated":"2022-03-04 16:12:37.000000000","message":"changes to:\nOr the following:\n 53 \n 54 .. code-block:: ini\n 55 \n 56    [oslo_middleware]\n 57    enable_proxy_headers_parsing \u003d true\n 58 \n 59 Ensure that your load-balancer software is properly configured. For example,                                                                                   \n 60 confirm that you enable `mod_proxy` in Apache.\n 61","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":60,"context_line":".. code-block:: ini"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   [service:api]"},{"line_number":63,"context_line":"   api_base_uri \u003d http://\u003cload balancer URI\u003e/"},{"line_number":64,"context_line":"   enable_host_header \u003d True"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Or the following:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7b7cbc49_e7c5fb9e","line":63,"updated":"2022-03-03 22:40:05.000000000","message":"I wonder if this isn\u0027t a bug in the old document. I think api_base_uri should be set for either of these options.\nIt\u0027s used to put the API endpoint URI (I.e. the load balancer VIP) in the \"links\" fields of the API responses. That way it won\u0027t have an internal IP/name exposed via the API.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":60,"context_line":".. code-block:: ini"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   [service:api]"},{"line_number":63,"context_line":"   api_base_uri \u003d http://\u003cload balancer URI\u003e/"},{"line_number":64,"context_line":"   enable_host_header \u003d True"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Or the following:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"54ea2f34_455f6e9e","line":63,"in_reply_to":"7b7cbc49_e7c5fb9e","updated":"2022-03-04 16:12:37.000000000","message":"Done","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":71,"context_line":"   enable_proxy_headers_parsing \u003d true"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"In addition, you will need to set and possible configure your load balancer"},{"line_number":74,"context_line":"software (e.g. enable `mod_proxy` in Apache)."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"designate-central"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e812a832_f8ff9b99","line":74,"updated":"2022-03-03 22:40:05.000000000","message":"The important piece of the original comment here was \"set the appropriate headers\"\nI.e. we could remove the mod_proxy reference (probably should), simply say you need to configure the proper header insertion in your load balancer.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":71,"context_line":"   enable_proxy_headers_parsing \u003d true"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"In addition, you will need to set and possible configure your load balancer"},{"line_number":74,"context_line":"software (e.g. enable `mod_proxy` in Apache)."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"designate-central"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c08daad3_b73687a1","line":74,"in_reply_to":"e812a832_f8ff9b99","updated":"2022-03-04 16:12:37.000000000","message":"Done","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":53,"context_line":"`designate-api` provides the standard Openstack style REST API service. It"},{"line_number":54,"context_line":"needs access to the Openstack messaging service (AMQP)."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"To run multiple `designate-api` services, you should run the services behind"},{"line_number":57,"context_line":"a load balancer. In order to accomplish this you may need to configure the"},{"line_number":58,"context_line":"following in your designate.conf file:"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. code-block:: ini"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   [service:api]"},{"line_number":63,"context_line":"   api_base_uri \u003d http://\u003cload balancer URI\u003e/"},{"line_number":64,"context_line":"   enable_host_header \u003d True"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Or the following:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. code-block:: ini"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"   [oslo_middleware]"},{"line_number":71,"context_line":"   enable_proxy_headers_parsing \u003d true"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"In addition, you will need to set and possible configure your load balancer"},{"line_number":74,"context_line":"software (e.g. enable `mod_proxy` in Apache)."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"designate-central"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":"`designate-central` is the service that handles RPC request via the AMQP"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f867de05_2fe6bfd2","line":75,"range":{"start_line":56,"start_character":0,"end_line":75,"end_character":0},"updated":"2022-03-02 18:34:17.000000000","message":"Suggestion:\n\n1. Run the Designate services behind a load balancer. In designate.conf, ensure that the following is set:\n\n[service:api]\napi_base_uri \u003d http://\u003cload balancer URI\u003e/\nenable_host_header \u003d True\n\n[oslo_middleware]\nenable_proxy_headers_parsing \u003d true\n\n2. Ensure that your load-balancer software is properly configured. For example, confirm that you enable `mod_proxy` in Apache.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":53,"context_line":"`designate-api` provides the standard Openstack style REST API service. It"},{"line_number":54,"context_line":"needs access to the Openstack messaging service (AMQP)."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"To run multiple `designate-api` services, you should run the services behind"},{"line_number":57,"context_line":"a load balancer. In order to accomplish this you may need to configure the"},{"line_number":58,"context_line":"following in your designate.conf file:"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. code-block:: ini"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   [service:api]"},{"line_number":63,"context_line":"   api_base_uri \u003d http://\u003cload balancer URI\u003e/"},{"line_number":64,"context_line":"   enable_host_header \u003d True"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Or the following:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. code-block:: ini"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"   [oslo_middleware]"},{"line_number":71,"context_line":"   enable_proxy_headers_parsing \u003d true"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"In addition, you will need to set and possible configure your load balancer"},{"line_number":74,"context_line":"software (e.g. enable `mod_proxy` in Apache)."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"designate-central"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":"`designate-central` is the service that handles RPC request via the AMQP"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e6bce32d_812d2ab9","line":75,"range":{"start_line":56,"start_character":0,"end_line":75,"end_character":0},"in_reply_to":"f867de05_2fe6bfd2","updated":"2022-03-04 16:12:37.000000000","message":"Ack","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":53,"context_line":"`designate-api` provides the standard Openstack style REST API service. It"},{"line_number":54,"context_line":"needs access to the Openstack messaging service (AMQP)."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"To run multiple `designate-api` services, you should run the services behind"},{"line_number":57,"context_line":"a load balancer. In order to accomplish this you may need to configure the"},{"line_number":58,"context_line":"following in your designate.conf file:"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. code-block:: ini"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"   [service:api]"},{"line_number":63,"context_line":"   api_base_uri \u003d http://\u003cload balancer URI\u003e/"},{"line_number":64,"context_line":"   enable_host_header \u003d True"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Or the following:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. code-block:: ini"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"   [oslo_middleware]"},{"line_number":71,"context_line":"   enable_proxy_headers_parsing \u003d true"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"In addition, you will need to set and possible configure your load balancer"},{"line_number":74,"context_line":"software (e.g. enable `mod_proxy` in Apache)."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"designate-central"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":"`designate-central` is the service that handles RPC request via the AMQP"}],"source_content_type":"text/x-rst","patch_set":1,"id":"35eb244d_cc181121","line":75,"range":{"start_line":56,"start_character":0,"end_line":75,"end_character":0},"in_reply_to":"f867de05_2fe6bfd2","updated":"2022-03-03 22:40:05.000000000","message":"Enabling mod_proxy was not the point of the old docs comment.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"designate-central"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":"`designate-central` is the service that handles RPC request via the AMQP"},{"line_number":79,"context_line":"(Openstack Messaging Service), it coordinates the persistent storage of data"},{"line_number":80,"context_line":"and applies the business logic to data from the API."},{"line_number":81,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"389a4ea2_16f1fd0c","line":78,"range":{"start_line":78,"start_character":68,"end_line":78,"end_character":72},"updated":"2022-03-03 22:40:05.000000000","message":"nit: I would remove AMQP or put it in brackets after the \"OpenStack Messaging Service\", it\u0027s an implementation detail and in some deployments it may not use AMQP.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"designate-central"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":"`designate-central` is the service that handles RPC request via the AMQP"},{"line_number":79,"context_line":"(Openstack Messaging Service), it coordinates the persistent storage of data"},{"line_number":80,"context_line":"and applies the business logic to data from the API."},{"line_number":81,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"c734afa2_27472874","line":78,"range":{"start_line":78,"start_character":68,"end_line":78,"end_character":72},"in_reply_to":"389a4ea2_16f1fd0c","updated":"2022-03-04 16:12:37.000000000","message":"Done","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"designate-central"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":"`designate-central` is the service that handles RPC request via the AMQP"},{"line_number":79,"context_line":"(Openstack Messaging Service), it coordinates the persistent storage of data"},{"line_number":80,"context_line":"and applies the business logic to data from the API."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"You can run as many `designate-central` services as needed, as long as they all"},{"line_number":83,"context_line":"have access to the AMQP (Openstack messaging service), work will be"}],"source_content_type":"text/x-rst","patch_set":1,"id":"6eac4f4a_5f9882ee","line":80,"range":{"start_line":78,"start_character":0,"end_line":80,"end_character":52},"updated":"2022-03-02 18:34:17.000000000","message":"Suggestion: split this into two sentences:\n\n`designate-central` is the service that handles RPC requests by using OpenStack messaging. `designate-central` coordinates the persistent storage of data and applies the business logic to data from the API.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"designate-central"},{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":"`designate-central` is the service that handles RPC request via the AMQP"},{"line_number":79,"context_line":"(Openstack Messaging Service), it coordinates the persistent storage of data"},{"line_number":80,"context_line":"and applies the business logic to data from the API."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"You can run as many `designate-central` services as needed, as long as they all"},{"line_number":83,"context_line":"have access to the AMQP (Openstack messaging service), work will be"}],"source_content_type":"text/x-rst","patch_set":1,"id":"4ce5ace9_c79bd50c","line":80,"range":{"start_line":78,"start_character":0,"end_line":80,"end_character":52},"in_reply_to":"6eac4f4a_5f9882ee","updated":"2022-03-04 16:12:37.000000000","message":"Done","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":79,"context_line":"(Openstack Messaging Service), it coordinates the persistent storage of data"},{"line_number":80,"context_line":"and applies the business logic to data from the API."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"You can run as many `designate-central` services as needed, as long as they all"},{"line_number":83,"context_line":"have access to the AMQP (Openstack messaging service), work will be"},{"line_number":84,"context_line":"distributed across all `designate-central` services. It is important to note"},{"line_number":85,"context_line":"that to achieve HA these `designate-central` services should be distributed on"}],"source_content_type":"text/x-rst","patch_set":1,"id":"40f99874_9ee1f487","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":79},"updated":"2022-03-02 18:34:17.000000000","message":"Suggestion:\n\"By deploying multiple `designate-central` services across different nodes, you eliminate a single point of failure and enable Designate to load balance work across all of the service instances. In a distributed topology, each `designate-central` service instance must have access to OpenStack messaging.\"","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":79,"context_line":"(Openstack Messaging Service), it coordinates the persistent storage of data"},{"line_number":80,"context_line":"and applies the business logic to data from the API."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"You can run as many `designate-central` services as needed, as long as they all"},{"line_number":83,"context_line":"have access to the AMQP (Openstack messaging service), work will be"},{"line_number":84,"context_line":"distributed across all `designate-central` services. It is important to note"},{"line_number":85,"context_line":"that to achieve HA these `designate-central` services should be distributed on"}],"source_content_type":"text/x-rst","patch_set":1,"id":"82955481_e3d44ba4","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":79},"in_reply_to":"40f99874_9ee1f487","updated":"2022-03-04 16:12:37.000000000","message":"Ack","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"ed018ba86700a5e4a64ac43f538e4f0e55191981","unresolved":true,"context_lines":[{"line_number":86,"context_line":"different nodes to ensure seamless operation and avoiding a single point of"},{"line_number":87,"context_line":"failure."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"You can run as many `designate-central` services as needed, as long as they"},{"line_number":90,"context_line":"all have access to the AMQP server(s), and a distributed lock manager,"},{"line_number":91,"context_line":"work will be sharded across all the services."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"4b9ad070_72c6a880","line":89,"updated":"2022-03-02 04:38:33.000000000","message":"This feels a bit redundant as we are saying almost exactly the same thing as on line 82.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":86,"context_line":"different nodes to ensure seamless operation and avoiding a single point of"},{"line_number":87,"context_line":"failure."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"You can run as many `designate-central` services as needed, as long as they"},{"line_number":90,"context_line":"all have access to the AMQP server(s), and a distributed lock manager,"},{"line_number":91,"context_line":"work will be sharded across all the services."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9aeeb1ff_2a4ea08a","line":89,"in_reply_to":"4ae7b376_1b9322f6","updated":"2022-03-04 16:12:37.000000000","message":"Done","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":86,"context_line":"different nodes to ensure seamless operation and avoiding a single point of"},{"line_number":87,"context_line":"failure."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"You can run as many `designate-central` services as needed, as long as they"},{"line_number":90,"context_line":"all have access to the AMQP server(s), and a distributed lock manager,"},{"line_number":91,"context_line":"work will be sharded across all the services."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"6eda85f5_5fd121e9","line":89,"in_reply_to":"4b9ad070_72c6a880","updated":"2022-03-02 18:34:17.000000000","message":"+1","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":86,"context_line":"different nodes to ensure seamless operation and avoiding a single point of"},{"line_number":87,"context_line":"failure."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"You can run as many `designate-central` services as needed, as long as they"},{"line_number":90,"context_line":"all have access to the AMQP server(s), and a distributed lock manager,"},{"line_number":91,"context_line":"work will be sharded across all the services."},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"4ae7b376_1b9322f6","line":89,"in_reply_to":"6eda85f5_5fd121e9","updated":"2022-03-03 22:40:05.000000000","message":"I think you meant to use this to replace the first sentence in the second paragraph here.\n\nAlso, central must have access to the database.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"designate-mdns"},{"line_number":97,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":98,"context_line":"`designate-mdns` is the service that send DNS NOTIFY and answers zone transfer"},{"line_number":99,"context_line":"(AXFR) requests."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"}],"source_content_type":"text/x-rst","patch_set":1,"id":"69820223_3386fe7e","line":98,"range":{"start_line":98,"start_character":37,"end_line":98,"end_character":41},"updated":"2022-03-02 18:34:17.000000000","message":"Change to `sends`.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"designate-mdns"},{"line_number":97,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":98,"context_line":"`designate-mdns` is the service that send DNS NOTIFY and answers zone transfer"},{"line_number":99,"context_line":"(AXFR) requests."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1b97a28e_ea278676","line":98,"range":{"start_line":98,"start_character":37,"end_line":98,"end_character":41},"in_reply_to":"69820223_3386fe7e","updated":"2022-03-04 16:12:37.000000000","message":"Done","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":99,"context_line":"(AXFR) requests."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"},{"line_number":102,"context_line":"have access to the Openstack AMQP server(s), work will be distributed across"},{"line_number":103,"context_line":"all `designate-mdns` services. Once again to achieve a level of HA these"},{"line_number":104,"context_line":"services should be distributed on different nodes."},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"515bd6a8_f79554af","line":102,"updated":"2022-03-03 22:40:05.000000000","message":"\"Openstack AMQP\" -\u003e \"OpenStack Messaging\"\nAlso, mini-dns requires database access.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":99,"context_line":"(AXFR) requests."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"},{"line_number":102,"context_line":"have access to the Openstack AMQP server(s), work will be distributed across"},{"line_number":103,"context_line":"all `designate-mdns` services. Once again to achieve a level of HA these"},{"line_number":104,"context_line":"services should be distributed on different nodes."},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"e394f216_a761bf66","line":102,"in_reply_to":"515bd6a8_f79554af","updated":"2022-03-04 16:12:37.000000000","message":"Done","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":31933,"name":"Greg Rakauskas","display_name":"Greg Rakauskas","email":"gregraka@redhat.com","username":"gregraka"},"change_message_id":"398a71bab6ebf096dbed49c4de9f8530b5e130fb","unresolved":true,"context_lines":[{"line_number":98,"context_line":"`designate-mdns` is the service that send DNS NOTIFY and answers zone transfer"},{"line_number":99,"context_line":"(AXFR) requests."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"},{"line_number":102,"context_line":"have access to the Openstack AMQP server(s), work will be distributed across"},{"line_number":103,"context_line":"all `designate-mdns` services. Once again to achieve a level of HA these"},{"line_number":104,"context_line":"services should be distributed on different nodes."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"designate-worker"},{"line_number":107,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ee6082e8_a1457e7d","line":104,"range":{"start_line":101,"start_character":0,"end_line":104,"end_character":50},"updated":"2022-03-02 18:34:17.000000000","message":"1. I\u0027m noticing a pattern here for all of the services:\n   - Run multiple instances of the service.\n   - Distribute these across different nodes.\n   - Ensure that they can access OSP messaging.\n2. For a subset of the services there are some deviations:\n   - designate-api: configure designate.conf for a load balancer.\n   - designate-producer: set a coordination backend_url.\n3. For all services, there is a brief description of what each does. Is that content necessary here? I *think* each service is described in the introduction section in the upstream Designate doc.\n\n4. Wonder if this entire chapter could be restructured to look something like this?\n\nI. Overview\n\nII. Architecture diagram\n\nIII. Making Designate highly available\n\n1. Deploy each of the designate services on two or more different nodes.\n\n2. Ensure that the designate services can access OpenStack messaging from every node.\n\n3. Run the instances of designate-api behind a load balancer. In designate.conf, ensure that the following is set:\n\n   [service:api]\n   api_base_uri \u003d http://\u003cload balancer URI\u003e/\n   enable_host_header \u003d True\n   ...\n   [oslo_middleware]\n   enable_proxy_headers_parsing \u003d true\n\n4. Confirm that your load-balancer software is properly configured. For example, confirm that you enable `mod_proxy` in Apache.\n\n5. Set a coordination backend_url to prevent periodic tasks being run more than once. The back-end URL must point to a DLM (Distributed Lock Manager) that is supported by tooz, a distributed helper library that supports group membership. See tooz driver list for available drivers. In designate.conf set the following:\n\n   [coordination]\n   backend_url \u003d kazoo://\u003czookeeper url\u003e:\u003czookeeper port\u003e","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":98,"context_line":"`designate-mdns` is the service that send DNS NOTIFY and answers zone transfer"},{"line_number":99,"context_line":"(AXFR) requests."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"},{"line_number":102,"context_line":"have access to the Openstack AMQP server(s), work will be distributed across"},{"line_number":103,"context_line":"all `designate-mdns` services. Once again to achieve a level of HA these"},{"line_number":104,"context_line":"services should be distributed on different nodes."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"designate-worker"},{"line_number":107,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7bf33269_e6ebd40b","line":104,"range":{"start_line":101,"start_character":0,"end_line":104,"end_character":50},"in_reply_to":"ee6082e8_a1457e7d","updated":"2022-03-03 22:40:05.000000000","message":"I think exposing a little bit about the \"how\" of each service is good here. At least I would hope each section is giving a little bit of information about the HA strategy for each service.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":98,"context_line":"`designate-mdns` is the service that send DNS NOTIFY and answers zone transfer"},{"line_number":99,"context_line":"(AXFR) requests."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"},{"line_number":102,"context_line":"have access to the Openstack AMQP server(s), work will be distributed across"},{"line_number":103,"context_line":"all `designate-mdns` services. Once again to achieve a level of HA these"},{"line_number":104,"context_line":"services should be distributed on different nodes."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"designate-worker"},{"line_number":107,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"227fa99f_f3fda9c4","line":104,"range":{"start_line":101,"start_character":0,"end_line":104,"end_character":50},"in_reply_to":"ee6082e8_a1457e7d","updated":"2022-03-04 16:12:37.000000000","message":"Though I think your correct in your assessment, I think that what your say is more palatable for downstream. I think given the multi-national non-English as a primary language I would be more likely to keep the repetitiveness nature of the doc flow.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":106,"context_line":"designate-worker"},{"line_number":107,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":108,"context_line":"`designate-worker` is a service that manages state of the DNS servers that"},{"line_number":109,"context_line":"Designate manages. It reads configuration for DNS servers from the Designate"},{"line_number":110,"context_line":"database."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"You can run as many `designate-worker` services as needed, as long as they all"},{"line_number":113,"context_line":"have access to the AMQP server(s), work will be distributed across all"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2f3bde41_998826b9","line":110,"range":{"start_line":109,"start_character":19,"end_line":110,"end_character":8},"updated":"2022-03-03 22:40:05.000000000","message":"Is this accurate? It seems like it is mostly driven by messages coming off the OpenStack Messaging queues.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":106,"context_line":"designate-worker"},{"line_number":107,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":108,"context_line":"`designate-worker` is a service that manages state of the DNS servers that"},{"line_number":109,"context_line":"Designate manages. It reads configuration for DNS servers from the Designate"},{"line_number":110,"context_line":"database."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"You can run as many `designate-worker` services as needed, as long as they all"},{"line_number":113,"context_line":"have access to the AMQP server(s), work will be distributed across all"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b29bf02f_e7b507c7","line":110,"range":{"start_line":109,"start_character":19,"end_line":110,"end_character":8},"in_reply_to":"2f3bde41_998826b9","updated":"2022-03-04 16:12:37.000000000","message":"I refer to :https://github.com/openstack/designate/blob/master/doc/source/contributor/architecture.rst#designate-worker\n\n\"designate-worker is a service that manages state of the DNS servers Designate manages, and any other long-running or otherwise complicated piece of work. The worker reads configuration for DNS servers from the Designate database, which is populated via the pools.yaml file. These DNS server backends are loaded into the worker so it understands how to create, update, and delete zones and recordsets on each DNS server. The Worker is fully aware of DNS Server \u0027Pools\u0027, so a single worker process can manage many pools of DNS servers.\"","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":128,"context_line":"work will be sharded across all the services. Once again, to achieve a level"},{"line_number":129,"context_line":"of HA these services should be distributed on different nodes."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"You will need to set a coordination `backend_url`. This needs to be a DLM"},{"line_number":132,"context_line":"(Distributed Lock Manager) that is supported by tooz, that supports group"},{"line_number":133,"context_line":"membership. See `tooz driver list`_ for available drivers"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"c465f9f2_4d3583ca","line":131,"updated":"2022-03-03 22:40:05.000000000","message":"Should this paragraph also be in the central section?","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":128,"context_line":"work will be sharded across all the services. Once again, to achieve a level"},{"line_number":129,"context_line":"of HA these services should be distributed on different nodes."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"You will need to set a coordination `backend_url`. This needs to be a DLM"},{"line_number":132,"context_line":"(Distributed Lock Manager) that is supported by tooz, that supports group"},{"line_number":133,"context_line":"membership. See `tooz driver list`_ for available drivers"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"f1845560_468f5ecd","line":131,"in_reply_to":"c465f9f2_4d3583ca","updated":"2022-03-04 16:12:37.000000000","message":"Done","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4dffae7b524112846a3308671d4de77e6da78ae7","unresolved":true,"context_lines":[{"line_number":144,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":145,"context_line":"`designate-sink` is an optional service which listens for event"},{"line_number":146,"context_line":"`Notifications \u003chttps://docs.openstack.org/designate/latest/admin/notifications.html#notifications\u003e`_,"},{"line_number":147,"context_line":"such as compute.instance.create.end, handlers are available for Nova and"},{"line_number":148,"context_line":"Neutron. Notification event can be used to trigger record creation and"},{"line_number":149,"context_line":"deletion."},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bd1a4542_0bf74eb7","line":147,"range":{"start_line":147,"start_character":8,"end_line":147,"end_character":35},"updated":"2022-03-03 22:40:05.000000000","message":"Let\u0027s remove the \"compute.instance.create.end\" nova/neutron part as that is deprecated code. Nova no longer talks to Designate and neutron uses the API instead of sink now.","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"a5fe37c67c81cb9dfc2aff7926b3b21888f16585","unresolved":false,"context_lines":[{"line_number":144,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":145,"context_line":"`designate-sink` is an optional service which listens for event"},{"line_number":146,"context_line":"`Notifications \u003chttps://docs.openstack.org/designate/latest/admin/notifications.html#notifications\u003e`_,"},{"line_number":147,"context_line":"such as compute.instance.create.end, handlers are available for Nova and"},{"line_number":148,"context_line":"Neutron. Notification event can be used to trigger record creation and"},{"line_number":149,"context_line":"deletion."},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"8379820a_abb344d2","line":147,"range":{"start_line":147,"start_character":8,"end_line":147,"end_character":35},"in_reply_to":"bd1a4542_0bf74eb7","updated":"2022-03-04 16:12:37.000000000","message":"Done","commit_id":"3f6526b2afaaea5e235170aedc3a400cfb10f7e2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"119805994e844fe6e4309cfb117f518fdb878b12","unresolved":true,"context_lines":[{"line_number":31,"context_line":"* :ref:`designate-producer`"},{"line_number":32,"context_line":"* :ref:`designate-sink`"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Note: When referring to a L7 Load Balancer in this document, please see the"},{"line_number":35,"context_line":"following: `\u003chttps://docs.openstack.org/octavia/latest/user/guides/l7.html\u003e`_,"},{"line_number":36,"context_line":"for more detailed information."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"29b6dd70_da2838c5","line":34,"updated":"2022-05-05 22:37:15.000000000","message":"My comment from patch set 1 still holds true. This doesn\u0027t require any special L7 features, so I don\u0027t think it makes sense to link off to the L7 configuration guide for Octavia. You typically would not setup an L7 policy for the Designate API servers in Octavia.\nI would remove the whole note.","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b96e3de753b1d0b4ec258dcb035b3a1b0226f739","unresolved":false,"context_lines":[{"line_number":31,"context_line":"* :ref:`designate-producer`"},{"line_number":32,"context_line":"* :ref:`designate-sink`"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Note: When referring to a L7 Load Balancer in this document, please see the"},{"line_number":35,"context_line":"following: `\u003chttps://docs.openstack.org/octavia/latest/user/guides/l7.html\u003e`_,"},{"line_number":36,"context_line":"for more detailed information."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"47063079_02bcdbec","line":34,"in_reply_to":"29b6dd70_da2838c5","updated":"2022-05-05 23:33:41.000000000","message":"Done","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"119805994e844fe6e4309cfb117f518fdb878b12","unresolved":true,"context_lines":[{"line_number":38,"context_line":"designate-api"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":"`designate-api` provides the standard OpenStack style REST API service. It"},{"line_number":41,"context_line":"needs access to the OpenStack messaging (AMQP)."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Run the `designate-api` services behind a load balancer. In designate.conf,"},{"line_number":44,"context_line":"ensure that the following is set:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"96414459_472d8992","line":41,"updated":"2022-05-05 22:37:15.000000000","message":"Greg\u0027s comment from patch set 1 still applies here. AMQP is not the only option via OpenStack messaging. It\u0027s best to not call out specific implementations.","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b96e3de753b1d0b4ec258dcb035b3a1b0226f739","unresolved":false,"context_lines":[{"line_number":38,"context_line":"designate-api"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":"`designate-api` provides the standard OpenStack style REST API service. It"},{"line_number":41,"context_line":"needs access to the OpenStack messaging (AMQP)."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Run the `designate-api` services behind a load balancer. In designate.conf,"},{"line_number":44,"context_line":"ensure that the following is set:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e289dd66_f42aeb3e","line":41,"in_reply_to":"96414459_472d8992","updated":"2022-05-05 23:33:41.000000000","message":"Done","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"119805994e844fe6e4309cfb117f518fdb878b12","unresolved":true,"context_lines":[{"line_number":57,"context_line":"   api_base_uri \u003d http://\u003cload balancer URI\u003e/"},{"line_number":58,"context_line":"   enable_proxy_headers_parsing \u003d true"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"And then configure the proper headers insertion into your load balancer."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"designate-central"},{"line_number":63,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"6f1e32bc_1756fc14","line":60,"range":{"start_line":60,"start_character":48,"end_line":60,"end_character":52},"updated":"2022-05-05 22:37:15.000000000","message":"into -\u003e in","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b96e3de753b1d0b4ec258dcb035b3a1b0226f739","unresolved":false,"context_lines":[{"line_number":57,"context_line":"   api_base_uri \u003d http://\u003cload balancer URI\u003e/"},{"line_number":58,"context_line":"   enable_proxy_headers_parsing \u003d true"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"And then configure the proper headers insertion into your load balancer."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"designate-central"},{"line_number":63,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"31465451_ffc82064","line":60,"range":{"start_line":60,"start_character":48,"end_line":60,"end_character":52},"in_reply_to":"6f1e32bc_1756fc14","updated":"2022-05-05 23:33:41.000000000","message":"Done","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"119805994e844fe6e4309cfb117f518fdb878b12","unresolved":true,"context_lines":[{"line_number":69,"context_line":"eliminate a single point of failure and enable Designate to load balance work"},{"line_number":70,"context_line":"across all of the service instances. In a distributed topology, each"},{"line_number":71,"context_line":"`designate-central` service instance must have access to OpenStack messaging"},{"line_number":72,"context_line":"and a distributed lock manager and the database."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"You will need to set a coordination `backend_url`. This needs to be a DLM"},{"line_number":75,"context_line":"(Distributed Lock Manager) that is supported by tooz, that supports group"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e3b7b25c_b315731c","line":72,"range":{"start_line":72,"start_character":0,"end_line":72,"end_character":6},"updated":"2022-05-05 22:37:15.000000000","message":"There are two \"and\" in this sentence, I think we should replace this with a comma","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b96e3de753b1d0b4ec258dcb035b3a1b0226f739","unresolved":false,"context_lines":[{"line_number":69,"context_line":"eliminate a single point of failure and enable Designate to load balance work"},{"line_number":70,"context_line":"across all of the service instances. In a distributed topology, each"},{"line_number":71,"context_line":"`designate-central` service instance must have access to OpenStack messaging"},{"line_number":72,"context_line":"and a distributed lock manager and the database."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"You will need to set a coordination `backend_url`. This needs to be a DLM"},{"line_number":75,"context_line":"(Distributed Lock Manager) that is supported by tooz, that supports group"}],"source_content_type":"text/x-rst","patch_set":3,"id":"8a2c263b_ed810cd3","line":72,"range":{"start_line":72,"start_character":0,"end_line":72,"end_character":6},"in_reply_to":"e3b7b25c_b315731c","updated":"2022-05-05 23:33:41.000000000","message":"Done","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"119805994e844fe6e4309cfb117f518fdb878b12","unresolved":true,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"designate-mdns"},{"line_number":89,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":90,"context_line":"`designate-mdns` is the service that sends DNS NOTIFY and answers zone"},{"line_number":91,"context_line":"transfer (AXFR) requests."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"}],"source_content_type":"text/x-rst","patch_set":3,"id":"6bde0dc9_f2dcf364","line":90,"range":{"start_line":90,"start_character":37,"end_line":90,"end_character":53},"updated":"2022-05-05 22:37:15.000000000","message":"Breaking news: https://review.opendev.org/c/openstack/designate/+/840557/6/designate/mdns/notify.py\n\nminiDNS will no longer send NOTIFYs, only the worker.","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b96e3de753b1d0b4ec258dcb035b3a1b0226f739","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"designate-mdns"},{"line_number":89,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":90,"context_line":"`designate-mdns` is the service that sends DNS NOTIFY and answers zone"},{"line_number":91,"context_line":"transfer (AXFR) requests."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dd8a5662_95cc4ea6","line":90,"range":{"start_line":90,"start_character":37,"end_line":90,"end_character":53},"in_reply_to":"6bde0dc9_f2dcf364","updated":"2022-05-05 23:33:41.000000000","message":"Done","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"119805994e844fe6e4309cfb117f518fdb878b12","unresolved":true,"context_lines":[{"line_number":91,"context_line":"transfer (AXFR) requests."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"},{"line_number":94,"context_line":"have access to the OpenStackmessaging server(s), work will be distributed"},{"line_number":95,"context_line":"across all `designate-mdns` services. Once again to achieve a level of HA"},{"line_number":96,"context_line":"these services should be distributed on different nodes."},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7d131d58_945d1919","line":94,"range":{"start_line":94,"start_character":19,"end_line":94,"end_character":47},"updated":"2022-05-05 22:37:15.000000000","message":"There is a missing space here, and to be accurate, it needs access to the database as well.","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b96e3de753b1d0b4ec258dcb035b3a1b0226f739","unresolved":false,"context_lines":[{"line_number":91,"context_line":"transfer (AXFR) requests."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"You can run as many `designate-mdns` services as needed, as long as they all"},{"line_number":94,"context_line":"have access to the OpenStackmessaging server(s), work will be distributed"},{"line_number":95,"context_line":"across all `designate-mdns` services. Once again to achieve a level of HA"},{"line_number":96,"context_line":"these services should be distributed on different nodes."},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"85f4766a_506ddad6","line":94,"range":{"start_line":94,"start_character":19,"end_line":94,"end_character":47},"in_reply_to":"7d131d58_945d1919","updated":"2022-05-05 23:33:41.000000000","message":"Done","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"119805994e844fe6e4309cfb117f518fdb878b12","unresolved":true,"context_lines":[{"line_number":109,"context_line":"designate-producer"},{"line_number":110,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":111,"context_line":"`designate-producer` is a service that handles the invocation of long-running"},{"line_number":112,"context_line":"and potential large jobs. The current implementation of `designate-producer`"},{"line_number":113,"context_line":"tasks in producer include emitting dns.zone.exists for Ceilometer, purging"},{"line_number":114,"context_line":"deleted zones from the database, polling secondary zones at their refresh"},{"line_number":115,"context_line":"intervals, generating delayed NOTIFY transactions, and invoking a periodic"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e3edb013_d3a013f7","line":112,"range":{"start_line":112,"start_character":4,"end_line":112,"end_character":13},"updated":"2022-05-05 22:37:15.000000000","message":"potentially ?","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b96e3de753b1d0b4ec258dcb035b3a1b0226f739","unresolved":false,"context_lines":[{"line_number":109,"context_line":"designate-producer"},{"line_number":110,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":111,"context_line":"`designate-producer` is a service that handles the invocation of long-running"},{"line_number":112,"context_line":"and potential large jobs. The current implementation of `designate-producer`"},{"line_number":113,"context_line":"tasks in producer include emitting dns.zone.exists for Ceilometer, purging"},{"line_number":114,"context_line":"deleted zones from the database, polling secondary zones at their refresh"},{"line_number":115,"context_line":"intervals, generating delayed NOTIFY transactions, and invoking a periodic"}],"source_content_type":"text/x-rst","patch_set":3,"id":"15caf84b_a144c744","line":112,"range":{"start_line":112,"start_character":4,"end_line":112,"end_character":13},"in_reply_to":"e3edb013_d3a013f7","updated":"2022-05-05 23:33:41.000000000","message":"Done","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"119805994e844fe6e4309cfb117f518fdb878b12","unresolved":true,"context_lines":[{"line_number":110,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":111,"context_line":"`designate-producer` is a service that handles the invocation of long-running"},{"line_number":112,"context_line":"and potential large jobs. The current implementation of `designate-producer`"},{"line_number":113,"context_line":"tasks in producer include emitting dns.zone.exists for Ceilometer, purging"},{"line_number":114,"context_line":"deleted zones from the database, polling secondary zones at their refresh"},{"line_number":115,"context_line":"intervals, generating delayed NOTIFY transactions, and invoking a periodic"},{"line_number":116,"context_line":"recovery of zones in an error state."}],"source_content_type":"text/x-rst","patch_set":3,"id":"401b7584_b8a3cff2","line":113,"range":{"start_line":113,"start_character":6,"end_line":113,"end_character":17},"updated":"2022-05-05 22:37:15.000000000","message":"\"in producer\" seems redundant here. remove?","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"b96e3de753b1d0b4ec258dcb035b3a1b0226f739","unresolved":false,"context_lines":[{"line_number":110,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":111,"context_line":"`designate-producer` is a service that handles the invocation of long-running"},{"line_number":112,"context_line":"and potential large jobs. The current implementation of `designate-producer`"},{"line_number":113,"context_line":"tasks in producer include emitting dns.zone.exists for Ceilometer, purging"},{"line_number":114,"context_line":"deleted zones from the database, polling secondary zones at their refresh"},{"line_number":115,"context_line":"intervals, generating delayed NOTIFY transactions, and invoking a periodic"},{"line_number":116,"context_line":"recovery of zones in an error state."}],"source_content_type":"text/x-rst","patch_set":3,"id":"8deb0631_47afbb14","line":113,"range":{"start_line":113,"start_character":6,"end_line":113,"end_character":17},"in_reply_to":"401b7584_b8a3cff2","updated":"2022-05-05 23:33:41.000000000","message":"Done","commit_id":"b5660eabac429efbeb5a088f34707c1e470d9318"}]}
