)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c06de31df128c49b834b9a84e6dede3c765aa5c4","unresolved":false,"context_lines":[{"line_number":10,"context_line":"recently added SECONDARY zones feature. The patch includes bits for devstack"},{"line_number":11,"context_line":"and tests."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Implements: d2d-driver"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I5fcaf36482cf692432f7871ef08b2ae7fefe749a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa1b9901_9667af24","line":13,"updated":"2015-08-19 13:22:52.000000000","message":"Should be \"Implement blueprint: d2d-driver\"","commit_id":"303baaeef7e9276e61547ff846d8c9eea2ce40e9"}],"contrib/devstack/lib/designate_plugins/backend-designate":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c06de31df128c49b834b9a84e6dede3c765aa5c4","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Configure the designate backend"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Requirements:"},{"line_number":5,"context_line":"# An active DynECT account / contract will be requied to use this DevStack"},{"line_number":6,"context_line":"# plugin."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# Enable with:"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa1b9901_1674ffcc","line":5,"updated":"2015-08-19 13:22:52.000000000","message":"Does this really require a DynECT account? similar copy+paste leftovers below.","commit_id":"303baaeef7e9276e61547ff846d8c9eea2ce40e9"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c06de31df128c49b834b9a84e6dede3c765aa5c4","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"# DNS master server to AXFR zones from (This is configured on the slave"},{"line_number":30,"context_line":"# instance"},{"line_number":31,"context_line":"DESIGNATE_D2D_MASTERS\u003d${DESIGNATE_D2D_MASTERS:-\"\"}"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# DNS server to notify (MiniDNS ip:port)"},{"line_number":34,"context_line":"DESIGNATE_D2D_ALSO_NOTIES\u003d${DESIGNATE_D2D_ALSO_NOTIES:-\"\"}"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa1b9901_f6262bcd","line":31,"updated":"2015-08-19 13:22:52.000000000","message":"Can we describe these options better? We have 2 designates, 2 mdns etc.. Which is which? e.g. This is the primary Designate\u0027s mdns servers.","commit_id":"303baaeef7e9276e61547ff846d8c9eea2ce40e9"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c06de31df128c49b834b9a84e6dede3c765aa5c4","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    options\u003d\"$options project_name: $DESIGNATE_D2D_PROJECT_NAME, project_domain_name\u003d$DESIGNATE_D2D_PROJECT_DOMAIN_NAME, user_domain_name\u003d$DESIGNATE_D2D_USER_DOMAIN_NAME\""},{"line_number":63,"context_line":"    iniset $DESIGNATE_CONF pool_target:$DESIGNATE_TARGET_ID options $options"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    # Create a Pool Nameserver for each of the DynECT nameservers"},{"line_number":66,"context_line":"    local nameserver_ids\u003d\"\""},{"line_number":67,"context_line":"    IFS\u003d\u0027,\u0027 read -a nameservers \u003c\u003c\u003c \"$DESIGNATE_D2D_NAMESERVERS\""},{"line_number":68,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa1b9901_f60dcb3e","line":65,"updated":"2015-08-19 13:22:52.000000000","message":"s/DynECT/Secondary Designate\u0027s nameservers/","commit_id":"303baaeef7e9276e61547ff846d8c9eea2ce40e9"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c06de31df128c49b834b9a84e6dede3c765aa5c4","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    # Build an array of the DynECT nameservers."},{"line_number":88,"context_line":"    IFS\u003d\u0027,\u0027 read -a ns_records \u003c\u003c\u003c \"$DESIGNATE_D2D_NAMESERVERS\""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    # Create a NS Record for each of the DynECT nameservers"},{"line_number":91,"context_line":"    for ns_record in \"${ns_records[@]}\"; do"},{"line_number":92,"context_line":"        designate server-create --name \"${ns_record%%.}.\""},{"line_number":93,"context_line":"    done"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"fa1b9901_490df835","line":90,"updated":"2015-08-19 13:22:52.000000000","message":"s/DynECT/Secondary Designate\u0027s nameservers/","commit_id":"303baaeef7e9276e61547ff846d8c9eea2ce40e9"}],"contrib/vagrant/localrc":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"562ece02cb48fe543c87f52d9c98b0d3d297783a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"# - DESIGNATE_D2D_* credentials should be setup either to the source keystone"},{"line_number":64,"context_line":"#   or the destination"},{"line_number":65,"context_line":"# - We use Keystone v3 and the *DOMAIN_NAME vars default to \u0027default\u0027 if not"},{"line_number":66,"context_line":"#   set"},{"line_number":67,"context_line":"#DESIGNATE_D2D_MASTERS\u003d"},{"line_number":68,"context_line":"#DESIGNATE_D2D_ALSO_NOTIFIES\u003d"},{"line_number":69,"context_line":"#DESIGNATE_D2D_NAMESERVERS\u003d"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"da20952f_b3411866","line":66,"updated":"2015-09-08 11:36:35.000000000","message":"So, we don\u0027t support KS v2 at all in the code, or just devstack? We really should support both in the code at the least..","commit_id":"6ace5e5ad41101b4c9bd87948ee5f1b0e42dfcfd"}],"designate/backend/impl_designate.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c06de31df128c49b834b9a84e6dede3c765aa5c4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        self.project_name \u003d self.options.get(\u0027project_name\u0027)"},{"line_number":58,"context_line":"        self.project_domain_name \u003d self.options.get("},{"line_number":59,"context_line":"            \u0027project_domain_name\u0027, \u0027default\u0027)"},{"line_number":60,"context_line":"        self.user_domain_name \u003d self.options.get(\u0027user_domain_name\u0027, \u0027default\u0027)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    @property"},{"line_number":63,"context_line":"    def client(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_2958c431","line":60,"updated":"2015-08-19 13:22:52.000000000","message":"Can we add a service type option - e.g. HP uses hpext:dns still","commit_id":"303baaeef7e9276e61547ff846d8c9eea2ce40e9"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"562ece02cb48fe543c87f52d9c98b0d3d297783a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"CFG_GROUP \u003d \u0027backend:designate\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"_client \u003d None"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class DesignateBackend(base.Backend):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_5353dc39","line":33,"updated":"2015-09-08 11:36:35.000000000","message":"Federico points out this will be shared among many instances of the class, which is incorrect. The client must be stored as an instance variable.","commit_id":"6ace5e5ad41101b4c9bd87948ee5f1b0e42dfcfd"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"562ece02cb48fe543c87f52d9c98b0d3d297783a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            name\u003dCFG_GROUP, title\u003d\u0027Backend options for Designate\u0027"},{"line_number":47,"context_line":"        )"},{"line_number":48,"context_line":"        opts \u003d []"},{"line_number":49,"context_line":"        return [(group, opts)]"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def __init__(self, target):"},{"line_number":52,"context_line":"        super(DesignateBackend, self).__init__(target)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_53a51c45","line":49,"updated":"2015-09-08 11:36:35.000000000","message":"This whole method can be removed, it\u0027s not needed.","commit_id":"6ace5e5ad41101b4c9bd87948ee5f1b0e42dfcfd"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"562ece02cb48fe543c87f52d9c98b0d3d297783a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        self.project_name \u003d self.options.get(\u0027project_name\u0027)"},{"line_number":58,"context_line":"        self.project_domain_name \u003d self.options.get("},{"line_number":59,"context_line":"            \u0027project_domain_name\u0027, \u0027default\u0027)"},{"line_number":60,"context_line":"        self.user_domain_name \u003d self.options.get(\u0027user_domain_name\u0027, \u0027default\u0027)"},{"line_number":61,"context_line":"        self.service_type \u003d self.options.get(\u0027service_type\u0027, \u0027dns\u0027)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_b30fd838","line":60,"updated":"2015-09-08 11:36:35.000000000","message":"Does defaulting both of these to \"default\" preclude the use of KS v2?","commit_id":"6ace5e5ad41101b4c9bd87948ee5f1b0e42dfcfd"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"562ece02cb48fe543c87f52d9c98b0d3d297783a","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        LOG.info(msg, {\u0027d_id\u0027: domain[\u0027id\u0027], \u0027d_name\u0027: domain[\u0027name\u0027]})"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        try:"},{"line_number":95,"context_line":"            self.client.zones.delete(domain.id)"},{"line_number":96,"context_line":"        except exceptions.NotFound:"},{"line_number":97,"context_line":"            msg \u003d _LW(\"Zone %s not found.\")"},{"line_number":98,"context_line":"            LOG.warn(msg, domain.id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_6e3873d5","line":95,"updated":"2015-09-08 11:36:35.000000000","message":"I\u0027m not sure I see how this can work? How is the local domain ID \u003d\u003d the remote domain ID?","commit_id":"6ace5e5ad41101b4c9bd87948ee5f1b0e42dfcfd"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"562ece02cb48fe543c87f52d9c98b0d3d297783a","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        try:"},{"line_number":95,"context_line":"            self.client.zones.delete(domain.id)"},{"line_number":96,"context_line":"        except exceptions.NotFound:"},{"line_number":97,"context_line":"            msg \u003d _LW(\"Zone %s not found.\")"},{"line_number":98,"context_line":"            LOG.warn(msg, domain.id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_6e115353","line":97,"updated":"2015-09-08 11:36:35.000000000","message":"Can we make this read \"Zone %s not found on remote Designate, Ignoring\"","commit_id":"6ace5e5ad41101b4c9bd87948ee5f1b0e42dfcfd"}]}
