)]}'
{"designate/backend/agent_backend/impl_msdns.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"5846a016cfaf631355fa2e9e827eaf17714311fa","unresolved":false,"context_lines":[{"line_number":31,"context_line":"class MSDNSBackend(base.AgentBackend):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    __plugin_name__ \u003d \u0027msdns\u0027"},{"line_number":34,"context_line":"    __backend_status__ \u003d \u0027release-compatible\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def __init__(self, agent_service):"},{"line_number":37,"context_line":"        \"\"\"Configure the backend\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_b5729747","line":34,"range":{"start_line":34,"start_character":26,"end_line":34,"end_character":44},"updated":"2016-06-22 18:50:29.000000000","message":"this should be \u0027experimental\u0027 until the 3rd party CI is setup and reporting","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"a7e3bf0bfea6fa1c55c57a9a9c395fd5a67000a2","unresolved":false,"context_lines":[{"line_number":31,"context_line":"class MSDNSBackend(base.AgentBackend):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    __plugin_name__ \u003d \u0027msdns\u0027"},{"line_number":34,"context_line":"    __backend_status__ \u003d \u0027release-compatible\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def __init__(self, agent_service):"},{"line_number":37,"context_line":"        \"\"\"Configure the backend\"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_6a4fa9bd","line":34,"range":{"start_line":34,"start_character":26,"end_line":34,"end_character":44},"in_reply_to":"3aaa91ec_b5729747","updated":"2016-06-22 22:48:53.000000000","message":"Done","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"5846a016cfaf631355fa2e9e827eaf17714311fa","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        # Only ip addresses are needed"},{"line_number":42,"context_line":"        self._masters \u003d [ns.split(\":\")[0]"},{"line_number":43,"context_line":"                         for ns in cfg.CONF[\u0027service:agent\u0027].masters]"},{"line_number":44,"context_line":"        LOG.info(_LI(\"AXFR masters: %r\"), self._masters)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def get_cfg_opts(cls):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_15c8cb21","line":44,"updated":"2016-06-22 18:50:29.000000000","message":"should raise an exception here if there is no masters","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"a7e3bf0bfea6fa1c55c57a9a9c395fd5a67000a2","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        # Only ip addresses are needed"},{"line_number":42,"context_line":"        self._masters \u003d [ns.split(\":\")[0]"},{"line_number":43,"context_line":"                         for ns in cfg.CONF[\u0027service:agent\u0027].masters]"},{"line_number":44,"context_line":"        LOG.info(_LI(\"AXFR masters: %r\"), self._masters)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def get_cfg_opts(cls):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_aac7d110","line":44,"in_reply_to":"3aaa91ec_15c8cb21","updated":"2016-06-22 22:48:53.000000000","message":"Done","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5df090d0b219db19397f901c49e402623cc5b68e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        opts \u003d ["},{"line_number":59,"context_line":"            cfg.StrOpt(\u0027query-destination\u0027, default\u003d\u0027127.0.0.1\u0027,"},{"line_number":60,"context_line":"                       help\u003d\u0027Host to query when finding zones\u0027)"},{"line_number":61,"context_line":"        ]"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        return [(group, opts)]"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_3466ffec","line":61,"updated":"2016-06-27 10:01:31.000000000","message":"honestly, it would be simpler if yoy would move these config options above the class. it will make it easier to read.\n\nthis would become:\n\n    @classmethod\n    def get_cfg_opts(cls):\n        return [(GROUP, OPTS)]\n\nalso, I suggest having \u0027query_destination\u0027 instead of \u0027query-destination\u0027. Config options are often referenced via CONF.config_option_name, and having a dash in the config option name wouldn\u0027t work. :)\n\nalso, where is the config option used?","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"00817d55f4f59c9d7e5c2813f4d5dbab207de263","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        opts \u003d ["},{"line_number":59,"context_line":"            cfg.StrOpt(\u0027query-destination\u0027, default\u003d\u0027127.0.0.1\u0027,"},{"line_number":60,"context_line":"                       help\u003d\u0027Host to query when finding zones\u0027)"},{"line_number":61,"context_line":"        ]"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        return [(group, opts)]"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_2fe6a516","line":61,"in_reply_to":"3aaa91ec_3466ffec","updated":"2016-06-27 12:17:29.000000000","message":"I agree with the first part. Also, you can register a config option with dash, for example \u0027config-option-name\u0027, and refer to it later on as CONF.config_option_name.","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5df090d0b219db19397f901c49e402623cc5b68e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        LOG.info(_LI(\"Started msdns backend\"))"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def find_zone_serial(self, zone_name):"},{"line_number":70,"context_line":"        \"\"\"Query the WMI object of the zone to obtain the serial\"\"\""},{"line_number":71,"context_line":"        zone_name \u003d zone_name.rstrip(\".\")"},{"line_number":72,"context_line":"        LOG.debug(\"Finding %s\" % zone_name)"},{"line_number":73,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_f1a00944","line":70,"updated":"2016-06-27 10:01:31.000000000","message":"the docstring contains some os-win internal details, and there\u0027s no reason for it. how about:\n\n    \"\"\"Query the zone\u0027s serial\"\"\"\n\nor\n\n    \"\"\"Return the zone\u0027s serial\"\"\"","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"00817d55f4f59c9d7e5c2813f4d5dbab207de263","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        LOG.info(_LI(\"Started msdns backend\"))"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def find_zone_serial(self, zone_name):"},{"line_number":70,"context_line":"        \"\"\"Query the WMI object of the zone to obtain the serial\"\"\""},{"line_number":71,"context_line":"        zone_name \u003d zone_name.rstrip(\".\")"},{"line_number":72,"context_line":"        LOG.debug(\"Finding %s\" % zone_name)"},{"line_number":73,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_36b27f4c","line":70,"in_reply_to":"3aaa91ec_f1a00944","updated":"2016-06-27 12:17:29.000000000","message":"Done","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5df090d0b219db19397f901c49e402623cc5b68e","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        LOG.debug(\"Finding %s\" % zone_name)"},{"line_number":73,"context_line":"        try:"},{"line_number":74,"context_line":"            serial_number \u003d self._dnsutils.get_zone_serial(zone_name)"},{"line_number":75,"context_line":"            return serial_number"},{"line_number":76,"context_line":"        except Exception:"},{"line_number":77,"context_line":"            return None"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_f1b76982","line":75,"updated":"2016-06-27 10:01:31.000000000","message":"how about:\n\n    return self._dnsutils.get_zone_serial(zone_name)","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"00817d55f4f59c9d7e5c2813f4d5dbab207de263","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        LOG.debug(\"Finding %s\" % zone_name)"},{"line_number":73,"context_line":"        try:"},{"line_number":74,"context_line":"            serial_number \u003d self._dnsutils.get_zone_serial(zone_name)"},{"line_number":75,"context_line":"            return serial_number"},{"line_number":76,"context_line":"        except Exception:"},{"line_number":77,"context_line":"            return None"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_76b8872a","line":75,"in_reply_to":"3aaa91ec_f1b76982","updated":"2016-06-27 12:17:29.000000000","message":"Done","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5df090d0b219db19397f901c49e402623cc5b68e","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        try:"},{"line_number":74,"context_line":"            serial_number \u003d self._dnsutils.get_zone_serial(zone_name)"},{"line_number":75,"context_line":"            return serial_number"},{"line_number":76,"context_line":"        except Exception:"},{"line_number":77,"context_line":"            return None"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def create_zone(self, zone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_9180a58c","line":76,"updated":"2016-06-27 10:01:31.000000000","message":"this is a bit too broad. what if the dns zone isn\u0027t found? should it still return None, or should it reraise another exception?","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"00817d55f4f59c9d7e5c2813f4d5dbab207de263","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        try:"},{"line_number":74,"context_line":"            serial_number \u003d self._dnsutils.get_zone_serial(zone_name)"},{"line_number":75,"context_line":"            return serial_number"},{"line_number":76,"context_line":"        except Exception:"},{"line_number":77,"context_line":"            return None"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def create_zone(self, zone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_960a53d0","line":76,"in_reply_to":"3aaa91ec_9180a58c","updated":"2016-06-27 12:17:29.000000000","message":"It should return None if the zone was not found.","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"79e2e348198386a3963a338dc80be8d5b5fe71d4","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                zone_type\u003dconstants.DNS_ZONE_TYPE_SECONDARY,"},{"line_number":89,"context_line":"                ds_integrated\u003dFalse,"},{"line_number":90,"context_line":"                ip_addrs\u003dself._masters)"},{"line_number":91,"context_line":"        except os_win_exc.DNSZoneAlreadyExists:"},{"line_number":92,"context_line":"            # Zone already exists, ignore the exception"},{"line_number":93,"context_line":"            pass"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_7ff0dbfd","line":91,"range":{"start_line":91,"start_character":26,"end_line":91,"end_character":46},"updated":"2016-06-29 12:19:21.000000000","message":"If the zone exists (it has been created by another user for example) - should it be counted as a success?\n\nThe zone could be a AD Integrated zone, with no hope of ever getting an update from Designate.","commit_id":"b348a802998727588557875632f04b00b077a3bd"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"ea6034548d51f497718195642c0b048a81183222","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                zone_type\u003dconstants.DNS_ZONE_TYPE_SECONDARY,"},{"line_number":89,"context_line":"                ds_integrated\u003dFalse,"},{"line_number":90,"context_line":"                ip_addrs\u003dself._masters)"},{"line_number":91,"context_line":"        except os_win_exc.DNSZoneAlreadyExists:"},{"line_number":92,"context_line":"            # Zone already exists, ignore the exception"},{"line_number":93,"context_line":"            pass"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3aaa91ec_f8275ab3","line":91,"range":{"start_line":91,"start_character":26,"end_line":91,"end_character":46},"in_reply_to":"3aaa91ec_7ff0dbfd","updated":"2016-07-01 06:52:30.000000000","message":"Agree, if the zone exists then additional checkings will be performed to make sure the master servers and zone type match the requested ones. If they do not match, then the exception will be raised.","commit_id":"b348a802998727588557875632f04b00b077a3bd"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"fa909b884837a1727ee73d247c8db61654906126","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def start(self):"},{"line_number":66,"context_line":"        \"\"\"Start the backend\"\"\""},{"line_number":67,"context_line":"        LOG.info(_LI(\"Started msdns backend\"))"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def find_zone_serial(self, zone_name):"},{"line_number":70,"context_line":"        \"\"\"Return the zone\u0027s serial\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_a015a440","line":67,"updated":"2016-07-13 09:31:09.000000000","message":"Would we need any sanity checks?","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"4b15bda2025505c14b95f860219b3aadb334304b","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def start(self):"},{"line_number":66,"context_line":"        \"\"\"Start the backend\"\"\""},{"line_number":67,"context_line":"        LOG.info(_LI(\"Started msdns backend\"))"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def find_zone_serial(self, zone_name):"},{"line_number":70,"context_line":"        \"\"\"Return the zone\u0027s serial\"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_8bad2933","line":67,"in_reply_to":"1aa78d24_a015a440","updated":"2016-07-13 16:34:26.000000000","message":"No, they are not needed.","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"fa909b884837a1727ee73d247c8db61654906126","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    def create_zone(self, zone):"},{"line_number":80,"context_line":"        \"\"\"Create a new DNS Zone\"\"\""},{"line_number":81,"context_line":"        zone_name \u003d zone.origin.to_text(omit_final_dot\u003dTrue)"},{"line_number":82,"context_line":"        LOG.debug(\"Creating %s\" % zone_name)"},{"line_number":83,"context_line":"        try:"},{"line_number":84,"context_line":"            self._dnsutils.zone_create("},{"line_number":85,"context_line":"                zone_name\u003dzone_name,"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_fd0913de","line":82,"updated":"2016-07-13 09:31:09.000000000","message":"I guess it would be better to log \"Creating zone %s\".","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"4b15bda2025505c14b95f860219b3aadb334304b","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    def create_zone(self, zone):"},{"line_number":80,"context_line":"        \"\"\"Create a new DNS Zone\"\"\""},{"line_number":81,"context_line":"        zone_name \u003d zone.origin.to_text(omit_final_dot\u003dTrue)"},{"line_number":82,"context_line":"        LOG.debug(\"Creating %s\" % zone_name)"},{"line_number":83,"context_line":"        try:"},{"line_number":84,"context_line":"            self._dnsutils.zone_create("},{"line_number":85,"context_line":"                zone_name\u003dzone_name,"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_0b6819f4","line":82,"in_reply_to":"1aa78d24_fd0913de","updated":"2016-07-13 16:34:26.000000000","message":"Done","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"fa909b884837a1727ee73d247c8db61654906126","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                zone_type\u003dconstants.DNS_ZONE_TYPE_SECONDARY,"},{"line_number":87,"context_line":"                ds_integrated\u003dFalse,"},{"line_number":88,"context_line":"                ip_addrs\u003dself._masters)"},{"line_number":89,"context_line":"        except os_win_exc.DNSZoneAlreadyExists:"},{"line_number":90,"context_line":"            # Raise the exception if the DNS Zone already exists"},{"line_number":91,"context_line":"            raise"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_1dd5ff1a","line":89,"updated":"2016-07-13 09:31:09.000000000","message":"What\u0027s the point in catching an exception if you raise it again anyway, without doing anything besides?","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"4b15bda2025505c14b95f860219b3aadb334304b","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                zone_type\u003dconstants.DNS_ZONE_TYPE_SECONDARY,"},{"line_number":87,"context_line":"                ds_integrated\u003dFalse,"},{"line_number":88,"context_line":"                ip_addrs\u003dself._masters)"},{"line_number":89,"context_line":"        except os_win_exc.DNSZoneAlreadyExists:"},{"line_number":90,"context_line":"            # Raise the exception if the DNS Zone already exists"},{"line_number":91,"context_line":"            raise"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_8b7409cf","line":89,"in_reply_to":"1aa78d24_1dd5ff1a","updated":"2016-07-13 16:34:26.000000000","message":"Done","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"fa909b884837a1727ee73d247c8db61654906126","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        \"\"\"Instruct MSDNS to request an AXFR from MiniDNS."},{"line_number":95,"context_line":"        \"\"\""},{"line_number":96,"context_line":"        zone_name \u003d zone.origin.to_text(omit_final_dot\u003dTrue)"},{"line_number":97,"context_line":"        LOG.debug(\"Updating %s\" % zone_name)"},{"line_number":98,"context_line":"        self._dnsutils.zone_update(zone_name)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def delete_zone(self, zone_name):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_3d10bbff","line":97,"updated":"2016-07-13 09:31:09.000000000","message":"Ditto.","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"4b15bda2025505c14b95f860219b3aadb334304b","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        \"\"\"Instruct MSDNS to request an AXFR from MiniDNS."},{"line_number":95,"context_line":"        \"\"\""},{"line_number":96,"context_line":"        zone_name \u003d zone.origin.to_text(omit_final_dot\u003dTrue)"},{"line_number":97,"context_line":"        LOG.debug(\"Updating %s\" % zone_name)"},{"line_number":98,"context_line":"        self._dnsutils.zone_update(zone_name)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def delete_zone(self, zone_name):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_4b6ea100","line":97,"in_reply_to":"1aa78d24_3d10bbff","updated":"2016-07-13 16:34:26.000000000","message":"Done","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    title\u003d\"Configuration for Microsoft DNS Server\""},{"line_number":35,"context_line":")"},{"line_number":36,"context_line":"OPTS \u003d ["},{"line_number":37,"context_line":"    cfg.StrOpt(\u0027query-destination\u0027, default\u003d\u0027127.0.0.1\u0027,"},{"line_number":38,"context_line":"               help\u003d\u0027Host to query when finding zones\u0027)"},{"line_number":39,"context_line":"]"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"dada55a8_1b027d0b","line":38,"range":{"start_line":37,"start_character":4,"end_line":38,"end_character":55},"updated":"2016-07-20 12:22:46.000000000","message":"This seems unused? If so, it should be removed (along with the sample config entry for this option), leaving OPTS as an empty array.","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    title\u003d\"Configuration for Microsoft DNS Server\""},{"line_number":35,"context_line":")"},{"line_number":36,"context_line":"OPTS \u003d ["},{"line_number":37,"context_line":"    cfg.StrOpt(\u0027query-destination\u0027, default\u003d\u0027127.0.0.1\u0027,"},{"line_number":38,"context_line":"               help\u003d\u0027Host to query when finding zones\u0027)"},{"line_number":39,"context_line":"]"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"dada55a8_542fe487","line":38,"range":{"start_line":37,"start_character":4,"end_line":38,"end_character":55},"in_reply_to":"dada55a8_1b027d0b","updated":"2016-07-26 09:21:54.000000000","message":"Done","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"}],"designate/tests/unit/test_agent/test_backends/test_msdns.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5df090d0b219db19397f901c49e402623cc5b68e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        self.backend \u003d MSDNSBackend(\u0027foo\u0027)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def tearDown(self):"},{"line_number":44,"context_line":"        super(MSDNSAgentBackendUnitTestCase, self).tearDown()"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _create_dnspy_zone(self, name):"},{"line_number":47,"context_line":"        zone_text \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_140e63e4","line":44,"updated":"2016-06-27 10:01:31.000000000","message":"no need for this.","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"00817d55f4f59c9d7e5c2813f4d5dbab207de263","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        self.backend \u003d MSDNSBackend(\u0027foo\u0027)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def tearDown(self):"},{"line_number":44,"context_line":"        super(MSDNSAgentBackendUnitTestCase, self).tearDown()"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def _create_dnspy_zone(self, name):"},{"line_number":47,"context_line":"        zone_text \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_163823d2","line":44,"in_reply_to":"3aaa91ec_140e63e4","updated":"2016-06-27 12:17:29.000000000","message":"Done","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"5df090d0b219db19397f901c49e402623cc5b68e","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self._dnsutils.get_zone_serial.side_effect \u003d RuntimeError(\u0027foo\u0027)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        expected_serial \u003d None"},{"line_number":71,"context_line":"        self.assertEqual(expected_serial, serial)"},{"line_number":72,"context_line":"        self._dnsutils.get_zone_serial.assert_called_once_with("},{"line_number":73,"context_line":"            self.FAKE_ZONE_NAME)"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_94ac138d","line":71,"updated":"2016-06-27 10:01:31.000000000","message":"self.assertIsNone","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"00817d55f4f59c9d7e5c2813f4d5dbab207de263","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        self._dnsutils.get_zone_serial.side_effect \u003d RuntimeError(\u0027foo\u0027)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        expected_serial \u003d None"},{"line_number":71,"context_line":"        self.assertEqual(expected_serial, serial)"},{"line_number":72,"context_line":"        self._dnsutils.get_zone_serial.assert_called_once_with("},{"line_number":73,"context_line":"            self.FAKE_ZONE_NAME)"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_163f83b4","line":71,"in_reply_to":"3aaa91ec_94ac138d","updated":"2016-06-27 12:17:29.000000000","message":"Done","commit_id":"98a7ac576b470032eaaafb3823226d9bb21a3a04"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"fa909b884837a1727ee73d247c8db61654906126","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from os_win import constants"},{"line_number":25,"context_line":"from os_win import exceptions as os_win_exc"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from designate.backend.agent_backend.impl_msdns import MSDNSBackend"},{"line_number":28,"context_line":"from designate.tests import TestCase"},{"line_number":29,"context_line":"import designate.backend.agent_backend.impl_msdns  # noqa"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_3d843bd1","line":27,"updated":"2016-07-13 09:31:09.000000000","message":"I\u0027d recommend avoiding importing classes.","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"4b15bda2025505c14b95f860219b3aadb334304b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from os_win import constants"},{"line_number":25,"context_line":"from os_win import exceptions as os_win_exc"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from designate.backend.agent_backend.impl_msdns import MSDNSBackend"},{"line_number":28,"context_line":"from designate.tests import TestCase"},{"line_number":29,"context_line":"import designate.backend.agent_backend.impl_msdns  # noqa"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_eb4cadc9","line":27,"in_reply_to":"1aa78d24_3d843bd1","updated":"2016-07-13 16:34:26.000000000","message":"Done","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"fa909b884837a1727ee73d247c8db61654906126","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from designate.backend.agent_backend.impl_msdns import MSDNSBackend"},{"line_number":28,"context_line":"from designate.tests import TestCase"},{"line_number":29,"context_line":"import designate.backend.agent_backend.impl_msdns  # noqa"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class MSDNSAgentBackendUnitTestCase(TestCase):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_1d7b3ff6","line":29,"updated":"2016-07-13 09:31:09.000000000","message":"Is this needed?","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"4b15bda2025505c14b95f860219b3aadb334304b","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from designate.backend.agent_backend.impl_msdns import MSDNSBackend"},{"line_number":28,"context_line":"from designate.tests import TestCase"},{"line_number":29,"context_line":"import designate.backend.agent_backend.impl_msdns  # noqa"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class MSDNSAgentBackendUnitTestCase(TestCase):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_8b51a964","line":29,"in_reply_to":"1aa78d24_1d7b3ff6","updated":"2016-07-13 16:34:26.000000000","message":"It\u0027s not needed. Deleted the line.","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"fa909b884837a1727ee73d247c8db61654906126","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class MSDNSAgentBackendUnitTestCase(TestCase):"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    FAKE_ZONE_NAME \u003d \u0027example.com\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def setUp(self):"},{"line_number":37,"context_line":"        super(MSDNSAgentBackendUnitTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_fdbab3be","line":34,"updated":"2016-07-13 09:31:09.000000000","message":"I guess you could use \u0027_\u0027 for attributes that are not used outside this module.","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"4b15bda2025505c14b95f860219b3aadb334304b","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class MSDNSAgentBackendUnitTestCase(TestCase):"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    FAKE_ZONE_NAME \u003d \u0027example.com\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def setUp(self):"},{"line_number":37,"context_line":"        super(MSDNSAgentBackendUnitTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_cb4731a1","line":34,"in_reply_to":"1aa78d24_fdbab3be","updated":"2016-07-13 16:34:26.000000000","message":"Done","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"fa909b884837a1727ee73d247c8db61654906126","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        super(MSDNSAgentBackendUnitTestCase, self).setUp()"},{"line_number":38,"context_line":"        self.CONF.set_override(\u0027masters\u0027, (\u0027127.0.0.1:5354\u0027,), \u0027service:agent\u0027)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        patcher \u003d mock.patch(\u0027os_win.utilsfactory.get_dnsutils\u0027)"},{"line_number":41,"context_line":"        self._dnsutils \u003d patcher.start().return_value"},{"line_number":42,"context_line":"        self.backend \u003d MSDNSBackend(\u0027foo\u0027)"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_bd42eba8","line":40,"updated":"2016-07-13 09:31:09.000000000","message":"You should add self.addCleanup(patcher.stop)","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"4b15bda2025505c14b95f860219b3aadb334304b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        super(MSDNSAgentBackendUnitTestCase, self).setUp()"},{"line_number":38,"context_line":"        self.CONF.set_override(\u0027masters\u0027, (\u0027127.0.0.1:5354\u0027,), \u0027service:agent\u0027)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        patcher \u003d mock.patch(\u0027os_win.utilsfactory.get_dnsutils\u0027)"},{"line_number":41,"context_line":"        self._dnsutils \u003d patcher.start().return_value"},{"line_number":42,"context_line":"        self.backend \u003d MSDNSBackend(\u0027foo\u0027)"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1aa78d24_2bc99526","line":40,"in_reply_to":"1aa78d24_bd42eba8","updated":"2016-07-13 16:34:26.000000000","message":"Done","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"}],"devstack/designate_plugins/backend-agent-msdns":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":36,"context_line":"fi"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"if [ \"$DESIGNATE_SERVICE_PORT_MDNS\" !\u003d \"53\" ]; then"},{"line_number":39,"context_line":"    die $LINENO \"DynECT requires DESIGNATE_SERVICE_PORT_MDNS is set to \u002753\u0027\""},{"line_number":40,"context_line":"fi"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Entry Points"}],"source_content_type":"application/octet-stream","patch_set":18,"id":"dada55a8_9b9cad5e","line":39,"range":{"start_line":39,"start_character":17,"end_line":39,"end_character":23},"updated":"2016-07-20 12:22:46.000000000","message":"s/DynECT/Microsoft DNS/ - and - does MSDNS actually require the upstream master NS is running on :53? I thought it accepted any port.","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":36,"context_line":"fi"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"if [ \"$DESIGNATE_SERVICE_PORT_MDNS\" !\u003d \"53\" ]; then"},{"line_number":39,"context_line":"    die $LINENO \"DynECT requires DESIGNATE_SERVICE_PORT_MDNS is set to \u002753\u0027\""},{"line_number":40,"context_line":"fi"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"# Entry Points"}],"source_content_type":"application/octet-stream","patch_set":18,"id":"dada55a8_12dd7742","line":39,"range":{"start_line":39,"start_character":17,"end_line":39,"end_character":23},"in_reply_to":"dada55a8_9b9cad5e","updated":"2016-07-26 09:21:54.000000000","message":"MSDNS requires the upstream master NS to be running on port 53.","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    - hostname: $DESIGNATE_DEFAULT_NS_RECORD"},{"line_number":61,"context_line":"      priority: 1"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  nameservers:"},{"line_number":64,"context_line":"    - host: $DESIGNATE_SERVICE_HOST"},{"line_number":65,"context_line":"      port: $DESIGNATE_SERVICE_PORT_DNS"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  targets:"},{"line_number":68,"context_line":"    - type: agent"}],"source_content_type":"application/octet-stream","patch_set":18,"id":"dada55a8_7bb8d9c8","line":65,"range":{"start_line":63,"start_character":0,"end_line":65,"end_character":39},"updated":"2016-07-20 12:22:46.000000000","message":"This should be the MSDNS server - \n\ne.g. $DESIGNATE_MSDNS_HOST_IP + a new $DESIGNATE_MSDNS_HOST_PORT","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    - hostname: $DESIGNATE_DEFAULT_NS_RECORD"},{"line_number":61,"context_line":"      priority: 1"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  nameservers:"},{"line_number":64,"context_line":"    - host: $DESIGNATE_SERVICE_HOST"},{"line_number":65,"context_line":"      port: $DESIGNATE_SERVICE_PORT_DNS"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  targets:"},{"line_number":68,"context_line":"    - type: agent"}],"source_content_type":"application/octet-stream","patch_set":18,"id":"dada55a8_b260eba5","line":65,"range":{"start_line":63,"start_character":0,"end_line":65,"end_character":39},"in_reply_to":"dada55a8_7bb8d9c8","updated":"2016-07-26 09:21:54.000000000","message":"Done","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        port: $DESIGNATE_SERVICE_PORT_AGENT"},{"line_number":78,"context_line":"EOF"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    # Configure Agent Settings"},{"line_number":81,"context_line":"    iniset $DESIGNATE_CONF service:agent backend_driver $DESIGNATE_AGENT_BACKEND_DRIVER"},{"line_number":82,"context_line":"    iniset $DESIGNATE_CONF service:agent host $DESIGNATE_SERVICE_HOST"},{"line_number":83,"context_line":"    iniset $DESIGNATE_CONF service:agent port $DESIGNATE_SERVICE_PORT_AGENT"},{"line_number":84,"context_line":"    iniset $DESIGNATE_CONF service:agent masters \"$DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT_MDNS\""},{"line_number":85,"context_line":"}"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"# init_designate_backend - initialize databases, etc."}],"source_content_type":"application/octet-stream","patch_set":18,"id":"dada55a8_bb58918b","line":84,"range":{"start_line":80,"start_character":0,"end_line":84,"end_character":103},"updated":"2016-07-20 12:22:46.000000000","message":"These should be in the Windows server config file, rather than here on the Linux devstack host.. To save some confusion, we should either remove these, or write to a different file which is used for copy+paste over to windows.. e.g. you could do:\n\n\n    echo \"# Sample Config for Windows Agent service\" | sudo tee ${DESIGNATE_CONF}.win\n    echo \"# This file should be copied to the Windows DNS server and used as the Designate config file\" | sudo tee -a ${DESIGNATE_CONF}.win\n    iniset ${DESIGNATE_CONF}.win service:agent backend_driver $DESIGNATE_AGENT_BACKEND_DRIVER\n    iniset ...","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        port: $DESIGNATE_SERVICE_PORT_AGENT"},{"line_number":78,"context_line":"EOF"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    # Configure Agent Settings"},{"line_number":81,"context_line":"    iniset $DESIGNATE_CONF service:agent backend_driver $DESIGNATE_AGENT_BACKEND_DRIVER"},{"line_number":82,"context_line":"    iniset $DESIGNATE_CONF service:agent host $DESIGNATE_SERVICE_HOST"},{"line_number":83,"context_line":"    iniset $DESIGNATE_CONF service:agent port $DESIGNATE_SERVICE_PORT_AGENT"},{"line_number":84,"context_line":"    iniset $DESIGNATE_CONF service:agent masters \"$DESIGNATE_SERVICE_HOST:$DESIGNATE_SERVICE_PORT_MDNS\""},{"line_number":85,"context_line":"}"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"# init_designate_backend - initialize databases, etc."}],"source_content_type":"application/octet-stream","patch_set":18,"id":"dada55a8_12261768","line":84,"range":{"start_line":80,"start_character":0,"end_line":84,"end_character":103},"in_reply_to":"dada55a8_bb58918b","updated":"2016-07-26 09:21:54.000000000","message":"Done","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"}],"doc/source/backends/msdns_agent.rst":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"5846a016cfaf631355fa2e9e827eaf17714311fa","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"    Copyright 2016 Cloudbase Solutions Srl"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"    Author: Alin Balutoiu \u003cabalutoiu@cloudbasesolutions.com\u003e"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3aaa91ec_7585cfab","line":1,"updated":"2016-06-22 18:50:29.000000000","message":"This file should document that mini DNS will need to run on port 53.\n\nMS DNS does not support Masters that are on any port other than 53","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"a7e3bf0bfea6fa1c55c57a9a9c395fd5a67000a2","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"    Copyright 2016 Cloudbase Solutions Srl"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"    Author: Alin Balutoiu \u003cabalutoiu@cloudbasesolutions.com\u003e"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3aaa91ec_051c1612","line":1,"in_reply_to":"3aaa91ec_7585cfab","updated":"2016-06-22 22:48:53.000000000","message":"Done","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"5846a016cfaf631355fa2e9e827eaf17714311fa","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    [service:agent]"},{"line_number":67,"context_line":"    backend_driver \u003d msdns"},{"line_number":68,"context_line":"    # Place here the MiniDNS ipaddr and port (no the agent itself)"},{"line_number":69,"context_line":"    masters \u003d \u003cMiniDNS IP addr\u003e:\u003cMiniDNS Port\u003e"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    [backend.agent.msdns]"},{"line_number":72,"context_line":"    name \u003d msdns"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3aaa91ec_35ba276f","line":69,"range":{"start_line":69,"start_character":32,"end_line":69,"end_character":46},"updated":"2016-06-22 18:50:29.000000000","message":"should be 53","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"a7e3bf0bfea6fa1c55c57a9a9c395fd5a67000a2","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    [service:agent]"},{"line_number":67,"context_line":"    backend_driver \u003d msdns"},{"line_number":68,"context_line":"    # Place here the MiniDNS ipaddr and port (no the agent itself)"},{"line_number":69,"context_line":"    masters \u003d \u003cMiniDNS IP addr\u003e:\u003cMiniDNS Port\u003e"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    [backend.agent.msdns]"},{"line_number":72,"context_line":"    name \u003d msdns"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3aaa91ec_45161ef2","line":69,"range":{"start_line":69,"start_character":32,"end_line":69,"end_character":46},"in_reply_to":"3aaa91ec_35ba276f","updated":"2016-06-22 22:48:53.000000000","message":"Done","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"5846a016cfaf631355fa2e9e827eaf17714311fa","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    - description: Microsoft DNS agent"},{"line_number":107,"context_line":"      masters:"},{"line_number":108,"context_line":"      - host: \u003cMiniDNS IP addr\u003e"},{"line_number":109,"context_line":"        port: 5354"},{"line_number":110,"context_line":"      options: {}"},{"line_number":111,"context_line":"      options:"},{"line_number":112,"context_line":"      - host: \u003cAgent IP addr\u003e"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3aaa91ec_b58f37cb","line":109,"range":{"start_line":109,"start_character":14,"end_line":109,"end_character":18},"updated":"2016-06-22 18:50:29.000000000","message":"should be 53","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"a7e3bf0bfea6fa1c55c57a9a9c395fd5a67000a2","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    - description: Microsoft DNS agent"},{"line_number":107,"context_line":"      masters:"},{"line_number":108,"context_line":"      - host: \u003cMiniDNS IP addr\u003e"},{"line_number":109,"context_line":"        port: 5354"},{"line_number":110,"context_line":"      options: {}"},{"line_number":111,"context_line":"      options:"},{"line_number":112,"context_line":"      - host: \u003cAgent IP addr\u003e"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3aaa91ec_a5d38237","line":109,"range":{"start_line":109,"start_character":14,"end_line":109,"end_character":18},"in_reply_to":"3aaa91ec_b58f37cb","updated":"2016-06-22 22:48:53.000000000","message":"Done","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":979,"name":"Dave Walker","email":"email@daviey.com","username":"davewalker"},"change_message_id":"9f7698a47ed34d4032a68e4d3ed72d9db9b1d28d","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"For the following example, the Windows host was configured using the"},{"line_number":54,"context_line":"OpenStack Hyper-V Compute installer available here:"},{"line_number":55,"context_line":"    `\u003chttps://cloudbase.it/openstack-hyperv-driver/\u003e`_"},{"line_number":56,"context_line":"After that, Designate was also installed and the directory etc/designate was"},{"line_number":57,"context_line":"copied in C:\\Program Files\\Cloudbase Solutions\\OpenStack\\Nova\\etc\\designate\\"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"1aa78d24_a7a0cca6","line":55,"range":{"start_line":55,"start_character":37,"end_line":55,"end_character":43},"updated":"2016-07-08 16:50:15.000000000","message":"I think many users will want to run this agent on a dedicated windows dns server, without HyperV.  Considering the authority an agent on this server would have, I think i\u0027d prefer if the agent could be self contained, and hopefully a release artifact of OpenStack itself.","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"4b15bda2025505c14b95f860219b3aadb334304b","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"For the following example, the Windows host was configured using the"},{"line_number":54,"context_line":"OpenStack Hyper-V Compute installer available here:"},{"line_number":55,"context_line":"    `\u003chttps://cloudbase.it/openstack-hyperv-driver/\u003e`_"},{"line_number":56,"context_line":"After that, Designate was also installed and the directory etc/designate was"},{"line_number":57,"context_line":"copied in C:\\Program Files\\Cloudbase Solutions\\OpenStack\\Nova\\etc\\designate\\"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"1aa78d24_e60184b0","line":55,"range":{"start_line":55,"start_character":37,"end_line":55,"end_character":43},"in_reply_to":"1aa78d24_a7a0cca6","updated":"2016-07-13 16:34:26.000000000","message":"Agree, I\u0027m going to update the documentation.","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"fa909b884837a1727ee73d247c8db61654906126","unresolved":false,"context_lines":[{"line_number":79,"context_line":"Start the designate agent using:"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":".. code-block:: powershell"},{"line_number":82,"context_line":"    designate-agent.exe --config-file \u0027C:\\Program Files\\Cloudbase Solutions\\OpenStack\\Nova\\etc\\designate\\designate.conf\u0027"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"You should see log messages similar to:"},{"line_number":85,"context_line":"..code-block:: powershell"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1aa78d24_1d4fbf6b","line":82,"updated":"2016-07-13 09:31:09.000000000","message":"Wondering whether it would be helpful to mention how to configure it to be run as a Windows service.","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":53,"context_line":"To install Designate, clone the repository from https://github.com/openstack/designate"},{"line_number":54,"context_line":"and do a pip install. Example:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. code-block:: powershell"},{"line_number":57,"context_line":"    git clone https://github.com/openstack/designate"},{"line_number":58,"context_line":"    pip install ./designate"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"After that, we need to configure the Designate Agent. Inside the github repository,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_5ba235fe","line":57,"range":{"start_line":56,"start_character":0,"end_line":57,"end_character":52},"updated":"2016-07-20 12:22:46.000000000","message":"A blank line is needed between these for rendering to work as expected","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":53,"context_line":"To install Designate, clone the repository from https://github.com/openstack/designate"},{"line_number":54,"context_line":"and do a pip install. Example:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. code-block:: powershell"},{"line_number":57,"context_line":"    git clone https://github.com/openstack/designate"},{"line_number":58,"context_line":"    pip install ./designate"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"After that, we need to configure the Designate Agent. Inside the github repository,"}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_d2a0ffa7","line":57,"range":{"start_line":56,"start_character":0,"end_line":57,"end_character":52},"in_reply_to":"dada55a8_5ba235fe","updated":"2016-07-26 09:21:54.000000000","message":"Done","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Inside the configuration folder, make a copy of designate.conf.sample and rename"},{"line_number":65,"context_line":"the copy to designate.conf"},{"line_number":66,"context_line":"Example:"},{"line_number":67,"context_line":".. code-block:: powershell"},{"line_number":68,"context_line":"    copy C:\\etc\\designate\\designate.conf.sample C:\\etc\\designate\\designate.conf"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Configure the \"service.agent\" and \"backend.agent.msdns\" sections in"}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_fb4de93e","line":68,"range":{"start_line":67,"start_character":0,"end_line":68,"end_character":79},"updated":"2016-07-20 12:22:46.000000000","message":"Blank line needed between these","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Inside the configuration folder, make a copy of designate.conf.sample and rename"},{"line_number":65,"context_line":"the copy to designate.conf"},{"line_number":66,"context_line":"Example:"},{"line_number":67,"context_line":".. code-block:: powershell"},{"line_number":68,"context_line":"    copy C:\\etc\\designate\\designate.conf.sample C:\\etc\\designate\\designate.conf"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Configure the \"service.agent\" and \"backend.agent.msdns\" sections in"}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_54b40434","line":68,"range":{"start_line":67,"start_character":0,"end_line":68,"end_character":79},"in_reply_to":"dada55a8_fb4de93e","updated":"2016-07-26 09:21:54.000000000","message":"Done","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    copy C:\\etc\\designate\\designate.conf.sample C:\\etc\\designate\\designate.conf"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Configure the \"service.agent\" and \"backend.agent.msdns\" sections in"},{"line_number":72,"context_line":"C:\\etc\\designate\\designate.conf"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Look in C:\\etc\\designate\\designate.conf.example for more complete examples."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. code-block:: ini"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_1bb55d30","line":74,"range":{"start_line":71,"start_character":0,"end_line":74,"end_character":75},"updated":"2016-07-20 12:22:46.000000000","message":"These need double slashes to render correctly, e.g. `C:\\\\etc\\\\...` etc","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    copy C:\\etc\\designate\\designate.conf.sample C:\\etc\\designate\\designate.conf"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Configure the \"service.agent\" and \"backend.agent.msdns\" sections in"},{"line_number":72,"context_line":"C:\\etc\\designate\\designate.conf"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Look in C:\\etc\\designate\\designate.conf.example for more complete examples."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. code-block:: ini"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_74b9482e","line":74,"range":{"start_line":71,"start_character":0,"end_line":74,"end_character":75},"in_reply_to":"dada55a8_1bb55d30","updated":"2016-07-26 09:21:54.000000000","message":"Done","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    # Place here the MiniDNS ipaddr and port (no the agent itself)"},{"line_number":81,"context_line":"    masters \u003d \u003cMiniDNS IP addr\u003e:53"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    [backend.agent.msdns]"},{"line_number":84,"context_line":"    name \u003d msdns"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Ensure that \"policy_file\" under the [default] section is set:"}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_9bf66df7","line":83,"range":{"start_line":83,"start_character":3,"end_line":83,"end_character":25},"updated":"2016-07-20 12:22:46.000000000","message":"Should these be : rather than . separated?","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    masters \u003d \u003cMiniDNS IP addr\u003e:53"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    [backend.agent.msdns]"},{"line_number":84,"context_line":"    name \u003d msdns"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Ensure that \"policy_file\" under the [default] section is set:"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_fb604903","line":84,"range":{"start_line":84,"start_character":4,"end_line":84,"end_character":16},"updated":"2016-07-20 12:22:46.000000000","message":"And, is this even needed? there does not seem to be a definition for a name option in the backend:agent:msdns config group?","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    masters \u003d \u003cMiniDNS IP addr\u003e:53"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    [backend.agent.msdns]"},{"line_number":84,"context_line":"    name \u003d msdns"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Ensure that \"policy_file\" under the [default] section is set:"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_92f20799","line":84,"range":{"start_line":84,"start_character":4,"end_line":84,"end_character":16},"in_reply_to":"dada55a8_fb604903","updated":"2016-07-26 09:21:54.000000000","message":"Thanks for pointing it out, it is not needed.","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Ensure that \"policy_file\" under the [default] section is set:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":".. code-block:: ini"},{"line_number":89,"context_line":"    policy_file \u003d C:\\etc\\designate\\policy.json"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Start the designate agent using (Python 2.7 was installed in the default location C:\\Python27):"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_fbc68998","line":89,"range":{"start_line":88,"start_character":0,"end_line":89,"end_character":46},"updated":"2016-07-20 12:22:46.000000000","message":"Blank line needed between these","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Ensure that \"policy_file\" under the [default] section is set:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":".. code-block:: ini"},{"line_number":89,"context_line":"    policy_file \u003d C:\\etc\\designate\\policy.json"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Start the designate agent using (Python 2.7 was installed in the default location C:\\Python27):"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_94603ca6","line":89,"range":{"start_line":88,"start_character":0,"end_line":89,"end_character":46},"in_reply_to":"dada55a8_fbc68998","updated":"2016-07-26 09:21:54.000000000","message":"Done","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    policy_file \u003d C:\\etc\\designate\\policy.json"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Start the designate agent using (Python 2.7 was installed in the default location C:\\Python27):"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":".. code-block:: powershell"},{"line_number":94,"context_line":"    C:\\Python27\\Scripts\\designate-agent.exe --config-file \u0027C:\\etc\\designate\\designate.conf\u0027"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"You should see log messages similar to:"},{"line_number":97,"context_line":"..code-block:: powershell"}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_3bbdc102","line":94,"range":{"start_line":92,"start_character":0,"end_line":94,"end_character":91},"updated":"2016-07-20 12:22:46.000000000","message":"Blank line needed between these","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    policy_file \u003d C:\\etc\\designate\\policy.json"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Start the designate agent using (Python 2.7 was installed in the default location C:\\Python27):"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":".. code-block:: powershell"},{"line_number":94,"context_line":"    C:\\Python27\\Scripts\\designate-agent.exe --config-file \u0027C:\\etc\\designate\\designate.conf\u0027"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"You should see log messages similar to:"},{"line_number":97,"context_line":"..code-block:: powershell"}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_f457f8c7","line":94,"range":{"start_line":92,"start_character":0,"end_line":94,"end_character":91},"in_reply_to":"dada55a8_3bbdc102","updated":"2016-07-26 09:21:54.000000000","message":"Done","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    C:\\Python27\\Scripts\\designate-agent.exe --config-file \u0027C:\\etc\\designate\\designate.conf\u0027"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"You should see log messages similar to:"},{"line_number":97,"context_line":"..code-block:: powershell"},{"line_number":98,"context_line":"    2016-06-22 02:00:47.177 3436 INFO designate.backend.agent_backend.impl_msdns [-] Started msdns backend"},{"line_number":99,"context_line":"    2016-06-22 02:00:47.177 3436 INFO designate.service [-] _handle_tcp thread started"},{"line_number":100,"context_line":"    2016-06-22 02:00:47.177 3436 INFO designate.service [-] _handle_udp thread started"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_7b39f9a3","line":98,"range":{"start_line":97,"start_character":0,"end_line":98,"end_character":106},"updated":"2016-07-20 12:22:46.000000000","message":"Blank line needed between these","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    C:\\Python27\\Scripts\\designate-agent.exe --config-file \u0027C:\\etc\\designate\\designate.conf\u0027"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"You should see log messages similar to:"},{"line_number":97,"context_line":"..code-block:: powershell"},{"line_number":98,"context_line":"    2016-06-22 02:00:47.177 3436 INFO designate.backend.agent_backend.impl_msdns [-] Started msdns backend"},{"line_number":99,"context_line":"    2016-06-22 02:00:47.177 3436 INFO designate.service [-] _handle_tcp thread started"},{"line_number":100,"context_line":"    2016-06-22 02:00:47.177 3436 INFO designate.service [-] _handle_udp thread started"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_d45ab4f1","line":98,"range":{"start_line":97,"start_character":0,"end_line":98,"end_character":106},"in_reply_to":"dada55a8_7b39f9a3","updated":"2016-07-26 09:21:54.000000000","message":"Done","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"99b508b3f1d984a35dc6f1714c39031410504365","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"The \"targets\" section in pool.yaml should look like:"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":".. code-block:: ini"},{"line_number":120,"context_line":"    targets:"},{"line_number":121,"context_line":"    - description: Microsoft DNS agent"},{"line_number":122,"context_line":"      masters:"}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_3b6b0187","line":119,"range":{"start_line":119,"start_character":0,"end_line":119,"end_character":19},"updated":"2016-07-20 12:22:46.000000000","message":"Blank line needed between these","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"f6a68c4fc1a2e7582596014557d81759d2fd0bad","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"The \"targets\" section in pool.yaml should look like:"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":".. code-block:: ini"},{"line_number":120,"context_line":"    targets:"},{"line_number":121,"context_line":"    - description: Microsoft DNS agent"},{"line_number":122,"context_line":"      masters:"}],"source_content_type":"text/x-rst","patch_set":18,"id":"dada55a8_3472307d","line":119,"range":{"start_line":119,"start_character":0,"end_line":119,"end_character":19},"in_reply_to":"dada55a8_3b6b0187","updated":"2016-07-26 09:21:54.000000000","message":"Done","commit_id":"bd18dcb0f9653043591939d18c25254f56b78abe"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c8d2288918bc35e4c41265fc75181fd949316652","unresolved":false,"context_lines":[{"line_number":56,"context_line":".. code-block:: powershell"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    git clone https://github.com/openstack/designate"},{"line_number":59,"context_line":"    pip install ./designate"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"After that, we need to configure the Designate Agent. Inside the github repository,"},{"line_number":62,"context_line":"there is a folder named \"etc/designate\" which can be used as default configuration."}],"source_content_type":"text/x-rst","patch_set":19,"id":"bacf61ea_3a239057","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":27},"updated":"2016-08-02 11:53:11.000000000","message":"Q - Is it ./ on windows? I would have a thought .\\designate or just \"designate\"?","commit_id":"e156b81cb37ca71855c86983e58984f3a544c1de"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"afb556f1167c0d2d11c2a56c8459d1f34bacb5df","unresolved":false,"context_lines":[{"line_number":56,"context_line":".. code-block:: powershell"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    git clone https://github.com/openstack/designate"},{"line_number":59,"context_line":"    pip install ./designate"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"After that, we need to configure the Designate Agent. Inside the github repository,"},{"line_number":62,"context_line":"there is a folder named \"etc/designate\" which can be used as default configuration."}],"source_content_type":"text/x-rst","patch_set":19,"id":"bacf61ea_ba65c01e","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":27},"in_reply_to":"bacf61ea_3a239057","updated":"2016-08-02 13:24:46.000000000","message":"Thanks for pointing out. It works both ways anyway, with \"./\" or with \".\\\", but only \"designate\" would not work with pip.","commit_id":"e156b81cb37ca71855c86983e58984f3a544c1de"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"1760c0fdfdab3d5dade84e3c00fc18fed032a9e6","unresolved":false,"context_lines":[{"line_number":56,"context_line":".. code-block:: powershell"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    git clone https://github.com/openstack/designate"},{"line_number":59,"context_line":"    pip install ./designate"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"After that, we need to configure the Designate Agent. Inside the github repository,"},{"line_number":62,"context_line":"there is a folder named \"etc/designate\" which can be used as default configuration."}],"source_content_type":"text/x-rst","patch_set":19,"id":"bacf61ea_7aa98823","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":27},"in_reply_to":"bacf61ea_3a239057","updated":"2016-08-02 12:00:48.000000000","message":"both .\\ and .\\ work on Windows. All 3 variants work on Windows: .\\designate, ./designate, designate.","commit_id":"e156b81cb37ca71855c86983e58984f3a544c1de"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c8d2288918bc35e4c41265fc75181fd949316652","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"You should see log messages similar to:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"..code-block:: powershell"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    2016-06-22 02:00:47.177 3436 INFO designate.backend.agent_backend.impl_msdns [-] Started msdns backend"},{"line_number":103,"context_line":"    2016-06-22 02:00:47.177 3436 INFO designate.service [-] _handle_tcp thread started"}],"source_content_type":"text/x-rst","patch_set":19,"id":"bacf61ea_fa3f3884","line":100,"range":{"start_line":100,"start_character":0,"end_line":100,"end_character":25},"updated":"2016-08-02 11:53:11.000000000","message":"Missing a space between the .. and code-block, which prevents correct documentation rendering (you can do `tox -e docs` locally to render the docs to docs/build/html)","commit_id":"e156b81cb37ca71855c86983e58984f3a544c1de"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"afb556f1167c0d2d11c2a56c8459d1f34bacb5df","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"You should see log messages similar to:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"..code-block:: powershell"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    2016-06-22 02:00:47.177 3436 INFO designate.backend.agent_backend.impl_msdns [-] Started msdns backend"},{"line_number":103,"context_line":"    2016-06-22 02:00:47.177 3436 INFO designate.service [-] _handle_tcp thread started"}],"source_content_type":"text/x-rst","patch_set":19,"id":"bacf61ea_3ad430ea","line":100,"range":{"start_line":100,"start_character":0,"end_line":100,"end_character":25},"in_reply_to":"bacf61ea_fa3f3884","updated":"2016-08-02 13:24:46.000000000","message":"Done","commit_id":"e156b81cb37ca71855c86983e58984f3a544c1de"}],"etc/designate/designate.conf.sample":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"5846a016cfaf631355fa2e9e827eaf17714311fa","unresolved":false,"context_lines":[{"line_number":480,"context_line":"#config_file \u003d /etc/denominator.conf"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"[backend:agent:msdns]"},{"line_number":483,"context_line":"#name \u003d msdns"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"########################"},{"line_number":486,"context_line":"## Library Configuration"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"3aaa91ec_f5989f1d","line":483,"range":{"start_line":483,"start_character":5,"end_line":483,"end_character":6},"updated":"2016-06-22 18:50:29.000000000","message":"name is not a valid config here?\n\nshould have the query_destination here","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"a7e3bf0bfea6fa1c55c57a9a9c395fd5a67000a2","unresolved":false,"context_lines":[{"line_number":480,"context_line":"#config_file \u003d /etc/denominator.conf"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"[backend:agent:msdns]"},{"line_number":483,"context_line":"#name \u003d msdns"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"########################"},{"line_number":486,"context_line":"## Library Configuration"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"3aaa91ec_c5e04efd","line":483,"range":{"start_line":483,"start_character":5,"end_line":483,"end_character":6},"in_reply_to":"3aaa91ec_f5989f1d","updated":"2016-06-22 22:48:53.000000000","message":"Done","commit_id":"21a6913ebc1f0e3fab090c88899fbf5a45fcbba1"}],"requirements.txt":[{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"fa909b884837a1727ee73d247c8db61654906126","unresolved":false,"context_lines":[{"line_number":47,"context_line":"python-memcached\u003e\u003d1.56 # PSF"},{"line_number":48,"context_line":"tooz\u003e\u003d1.28.0 # Apache-2.0"},{"line_number":49,"context_line":"debtcollector\u003e\u003d1.2.0 # Apache-2.0"},{"line_number":50,"context_line":"os-win\u003e\u003d1.0.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":10,"id":"1aa78d24_bd514b32","line":50,"updated":"2016-07-13 09:31:09.000000000","message":"I thought it\u0027s worth mentioning that os-win 1.0.0 does not include the required dnsutils module.","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"},{"author":{"_account_id":17019,"name":"Alin Balutoiu","email":"abalutoiu@cloudbasesolutions.com","username":"abalutoiu"},"change_message_id":"4b15bda2025505c14b95f860219b3aadb334304b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"python-memcached\u003e\u003d1.56 # PSF"},{"line_number":48,"context_line":"tooz\u003e\u003d1.28.0 # Apache-2.0"},{"line_number":49,"context_line":"debtcollector\u003e\u003d1.2.0 # Apache-2.0"},{"line_number":50,"context_line":"os-win\u003e\u003d1.0.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":10,"id":"1aa78d24_26070ccb","line":50,"in_reply_to":"1aa78d24_bd514b32","updated":"2016-07-13 16:34:26.000000000","message":"It was mentioned in a previous comment. This will be updated once the os-win is released.","commit_id":"56ca8e4bc3061a372e5c1fb9eb4d1ef41f990243"}]}
