)]}'
{"ceilometer/central/manager.py":[{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"36df1cf5e4916642027fdfdde9dd849e3f22f143","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                auth_url\u003dcfg.CONF.service_credentials.os_auth_url,"},{"line_number":46,"context_line":"                region_name\u003dcfg.CONF.service_credentials.os_region_name,"},{"line_number":47,"context_line":"                insecure\u003dcfg.CONF.service_credentials.insecure,"},{"line_number":48,"context_line":"                auth_ref\u003dself.auth_ref)"},{"line_number":49,"context_line":"        except Exception as e:"},{"line_number":50,"context_line":"            LOG.error(_(\u0027Skip interval_task because Keystone error: %s\u0027), e)"},{"line_number":51,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2FgXA%3D","line":48,"updated":"2014-04-14 06:21:28.000000000","message":"Will this request fail, if the auth_ref is expired? Or is this mean here that no new token will be generated until this auth_ref is valid?\n\nThe commit message seems to be a bit misleading, so if the answer to my second question is yes, then it would be good to replace the \u0027if\u0027 with \u0027until\u0027.","commit_id":"046a31574159357d29c0d6e6c1a5c960ae1e49ad"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"aaae2a1edb8f93fb27872c0f31df6a3d82406d05","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                auth_url\u003dcfg.CONF.service_credentials.os_auth_url,"},{"line_number":46,"context_line":"                region_name\u003dcfg.CONF.service_credentials.os_region_name,"},{"line_number":47,"context_line":"                insecure\u003dcfg.CONF.service_credentials.insecure,"},{"line_number":48,"context_line":"                auth_ref\u003dself.auth_ref)"},{"line_number":49,"context_line":"        except Exception as e:"},{"line_number":50,"context_line":"            LOG.error(_(\u0027Skip interval_task because Keystone error: %s\u0027), e)"},{"line_number":51,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2FemA%3D","line":48,"in_reply_to":"AAAAW3%2F%2FgXA%3D","updated":"2014-04-14 11:01:33.000000000","message":"if auth_ref is expired or will be expired soon, ( in 30 seconds by default),  new token will be created \n\nhttps://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/httpclient.py#L441\n\nthe answer to second question is that, as long as auth_ref is valid ( and will not expired soon), the old token will be used. once the auth_ref is expired or will be expired soon, the new token will be created, and auth_ref is updated\n\noh, my poor grammar :(","commit_id":"046a31574159357d29c0d6e6c1a5c960ae1e49ad"}],"ceilometer/network/floatingip.py":[{"author":{"_account_id":7763,"name":"Alexei Kornienko","email":"akornienko@mirantis.com","username":"akornienko"},"change_message_id":"5900b5390676d0e1302bba0c30a362b0557fd5d6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def _get_floating_ips(self):"},{"line_number":35,"context_line":"        # reuse novaclient object if we can"},{"line_number":36,"context_line":"        if not getattr(self, \u0027nv\u0027, None):"},{"line_number":37,"context_line":"            self.nv \u003d nova_client.Client()"},{"line_number":38,"context_line":"        return self.nv.floating_ip_get_all()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def _iter_floating_ips(self, cache):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_3cf9084e","line":37,"updated":"2014-04-30 09:46:13.000000000","message":"Could you please choose a longer name for this attribute?","commit_id":"632cc5ee0b360548860c680e7620481f51aabe89"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"f35aa628e5b08d9115a85cc546835639e0d8ae78","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def _get_floating_ips(self):"},{"line_number":35,"context_line":"        # reuse novaclient object if we can"},{"line_number":36,"context_line":"        if not getattr(self, \u0027nv\u0027, None):"},{"line_number":37,"context_line":"            self.nv \u003d nova_client.Client()"},{"line_number":38,"context_line":"        return self.nv.floating_ip_get_all()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def _iter_floating_ips(self, cache):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_b0787df3","line":37,"in_reply_to":"9ad9bd40_3cf9084e","updated":"2014-05-05 00:59:46.000000000","message":"will be done","commit_id":"632cc5ee0b360548860c680e7620481f51aabe89"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"6d8b3fd9c0dda1d8deddfa71404ab13750e3fae2","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def _get_floating_ips(self):"},{"line_number":35,"context_line":"        # reuse nova client object if we can"},{"line_number":36,"context_line":"        if not getattr(self, \u0027nv\u0027, None):"},{"line_number":37,"context_line":"            self.nova_client \u003d nova_client.Client()"},{"line_number":38,"context_line":"        return self.nova_client.floating_ip_get_all()"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3ae8d1ca_a6931ca2","line":36,"updated":"2014-05-28 08:36:52.000000000","message":"Should it be getattr(self, \u0027nova_client\u0027, None)?","commit_id":"d87c42de900f99b509e94d621809b79f3e2013e3"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"e67774553c1b5a8d6bc1ee1fe220f5f32dd3d821","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def _get_floating_ips(self):"},{"line_number":35,"context_line":"        # reuse nova client object if we can"},{"line_number":36,"context_line":"        if not getattr(self, \u0027nv\u0027, None):"},{"line_number":37,"context_line":"            self.nova_client \u003d nova_client.Client()"},{"line_number":38,"context_line":"        return self.nova_client.floating_ip_get_all()"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3ae8d1ca_bc3408df","line":36,"in_reply_to":"3ae8d1ca_a6931ca2","updated":"2014-05-28 10:30:24.000000000","message":"oops, my fault\n\nDone, Thanks","commit_id":"d87c42de900f99b509e94d621809b79f3e2013e3"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"bd1e8ecf6e0f4f69386b9b2832f0ec4b309fb1c5","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def _get_floating_ips(self):"},{"line_number":35,"context_line":"        # reuse nova client object if we can"},{"line_number":36,"context_line":"        if not getattr(self, \u0027nova_client\u0027, None):"},{"line_number":37,"context_line":"            self.nova_client \u003d nova_client.Client()"},{"line_number":38,"context_line":"        return self.nova_client.floating_ip_get_all()"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3ae8d1ca_c87e6eae","line":36,"updated":"2014-05-28 13:11:17.000000000","message":"Private class attribute should be declared into __init__ and prefixed by \u0027_\u0027.","commit_id":"f079538359f55ea3b8ffcfd58a9878f7376dc55d"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"0443f683f231092a9e333a6e8b502d3e8a7c574e","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def _get_floating_ips(self):"},{"line_number":35,"context_line":"        # reuse nova client object if we can"},{"line_number":36,"context_line":"        if not getattr(self, \u0027nova_client\u0027, None):"},{"line_number":37,"context_line":"            self.nova_client \u003d nova_client.Client()"},{"line_number":38,"context_line":"        return self.nova_client.floating_ip_get_all()"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_b0e7cb3f","line":36,"in_reply_to":"3ae8d1ca_c87e6eae","updated":"2014-05-31 17:00:03.000000000","message":"will be Done","commit_id":"f079538359f55ea3b8ffcfd58a9878f7376dc55d"}],"ceilometer/service.py":[{"author":{"_account_id":7763,"name":"Alexei Kornienko","email":"akornienko@mirantis.com","username":"akornienko"},"change_message_id":"5900b5390676d0e1302bba0c30a362b0557fd5d6","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                default\u003dFalse,"},{"line_number":91,"context_line":"                help\u003d\u0027Disables X.509 certificate validation when an \u0027"},{"line_number":92,"context_line":"                     \u0027SSL connection to Identity Service is established.\u0027),"},{"line_number":93,"context_line":"    cfg.BoolOpt(\u0027enable_token_cache\u0027,"},{"line_number":94,"context_line":"                default\u003dFalse,"},{"line_number":95,"context_line":"                help\u003d\u0027Enable token cache for OpenStack service access.\u0027),"},{"line_number":96,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_bc49988d","line":93,"updated":"2014-04-30 09:46:13.000000000","message":"I think that this is not the best name to describe given functionality. keystoneclient can also use memcache to cache tokens and I would expect that such option would be related to memcache not keyring.\n\nMaybe enable_keystone_keyring would suite better?","commit_id":"632cc5ee0b360548860c680e7620481f51aabe89"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"f35aa628e5b08d9115a85cc546835639e0d8ae78","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                default\u003dFalse,"},{"line_number":91,"context_line":"                help\u003d\u0027Disables X.509 certificate validation when an \u0027"},{"line_number":92,"context_line":"                     \u0027SSL connection to Identity Service is established.\u0027),"},{"line_number":93,"context_line":"    cfg.BoolOpt(\u0027enable_token_cache\u0027,"},{"line_number":94,"context_line":"                default\u003dFalse,"},{"line_number":95,"context_line":"                help\u003d\u0027Enable token cache for OpenStack service access.\u0027),"},{"line_number":96,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_eb5f78e3","line":93,"in_reply_to":"9ad9bd40_bc49988d","updated":"2014-05-05 00:59:46.000000000","message":"This option will be used by nova client too","commit_id":"632cc5ee0b360548860c680e7620481f51aabe89"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"e86a8ea3b5e7142d2c81b2ff44c148f2eb65f4db","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                default\u003dFalse,"},{"line_number":86,"context_line":"                help\u003d\u0027Disables X.509 certificate validation when an \u0027"},{"line_number":87,"context_line":"                     \u0027SSL connection to Identity Service is established.\u0027),"},{"line_number":88,"context_line":"    cfg.BoolOpt(\u0027enable_token_cache\u0027,"},{"line_number":89,"context_line":"                default\u003dFalse,"},{"line_number":90,"context_line":"                help\u003d\u0027Enable token cache for OpenStack service access.\u0027),"},{"line_number":91,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"3ae8d1ca_63a3bb9e","line":88,"updated":"2014-05-28 13:16:30.000000000","message":"I\u0027m not sure \u0027use_keyring\u0027 of keystoneclient and os_cache of other client should be mix into the same configuration fields here. \n\nos_cache of novaclient for example doesn\u0027t cache only token but it caches other data too, so if we keep only on cfg option, the description must be updated.","commit_id":"f079538359f55ea3b8ffcfd58a9878f7376dc55d"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"fa0ed8060dc2e0fe6447d6ed79f907d67b602b26","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                default\u003dFalse,"},{"line_number":86,"context_line":"                help\u003d\u0027Disables X.509 certificate validation when an \u0027"},{"line_number":87,"context_line":"                     \u0027SSL connection to Identity Service is established.\u0027),"},{"line_number":88,"context_line":"    cfg.BoolOpt(\u0027enable_token_cache\u0027,"},{"line_number":89,"context_line":"                default\u003dFalse,"},{"line_number":90,"context_line":"                help\u003d\u0027Enable token cache for OpenStack service access.\u0027),"},{"line_number":91,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_ce4bbc29","line":88,"in_reply_to":"1ae5cdf2_d0aa976f","updated":"2014-06-02 13:03:22.000000000","message":"Ok, make sense. So, just rename \u0027enable_token_cache\u0027 to \u0027os_cache\u0027.\n\nBecause heat, nova/keystone client command line tools use \u0027--os-cache\u0027, env[OS_CACHE], or os_cache, so the end user can make the link between options.","commit_id":"f079538359f55ea3b8ffcfd58a9878f7376dc55d"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"0443f683f231092a9e333a6e8b502d3e8a7c574e","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                default\u003dFalse,"},{"line_number":86,"context_line":"                help\u003d\u0027Disables X.509 certificate validation when an \u0027"},{"line_number":87,"context_line":"                     \u0027SSL connection to Identity Service is established.\u0027),"},{"line_number":88,"context_line":"    cfg.BoolOpt(\u0027enable_token_cache\u0027,"},{"line_number":89,"context_line":"                default\u003dFalse,"},{"line_number":90,"context_line":"                help\u003d\u0027Enable token cache for OpenStack service access.\u0027),"},{"line_number":91,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_d0aa976f","line":88,"in_reply_to":"3ae8d1ca_63a3bb9e","updated":"2014-05-31 17:00:03.000000000","message":"@Mehdi Abaakouk\n\nI want to keep it simple (for end-user) so I use only one option. But as you suggested, there are other services may need to cache the token, so I think if a service caches other data not related to token, and it uses the same argument for the two behavivors, we can use a separate option to warn user in help string,\n\nI checked novacliet (latest) code, and find that keyring saves token, management_url, and tenant_id, in our service, the management_url and tenant_id will not be changed once process is started, and I think they are all token related. So I think the \u0027other data\u0027 is ok. please let me know if I\u0027m wrong\n\nThanks","commit_id":"f079538359f55ea3b8ffcfd58a9878f7376dc55d"}]}
