)]}'
{"designate/mdns/rpcapi.py":[{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"2b9f804390331047f685d60775330aceee87acd4","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    Notify API version history:"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        1.0 - Added notify_zone_changed and poll_for_serial_number."},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":"    RPC_NOTIFY_API_VERSION \u003d \u00271.0\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def __init__(self, topic\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_443691e8","line":35,"updated":"2015-02-04 19:34:21.000000000","message":"The version needs to change as the signature for poll_for_serial_number has changed","commit_id":"46236e186ea10448f7c1891c3ba7b2b540fb5a52"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"1949043253c086bc5adc18dbaa53affb66d48a48","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    Notify API version history:"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        1.0 - Added notify_zone_changed and poll_for_serial_number."},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":"    RPC_NOTIFY_API_VERSION \u003d \u00271.0\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def __init__(self, topic\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_b4cc5f6b","line":35,"in_reply_to":"da86d52c_443691e8","updated":"2015-02-06 13:50:58.000000000","message":"/me makes a note to start checking this for all RPC changes.","commit_id":"46236e186ea10448f7c1891c3ba7b2b540fb5a52"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"84091a060579d2a169f66bfe007062b0c4babce0","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def poll_for_serial_number(self, context, domain, server, timeout,"},{"line_number":76,"context_line":"                               retry_interval, max_retries, delay,"},{"line_number":77,"context_line":"                               synchronous\u003dFalse, *args, **kwargs):"},{"line_number":78,"context_line":"        method \u003d \u0027synchronously\u0027 if synchronous else \u0027asynchronously\u0027"},{"line_number":79,"context_line":"        LOG.info(_LI(\"poll_for_serial_number: Calling mdns for zone \u0027%(zone)s\u0027\""},{"line_number":80,"context_line":"                     \", serial \u0027%(serial)s\u0027 to server \u0027%(host)s:%(port)s\u0027 \""}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_57e373d7","line":77,"updated":"2015-02-18 16:33:24.000000000","message":"The addition of *args, **kwargs here makes me a little uncomfortable - these make it really easy to accidentally change the contract between two parts of the system without knowing it.\n\nWhen dealing with upgrades cross multiple machines, having the versioned contract makes it much easier to prevent a new designate-api etc talking to a old designate-central etc..\n\nAdditionally, I think we\u0027re better off splitting the mdns poll_for_serial_number into two methods, I called \"get_serial_number\" and the other \"poll_for_serial_number\" - get would be synchronous, poll would be asynchronous, and poll would make use of get internally to avoid code duplication. Having this method be either synchronous or asynchronous makes it an \"odd one out\" and more confusing that it needs to be?","commit_id":"d6c43228d37401f9cff7d7f5f6026bf85608df6e"}],"designate/pool_manager/cache/base.py":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"8bc08926fec88f0f00aa35ca373566d35b542c88","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @abc.abstractmethod"},{"line_number":31,"context_line":"    def clear(self, context, pool_manager_status):"},{"line_number":32,"context_line":"        pass"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @abc.abstractmethod"},{"line_number":35,"context_line":"    def store(self, context, pool_manager_status):"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_e90d3fe9","line":32,"updated":"2015-02-12 14:38:23.000000000","message":"Don;t think we need (or should have) pass after a function def in an abstract class. - We should have a description like we did previously.","commit_id":"246ebd5ebca8d777931720e08ecb6e48f710de5c"}],"designate/pool_manager/service.py":[{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"a4ec321479d0bfea879d1fbd6859ad621efc9f54","unresolved":false,"context_lines":[{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        try:"},{"line_number":298,"context_line":"            for domain in domains:"},{"line_number":299,"context_line":"                self.update_domain(context, domain, force_check\u003dTrue)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        except Exception:"},{"line_number":302,"context_line":"            LOG.exception(_LE(\u0027An unhandled exception in periodic sync \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa81d914_84697327","line":299,"updated":"2015-01-29 16:06:46.000000000","message":"If you made the poll check here, and decided to do, so issue create if it doesn\u0027t exist, delete if it does and should, notify if it\u0027s less than what it should be, could you avoid passing around force_check?","commit_id":"8ed4c3ee79b7c8fcecfc970f38421a83d7ebc747"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"84091a060579d2a169f66bfe007062b0c4babce0","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    def mdns_api(self):"},{"line_number":156,"context_line":"        return mdns_api.MdnsAPI.get_instance()"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def create_domain(self, context, domain, force_check\u003dFalse):"},{"line_number":159,"context_line":"        \"\"\""},{"line_number":160,"context_line":"        :param context: Security context information."},{"line_number":161,"context_line":"        :param domain: The designate domain object."}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_77acf79f","line":158,"updated":"2015-02-18 16:33:24.000000000","message":"So, I\u0027m having a hard time really understanding the purpose and requirement for the new force_check flag - It seems be used exclusively in the periodic methods - but I\u0027m having a hard time tracing it\u0027s purpose?","commit_id":"d6c43228d37401f9cff7d7f5f6026bf85608df6e"},{"author":{"_account_id":15171,"name":"Eric Larson","email":"eric.larson@rackspace.com","username":"elarson"},"change_message_id":"a37c1723c0b98d8838394536dc3e251b7c1339a2","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    def mdns_api(self):"},{"line_number":156,"context_line":"        return mdns_api.MdnsAPI.get_instance()"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def create_domain(self, context, domain, force_check\u003dFalse):"},{"line_number":159,"context_line":"        \"\"\""},{"line_number":160,"context_line":"        :param context: Security context information."},{"line_number":161,"context_line":"        :param domain: The designate domain object."}],"source_content_type":"text/x-python","patch_set":11,"id":"ba7be1f8_16e1d9d0","line":158,"in_reply_to":"da86d52c_77acf79f","updated":"2015-02-25 19:58:39.000000000","message":"It looks like force_check is passed through to _is_consensus in order to call _retrieve_statuses. Off hand, as it is primarily there to force a look up, regardless of having a cached value, I\u0027d propose changing the argument to something like `use_cache\u003dTrue`. \n\nWith that said, I\u0027m noticing there are 4 different status retrieval methods. It might be worth creating an object that you can pass an argument such as `use_cache\u003dTrue` that then implements the different status retrievals. The __init__ could instantiate it according to the config and then you could skip passing around the `force_check` or `use_cache` in favor of something like status_client.retrieve_statuses.\n\nIf this is way too confusing as a comment, I\u0027d be happy to try a refactoring after it is merged. At the least, I\u0027d switch `force_check` to `use_cache` or `no_cache`.","commit_id":"d6c43228d37401f9cff7d7f5f6026bf85608df6e"}],"etc/designate/designate.conf.sample":[{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"8bc08926fec88f0f00aa35ca373566d35b542c88","unresolved":false,"context_lines":[{"line_number":220,"context_line":"# Memcache Pool Manager Cache"},{"line_number":221,"context_line":"#-----------------------"},{"line_number":222,"context_line":"[pool_manager_cache:memcache]"},{"line_number":223,"context_line":"#memcached_servers \u003d None"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"########################"},{"line_number":226,"context_line":"## Backend Configuration"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"da86d52c_e9b29f04","line":223,"updated":"2015-02-12 14:38:23.000000000","message":"missing the expiration option","commit_id":"246ebd5ebca8d777931720e08ecb6e48f710de5c"},{"author":{"_account_id":15111,"name":"Designate CI","email":"graham+designateci@hayes.ie","username":"designate-ci"},"change_message_id":"0f9e179da8c4ffd1956d170911dccd9494eba92e","unresolved":false,"context_lines":[{"line_number":220,"context_line":"# Memcache Pool Manager Cache"},{"line_number":221,"context_line":"#-----------------------"},{"line_number":222,"context_line":"[pool_manager_cache:memcache]"},{"line_number":223,"context_line":"#memcached_servers \u003d None"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"########################"},{"line_number":226,"context_line":"## Backend Configuration"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"da86d52c_cb105802","line":223,"in_reply_to":"da86d52c_2b1bb473","updated":"2015-02-12 22:30:32.000000000","message":"in \ndesignate/pool_manager/cache/impl_memcache/__init__.py\nwe have the foillowing line:\n\n\u0027self.expiration \u003d cfg.CONF[\u0027pool_manager_cache:memcache\u0027].expiration\u0027\n\nis ^ wrong then?","commit_id":"246ebd5ebca8d777931720e08ecb6e48f710de5c"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"b352dd6515289462a596cb2282e658767057e4d2","unresolved":false,"context_lines":[{"line_number":220,"context_line":"# Memcache Pool Manager Cache"},{"line_number":221,"context_line":"#-----------------------"},{"line_number":222,"context_line":"[pool_manager_cache:memcache]"},{"line_number":223,"context_line":"#memcached_servers \u003d None"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"########################"},{"line_number":226,"context_line":"## Backend Configuration"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"da86d52c_ebd27cfe","line":223,"in_reply_to":"da86d52c_cb105802","updated":"2015-02-12 22:35:01.000000000","message":"^ comment is me logged into the wrong account -_-","commit_id":"246ebd5ebca8d777931720e08ecb6e48f710de5c"},{"author":{"_account_id":9605,"name":"Ron Rickard","email":"rrickard@paypalcorp.com","username":"rjrjr"},"change_message_id":"39696e64b3aadd807ab23df4de874a51f49dde21","unresolved":false,"context_lines":[{"line_number":220,"context_line":"# Memcache Pool Manager Cache"},{"line_number":221,"context_line":"#-----------------------"},{"line_number":222,"context_line":"[pool_manager_cache:memcache]"},{"line_number":223,"context_line":"#memcached_servers \u003d None"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"########################"},{"line_number":226,"context_line":"## Backend Configuration"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"da86d52c_2b1bb473","line":223,"in_reply_to":"da86d52c_e9b29f04","updated":"2015-02-12 22:20:55.000000000","message":"The oslo memorycache does not have a expiration configuration option.  The calls to set and add take an optional time argument that allows you to handle this expiration.  It would be easy enough to implement an expiration option if we want it though.  Let me know.","commit_id":"246ebd5ebca8d777931720e08ecb6e48f710de5c"}]}
