)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"cd2db0a7d3ea91d3ed3fa395e56eb515674f08cd","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Proper operations in Neutron depends on agent monitoring information"},{"line_number":10,"context_line":"and health status. Currently there is a heartbeat/DB based mechanism."},{"line_number":11,"context_line":"It is not instant, extremely inefficient and not scalable. And there"},{"line_number":12,"context_line":"is no open framework to integrate other backends/mechanism."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"For a lightweight, scalable and reliable agent status monitoring"},{"line_number":15,"context_line":"and querying mechanism, we would like to see a membership framework,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7aaa499b_19b7b53a","line":12,"updated":"2015-04-13 16:25:47.000000000","message":"Welllll, not exactly ;)","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"}],"specs/liberty/agent-group.rst":[{"author":{"_account_id":7743,"name":"Robin Wang","email":"wangbibo@huawei.com","username":"RobinWang"},"change_message_id":"739d1426632487a49a366d70761c2b65daae646d","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":" This work is licensed under a Creative Commons Attribution 3.0 Unported"},{"line_number":3,"context_line":" License."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5aa745d1_2abb3a74","line":3,"updated":"2015-04-16 16:18:17.000000000","message":"Thanks very much for the valuable comments!\n\nIt\u0027s great to use tooz in AgentGroup, just as what nova ServiceGroup refactoring does. I\u0027ve described how to refine this spec in neutron mailing list, under thread \"[openstack-dev][neutron] Neutron scaling datapoints\"\nhttp://markmail.org/message/tsuebrioszxvdihj\n\nAnd now a refined spec is posted, in which tooz lib is used: https://review.openstack.org/#/c/174438/\n\nFor other valuable comments that\u0027s not tooz related, I\u0027ll keep updating the new spec and try to address them. Thanks!","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":11347,"name":"Rui Zang","email":"rui.zang@yandex.com","username":"rzang"},"change_message_id":"cc53243a3f341976e68d51fce653919da82efd5b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Neutron needs to maintain up-to-date information of its variant agents,"},{"line_number":14,"context_line":"especially the health status of each agent, to apply proper operations on"},{"line_number":15,"context_line":"them and provide stable services to end users. For example, schedulers"},{"line_number":16,"context_line":"always make sure the agent is alive before assign tasks. HA periodically"},{"line_number":17,"context_line":"checks agent failure to decide whether trigger a recovery operation."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Currently, this is done by agent heartbeat message, and DB persistence"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_cbedb3f0","line":16,"updated":"2015-04-15 02:22:21.000000000","message":"nit, s/assign/assigning/","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"7b082a6b702ada1e87bd24c8f0465676b9228eda","unresolved":false,"context_lines":[{"line_number":23,"context_line":"When scheduler or HA needs to get agent status, those records should be"},{"line_number":24,"context_line":"retrieved from DB and compared with agent_down_time. Neutron server cost"},{"line_number":25,"context_line":"is not trivial and the cost increases when scale gets bigger. This mechanism"},{"line_number":26,"context_line":"is extremely inefficient and not scalable."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"A much more lightweight, scalable and reliable agent status monitoring"},{"line_number":29,"context_line":"and querying mechanism is desired for neutron. We would like to see a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_48d697c6","line":26,"updated":"2015-04-13 09:35:28.000000000","message":"Well, we have a bottleneck at the database I guess, since neutron servers can be scaled out. Yet I agree we can find more scalable mechanisms to do this.","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"088b77439e72d5239c471de3bc5f7ccc7f6e92f9","unresolved":false,"context_lines":[{"line_number":30,"context_line":"membership framework in neutron, to aggregate variant agents by type,"},{"line_number":31,"context_line":"provide internal services such as membership registration/health status"},{"line_number":32,"context_line":"check/group member querying, etc. And, it should come with pluggable"},{"line_number":33,"context_line":"backend drivers, such as DB, zookeeper, memcached."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Nova used to have similar issue. See its problem description and"},{"line_number":36,"context_line":"corresponding resolution at reference[1][2]. As reference[1] indicates"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_f09bfec7","line":33,"updated":"2015-04-13 15:29:57.000000000","message":"DB, zookeeper, memcached; u might want to dive into the details and capabilities of each of these, they are 3 pretty different systems with there own variations of consistency, availability and partition tolerance (CAP) and I\u0027d rather not bulk them all together as the same...","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"088b77439e72d5239c471de3bc5f7ccc7f6e92f9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Nova used to have similar issue. See its problem description and"},{"line_number":36,"context_line":"corresponding resolution at reference[1][2]. As reference[1] indicates"},{"line_number":37,"context_line":"that there was an agreement on design summit, oslo doesn\u0027t provide this"},{"line_number":38,"context_line":"service as a common library, and each project should do it separately."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Problem Description"},{"line_number":41,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_d0a002f7","line":38,"updated":"2015-04-13 15:29:57.000000000","message":"Actually it does, tooz is now an oslo library ;)","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":11347,"name":"Rui Zang","email":"rui.zang@yandex.com","username":"rzang"},"change_message_id":"cc53243a3f341976e68d51fce653919da82efd5b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"For example, DHCP Agent HA uses a bigger time window, agent_dead_limit(150s)"},{"line_number":67,"context_line":"to determine an agent is down before applying recovery operations."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Proposed Change"},{"line_number":70,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* Add AgentGroup internal API"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_6b0d7f8f","line":69,"updated":"2015-04-15 02:22:21.000000000","message":"One fundamental question: does your proposal support multiple backend drivers functioning concurrently? Say DHCP agent uses zookeeper and others still use the legacy DB based way.\n\nI guess no but this need to be clarified.","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"7b082a6b702ada1e87bd24c8f0465676b9228eda","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    2. provide backward-compatibility;"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Introduce new backend driver, start from ZooKeeper driver"},{"line_number":84,"context_line":"  We expect to see more backend drivers in the future, such as memcached;"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* (optional) refactoring HA mechanism, don\u0027t wait a long time before failover"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_085c0f4a","line":84,"updated":"2015-04-13 09:35:28.000000000","message":"note: We\u0027re introducing a new dependency here, may be memcached is a lighter dependency since it\u0027s widely available in all distributions.\n\nCould you elaborate on why ZooKeeper is chosen first?","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"3654933c9ce8e613135e17539c4f3d8af63e80f9","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    2. provide backward-compatibility;"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Introduce new backend driver, start from ZooKeeper driver"},{"line_number":84,"context_line":"  We expect to see more backend drivers in the future, such as memcached;"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* (optional) refactoring HA mechanism, don\u0027t wait a long time before failover"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_f0dd3e15","line":84,"in_reply_to":"7aaa499b_085c0f4a","updated":"2015-04-13 15:38:59.000000000","message":"Memcached is a cache fyi, use it with caution. Prefer redis if u are going for a poor mans zookeeper (that\u0027s why I wrote the comment @ http://docs.openstack.org/developer/tooz/developers.html#tooz.drivers.redis.RedisDriver that says poor mans zookeeper, haha)","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"bf53674e27632327c83a6c6f1ce5a463329d37c8","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Introduce new backend driver, start from ZooKeeper driver"},{"line_number":84,"context_line":"  We expect to see more backend drivers in the future, such as memcached;"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* (optional) refactoring HA mechanism, don\u0027t wait a long time before failover"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* (optional) replace periodical scanning into event trigger mode"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_101b0a74","line":85,"updated":"2015-04-13 15:27:59.000000000","message":"Please use tooz[1]. Its pretty much doing exactly what the above states ;)\n\n[1] http://docs.openstack.org/developer/tooz/","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"7b082a6b702ada1e87bd24c8f0465676b9228eda","unresolved":false,"context_lines":[{"line_number":83,"context_line":"* Introduce new backend driver, start from ZooKeeper driver"},{"line_number":84,"context_line":"  We expect to see more backend drivers in the future, such as memcached;"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* (optional) refactoring HA mechanism, don\u0027t wait a long time before failover"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* (optional) replace periodical scanning into event trigger mode"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_2826abce","line":86,"updated":"2015-04-13 09:35:28.000000000","message":"Isn\u0027t this just a tunable setting?, which kind of refactoring are you proposing here?.","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"7b082a6b702ada1e87bd24c8f0465676b9228eda","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Security Impact"},{"line_number":101,"context_line":"---------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"None."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Notifications Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_6b6eedca","line":102,"updated":"2015-04-13 09:35:28.000000000","message":"I wonder if having agents across evertwhere talking to zookeeper is a security implication. Talking to rabbitmq isn\u0027t so I guess it\u0027s not. Still we need to distribute passwords, etc.","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"f84e76954ad852cce3a0894edef28bb4bc00898b","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Security Impact"},{"line_number":101,"context_line":"---------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"None."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Notifications Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5aa745d1_c971a4e2","line":102,"in_reply_to":"7aaa499b_6b6eedca","updated":"2015-04-16 00:34:51.000000000","message":"https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zookeeper+and+SASL or other probably works.... U could just disconnect all the things from the network, that\u0027s really secure :)","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"7b082a6b702ada1e87bd24c8f0465676b9228eda","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"* For ZK-based backend driver, a better performance should be gained:"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    1. Neutron Server doesn\u0027t need to use agent heartbeat message and"},{"line_number":126,"context_line":"       its timestamp to determine agent liveness. So Agent doesn\u0027t need"},{"line_number":127,"context_line":"       to set report_interval very small to get a better failure detection"},{"line_number":128,"context_line":"       sensibility. User can set report_interval to a proper value, to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_abff5500","line":125,"updated":"2015-04-13 09:35:28.000000000","message":"Just a question: The agents will talk directly to ZooKeeper ?","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"ded0158c23b31a9ed9f1cbb5ead5f12a2fbea672","unresolved":false,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    3. No need to set a longer down_time(75s). Instant failure detection."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    4. HA and failover will be timely."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"IPv6 Impact"},{"line_number":142,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_ae8edccd","line":139,"updated":"2015-04-15 16:44:47.000000000","message":"From what I gather here this specification is a proposal for a lot of yak shaving ultimately intended to introduce group membership for neutron agents managed via zk.\n\nWhile this is laudable, we should not reinvent the wheel. so perhaps this work should leverage tooz to have a backend-agnostic library for achieving this. If tooz does not work for you, please state here why.","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"ded0158c23b31a9ed9f1cbb5ead5f12a2fbea672","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"3. If use ZooKeeper backend driver, a ZK cluster should be prepared."},{"line_number":155,"context_line":"And new config options are introduced to specify ZK connection and other"},{"line_number":156,"context_line":"related information."},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Developer Impact"},{"line_number":159,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_6e51f435","line":156,"updated":"2015-04-15 16:44:47.000000000","message":"please state if you expect the \"rolling upgrade\" use case to be impacted by your work.","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"7b082a6b702ada1e87bd24c8f0465676b9228eda","unresolved":false,"context_lines":[{"line_number":208,"context_line":"Functional Tests"},{"line_number":209,"context_line":"----------------"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"Functional tests will be considered for the new implementation."},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"API Tests"},{"line_number":214,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7aaa499b_2bb0e542","line":211,"updated":"2015-04-13 09:35:28.000000000","message":"Functional tests will be necessary for the zookeeper/memcached backend(s)","commit_id":"7a65ce0b2619660a1c47f91805b1f27dabe58224"}]}
