)]}'
{"doc/source/specs/control_plane_testing.rst":[{"author":{"_account_id":18811,"name":"Shlomo","email":"shlominar@gmail.com","username":"shlominar"},"change_message_id":"9d4e59bdc32c9dc44ca1485551c3824ed24106c5","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Dragonflow can work with a number of NoSQL databases."},{"line_number":10,"context_line":"Each one has it\u0027s own advantages and disadvantages."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Dragonflow supports the following key/calue databases:"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"1. Etcd"},{"line_number":15,"context_line":"2. Redis"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_25d2dfd2","line":12,"range":{"start_line":12,"start_character":38,"end_line":12,"end_character":43},"updated":"2016-02-22 06:25:11.000000000","message":"typo: value","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fa84a8defff8ae9a51d13d542130a468f57632a0","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Dragonflow can work with a number of NoSQL databases."},{"line_number":10,"context_line":"Each one has it\u0027s own advantages and disadvantages."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Dragonflow supports the following key/calue databases:"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"1. Etcd"},{"line_number":15,"context_line":"2. Redis"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_36d7b3c0","line":12,"range":{"start_line":12,"start_character":38,"end_line":12,"end_character":43},"in_reply_to":"bae84128_25d2dfd2","updated":"2016-02-22 07:45:26.000000000","message":"Done","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18811,"name":"Shlomo","email":"shlominar@gmail.com","username":"shlominar"},"change_message_id":"9d4e59bdc32c9dc44ca1485551c3824ed24106c5","unresolved":false,"context_lines":[{"line_number":17,"context_line":"4. Zookeeper"},{"line_number":18,"context_line":"5. OvsDB"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Some of the databases above support clustering. We will perform tests agains"},{"line_number":21,"context_line":"database server confgured in single and multiple node."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The system will be tested agains the following configuration:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_e5ee378a","line":20,"range":{"start_line":20,"start_character":70,"end_line":20,"end_character":76},"updated":"2016-02-22 06:25:11.000000000","message":"typo: against","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fa84a8defff8ae9a51d13d542130a468f57632a0","unresolved":false,"context_lines":[{"line_number":17,"context_line":"4. Zookeeper"},{"line_number":18,"context_line":"5. OvsDB"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Some of the databases above support clustering. We will perform tests agains"},{"line_number":21,"context_line":"database server confgured in single and multiple node."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The system will be tested agains the following configuration:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_d6ee478a","line":20,"range":{"start_line":20,"start_character":70,"end_line":20,"end_character":76},"in_reply_to":"bae84128_e5ee378a","updated":"2016-02-22 07:45:26.000000000","message":"Done","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18811,"name":"Shlomo","email":"shlominar@gmail.com","username":"shlominar"},"change_message_id":"9d4e59bdc32c9dc44ca1485551c3824ed24106c5","unresolved":false,"context_lines":[{"line_number":18,"context_line":"5. OvsDB"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Some of the databases above support clustering. We will perform tests agains"},{"line_number":21,"context_line":"database server confgured in single and multiple node."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The system will be tested agains the following configuration:"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_c5f1736c","line":21,"range":{"start_line":21,"start_character":16,"end_line":21,"end_character":25},"updated":"2016-02-22 06:25:11.000000000","message":"Typo: configured","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fa84a8defff8ae9a51d13d542130a468f57632a0","unresolved":false,"context_lines":[{"line_number":18,"context_line":"5. OvsDB"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Some of the databases above support clustering. We will perform tests agains"},{"line_number":21,"context_line":"database server confgured in single and multiple node."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The system will be tested agains the following configuration:"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_76e13b9a","line":21,"range":{"start_line":21,"start_character":16,"end_line":21,"end_character":25},"in_reply_to":"bae84128_c5f1736c","updated":"2016-02-22 07:45:26.000000000","message":"Done","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18811,"name":"Shlomo","email":"shlominar@gmail.com","username":"shlominar"},"change_message_id":"9d4e59bdc32c9dc44ca1485551c3824ed24106c5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Some of the databases above support clustering. We will perform tests agains"},{"line_number":21,"context_line":"database server confgured in single and multiple node."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The system will be tested agains the following configuration:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"1. All in one server together with NoSQL server"},{"line_number":26,"context_line":"2. Two or more servers required to enable NoSQL clustering configuration."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_45fe0339","line":23,"range":{"start_line":23,"start_character":26,"end_line":23,"end_character":32},"updated":"2016-02-22 06:25:11.000000000","message":"typo","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fa84a8defff8ae9a51d13d542130a468f57632a0","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Some of the databases above support clustering. We will perform tests agains"},{"line_number":21,"context_line":"database server confgured in single and multiple node."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The system will be tested agains the following configuration:"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"1. All in one server together with NoSQL server"},{"line_number":26,"context_line":"2. Two or more servers required to enable NoSQL clustering configuration."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_96fddf3c","line":23,"range":{"start_line":23,"start_character":26,"end_line":23,"end_character":32},"in_reply_to":"bae84128_45fe0339","updated":"2016-02-22 07:45:26.000000000","message":"Done","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18811,"name":"Shlomo","email":"shlominar@gmail.com","username":"shlominar"},"change_message_id":"9d4e59bdc32c9dc44ca1485551c3824ed24106c5","unresolved":false,"context_lines":[{"line_number":26,"context_line":"2. Two or more servers required to enable NoSQL clustering configuration."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Some of the results will be compared with MySQL."},{"line_number":29,"context_line":" "},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"First test: random access test scenario."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_a5942fe2","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":1},"updated":"2016-02-22 06:25:11.000000000","message":"delete the space","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18811,"name":"Shlomo","email":"shlominar@gmail.com","username":"shlominar"},"change_message_id":"9d4e59bdc32c9dc44ca1485551c3824ed24106c5","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The test will create 1000 database objects and performs random access."},{"line_number":34,"context_line":"The test will be performed against all supported databases and compared with MySQL."},{"line_number":35,"context_line":"This tests will minic the case when Dragonflow received a notification when an"},{"line_number":36,"context_line":"object is changed and it needs to load object records from the database."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"1. Preparation"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_25b77f87","line":35,"range":{"start_line":35,"start_character":16,"end_line":35,"end_character":21},"updated":"2016-02-22 06:25:11.000000000","message":"Typo: mimic","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fa84a8defff8ae9a51d13d542130a468f57632a0","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The test will create 1000 database objects and performs random access."},{"line_number":34,"context_line":"The test will be performed against all supported databases and compared with MySQL."},{"line_number":35,"context_line":"This tests will minic the case when Dragonflow received a notification when an"},{"line_number":36,"context_line":"object is changed and it needs to load object records from the database."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"1. Preparation"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_d695a7e4","line":35,"range":{"start_line":35,"start_character":16,"end_line":35,"end_character":21},"in_reply_to":"bae84128_25b77f87","updated":"2016-02-22 07:45:26.000000000","message":"Done","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18811,"name":"Shlomo","email":"shlominar@gmail.com","username":"shlominar"},"change_message_id":"9d4e59bdc32c9dc44ca1485551c3824ed24106c5","unresolved":false,"context_lines":[{"line_number":36,"context_line":"object is changed and it needs to load object records from the database."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"1. Preparation"},{"line_number":39,"context_line":"The script will crete 1000 database objects like routers."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"TODO: Create a script here"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_85a64b51","line":39,"range":{"start_line":39,"start_character":16,"end_line":39,"end_character":21},"updated":"2016-02-22 06:25:11.000000000","message":"Typo: create","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fa84a8defff8ae9a51d13d542130a468f57632a0","unresolved":false,"context_lines":[{"line_number":36,"context_line":"object is changed and it needs to load object records from the database."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"1. Preparation"},{"line_number":39,"context_line":"The script will crete 1000 database objects like routers."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"TODO: Create a script here"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_3685f3ac","line":39,"range":{"start_line":39,"start_character":16,"end_line":39,"end_character":21},"in_reply_to":"bae84128_85a64b51","updated":"2016-02-22 07:45:26.000000000","message":"Done","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18811,"name":"Shlomo","email":"shlominar@gmail.com","username":"shlominar"},"change_message_id":"9d4e59bdc32c9dc44ca1485551c3824ed24106c5","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. Random access script"},{"line_number":44,"context_line":"The test will fetch a list of all objects from the database and fetch object in"},{"line_number":45,"context_line":"random way. The script will be tested agains all supported databases."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"TODO: create a script here"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_e531170d","line":45,"range":{"start_line":45,"start_character":38,"end_line":45,"end_character":44},"updated":"2016-02-22 06:25:11.000000000","message":"typo","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fa84a8defff8ae9a51d13d542130a468f57632a0","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. Random access script"},{"line_number":44,"context_line":"The test will fetch a list of all objects from the database and fetch object in"},{"line_number":45,"context_line":"random way. The script will be tested agains all supported databases."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"TODO: create a script here"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_768f7bcc","line":45,"range":{"start_line":45,"start_character":38,"end_line":45,"end_character":44},"in_reply_to":"bae84128_e531170d","updated":"2016-02-22 07:45:26.000000000","message":"Done","commit_id":"947154ba35bf2bdd26808493fb552c6d0437dfee"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"383357cdeccf071bce2ef188634ced64e27f69dc","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"The test consists of the following sections:"},{"line_number":11,"context_line":"1. NoSQL Database Test Plan"},{"line_number":12,"context_line":"2. Message Queue Test Plan"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"1. NoSQL Database Test Plan"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bae84128_034df76b","line":12,"updated":"2016-02-22 17:17:56.000000000","message":"PUB/SUB?","commit_id":"268fe891299c4408b69649d5c99a0822ebe055cc"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"383357cdeccf071bce2ef188634ced64e27f69dc","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"1. NoSQL Database Test Plan"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Dragonflow can work with a number of NoSQL databases."},{"line_number":19,"context_line":"Each one has it\u0027s own advantages and disadvantages."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bae84128_a336cbe4","line":17,"updated":"2016-02-22 17:17:56.000000000","message":"Do you plan to test the consistency under different scale? Because different backend has different consistency level and the convergence, meaning how long the cluster will take to be converged to a consistent state.","commit_id":"268fe891299c4408b69649d5c99a0822ebe055cc"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"9bc5395da9d1acabf5ae2445419f83b780b4710c","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This test plan consists of the following sections:"},{"line_number":12,"context_line":"1. NoSQL Database Test Plan"},{"line_number":13,"context_line":"2. Message Queue Test Plan"},{"line_number":14,"context_line":"3. Neutron Objects Set-Up Time"},{"line_number":15,"context_line":"4. Stress Tests"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_87255a0a","line":13,"range":{"start_line":13,"start_character":3,"end_line":13,"end_character":26},"updated":"2016-02-24 15:21:24.000000000","message":"We currently use the message queue only for the Centralized North South configuration L3.","commit_id":"38aaaf12f2f936abd64eb5c8d50bbb30af4321e5"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"29b22096469436b6a72fcecdd4de8994ec6fe01f","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This test plan consists of the following sections:"},{"line_number":12,"context_line":"1. NoSQL Database Test Plan"},{"line_number":13,"context_line":"2. Message Queue Test Plan"},{"line_number":14,"context_line":"3. Neutron Objects Set-Up Time"},{"line_number":15,"context_line":"4. Stress Tests"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_b6d01ccb","line":13,"range":{"start_line":13,"start_character":3,"end_line":13,"end_character":26},"in_reply_to":"bae84128_87255a0a","updated":"2016-02-25 09:02:46.000000000","message":"I rephrased this","commit_id":"38aaaf12f2f936abd64eb5c8d50bbb30af4321e5"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"9bc5395da9d1acabf5ae2445419f83b780b4710c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"1. NoSQL Database Test Plan"},{"line_number":13,"context_line":"2. Message Queue Test Plan"},{"line_number":14,"context_line":"3. Neutron Objects Set-Up Time"},{"line_number":15,"context_line":"4. Stress Tests"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"1. NoSQL Database Test Plan"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_aa9aa511","line":15,"range":{"start_line":15,"start_character":3,"end_line":15,"end_character":15},"updated":"2016-02-24 15:21:24.000000000","message":"We need to include some specification on the stress test \n\nCreate max Subnet on  a router or for a tenant test \ncreate 1000 SG etc","commit_id":"38aaaf12f2f936abd64eb5c8d50bbb30af4321e5"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"29b22096469436b6a72fcecdd4de8994ec6fe01f","unresolved":false,"context_lines":[{"line_number":12,"context_line":"1. NoSQL Database Test Plan"},{"line_number":13,"context_line":"2. Message Queue Test Plan"},{"line_number":14,"context_line":"3. Neutron Objects Set-Up Time"},{"line_number":15,"context_line":"4. Stress Tests"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"1. NoSQL Database Test Plan"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_d6d7a0bd","line":15,"range":{"start_line":15,"start_character":3,"end_line":15,"end_character":15},"in_reply_to":"bae84128_aa9aa511","updated":"2016-02-25 09:02:46.000000000","message":"Working on this.","commit_id":"38aaaf12f2f936abd64eb5c8d50bbb30af4321e5"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"9bc5395da9d1acabf5ae2445419f83b780b4710c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"2. Redis"},{"line_number":28,"context_line":"3. Ramcloud"},{"line_number":29,"context_line":"4. Zookeeper"},{"line_number":30,"context_line":"5. OvsDB"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Some of the databases above support clustering. We will perform tests against"},{"line_number":33,"context_line":"database server configured in single and multiple node."}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_453dcac2","line":30,"range":{"start_line":30,"start_character":3,"end_line":30,"end_character":8},"updated":"2016-02-24 15:21:24.000000000","message":"Ovsdb is not supported","commit_id":"38aaaf12f2f936abd64eb5c8d50bbb30af4321e5"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"29b22096469436b6a72fcecdd4de8994ec6fe01f","unresolved":false,"context_lines":[{"line_number":27,"context_line":"2. Redis"},{"line_number":28,"context_line":"3. Ramcloud"},{"line_number":29,"context_line":"4. Zookeeper"},{"line_number":30,"context_line":"5. OvsDB"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Some of the databases above support clustering. We will perform tests against"},{"line_number":33,"context_line":"database server configured in single and multiple node."}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_76dcd418","line":30,"range":{"start_line":30,"start_character":3,"end_line":30,"end_character":8},"in_reply_to":"bae84128_453dcac2","updated":"2016-02-25 09:02:46.000000000","message":"Removed","commit_id":"38aaaf12f2f936abd64eb5c8d50bbb30af4321e5"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"9bc5395da9d1acabf5ae2445419f83b780b4710c","unresolved":false,"context_lines":[{"line_number":71,"context_line":"Generate comparison table."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"2. Message Queue Test Plan"},{"line_number":75,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":76,"context_line":"Message queue test plan is intended to test Dragonflow PUB/SUB mechanizm."},{"line_number":77,"context_line":"This test measures the aggregate throughput of a MQ layer."}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_85b8722b","line":74,"range":{"start_line":74,"start_character":3,"end_line":74,"end_character":26},"updated":"2016-02-24 15:21:24.000000000","message":"we do not use MSQ we use PUB SUB sockets","commit_id":"38aaaf12f2f936abd64eb5c8d50bbb30af4321e5"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"29b22096469436b6a72fcecdd4de8994ec6fe01f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"Generate comparison table."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"2. Message Queue Test Plan"},{"line_number":75,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":76,"context_line":"Message queue test plan is intended to test Dragonflow PUB/SUB mechanizm."},{"line_number":77,"context_line":"This test measures the aggregate throughput of a MQ layer."}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_36fc0c3e","line":74,"range":{"start_line":74,"start_character":3,"end_line":74,"end_character":26},"in_reply_to":"bae84128_85b8722b","updated":"2016-02-25 09:02:46.000000000","message":"I rephrased this","commit_id":"38aaaf12f2f936abd64eb5c8d50bbb30af4321e5"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"9bc5395da9d1acabf5ae2445419f83b780b4710c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"This test measures the aggregate throughput of a MQ layer."},{"line_number":78,"context_line":"Currently Dragonflow support only ZeroMQ messaging system."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"TODO: Wait till we have more than 1 queue systems to perform test of this sybsystem."},{"line_number":81,"context_line":"The set-up time test will cover the whole time for object creation including time to"},{"line_number":82,"context_line":"distribute messages for now."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"3. Neutron Objects Set-Up Time"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_65e1ee29","line":82,"range":{"start_line":80,"start_character":1,"end_line":82,"end_character":28},"updated":"2016-02-24 15:21:24.000000000","message":"I am not sue I understand","commit_id":"38aaaf12f2f936abd64eb5c8d50bbb30af4321e5"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"29b22096469436b6a72fcecdd4de8994ec6fe01f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"This test measures the aggregate throughput of a MQ layer."},{"line_number":78,"context_line":"Currently Dragonflow support only ZeroMQ messaging system."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"TODO: Wait till we have more than 1 queue systems to perform test of this sybsystem."},{"line_number":81,"context_line":"The set-up time test will cover the whole time for object creation including time to"},{"line_number":82,"context_line":"distribute messages for now."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"3. Neutron Objects Set-Up Time"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bae84128_5699d01e","line":82,"range":{"start_line":80,"start_character":1,"end_line":82,"end_character":28},"in_reply_to":"bae84128_65e1ee29","updated":"2016-02-25 09:02:46.000000000","message":"I rewrote this section.","commit_id":"38aaaf12f2f936abd64eb5c8d50bbb30af4321e5"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"7a1edae69d51234cb4011d834c1a4ef3a75f0031","unresolved":false,"context_lines":[{"line_number":123,"context_line":"Dragonflow deployment."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"4. Stress Tests"},{"line_number":127,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":128,"context_line":"AWS network related limitations that may check with Dragonflow at Openstack:"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"bae84128_399a3cc6","line":126,"updated":"2016-02-25 09:58:54.000000000","message":"This section should be re-formatted. Suggest to align with 79 characters.","commit_id":"12438e25f9112bdf3af5a87c14285a3dfa06955e"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"7a1edae69d51234cb4011d834c1a4ef3a75f0031","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Including the main route table. You can associate one route table to one or more subnets in a VPC."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Routes per route table (non-propagated routes): 50"},{"line_number":152,"context_line":"This is the limit for the number of non-propagated entries per route table. Maximum of 100; however, network performance may be impacted. "},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"BGP advertised routes per route table (propagated routes): 100"},{"line_number":155,"context_line":"You can have up to 100 propagated routes per route table; however, the total number of propagated and non-propagated entries per route table cannot exceed 100. For example, if you have 50 non-propagated entries (the default limit for this type of entry), you can only have 50 propagated entries. This limit cannot be increased. If you require more than 100 prefixes, advertise a default route."}],"source_content_type":"text/x-rst","patch_set":7,"id":"bae84128_f91c546c","line":152,"updated":"2016-02-25 09:58:54.000000000","message":"remove the space","commit_id":"12438e25f9112bdf3af5a87c14285a3dfa06955e"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"7a1edae69d51234cb4011d834c1a4ef3a75f0031","unresolved":false,"context_lines":[{"line_number":151,"context_line":"Routes per route table (non-propagated routes): 50"},{"line_number":152,"context_line":"This is the limit for the number of non-propagated entries per route table. Maximum of 100; however, network performance may be impacted. "},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"BGP advertised routes per route table (propagated routes): 100"},{"line_number":155,"context_line":"You can have up to 100 propagated routes per route table; however, the total number of propagated and non-propagated entries per route table cannot exceed 100. For example, if you have 50 non-propagated entries (the default limit for this type of entry), you can only have 50 propagated entries. This limit cannot be increased. If you require more than 100 prefixes, advertise a default route."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Inbound or outbound rules per security group:50"}],"source_content_type":"text/x-rst","patch_set":7,"id":"bae84128_e67dd3b2","line":154,"range":{"start_line":154,"start_character":0,"end_line":154,"end_character":21},"updated":"2016-02-25 09:58:54.000000000","message":"How can we test BGP advertisement in dragonflow?","commit_id":"12438e25f9112bdf3af5a87c14285a3dfa06955e"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55b2ec04741e33fa515eca8aa670ca21050a871c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Dragonflow can work with a number of NoSQL databases."},{"line_number":26,"context_line":"Each one has it\u0027s own advantages and disadvantages."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Dragonflow supports the following key/value databases:"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"1. Etcd"},{"line_number":31,"context_line":"2. Redis"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_aed99485","line":28,"updated":"2016-02-28 12:03:29.000000000","message":"Consider adding: \u0027At the time of writing,\u0027","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fb94e683375a21e8d98bf96d24870a33a24bc682","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Dragonflow can work with a number of NoSQL databases."},{"line_number":26,"context_line":"Each one has it\u0027s own advantages and disadvantages."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Dragonflow supports the following key/value databases:"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"1. Etcd"},{"line_number":31,"context_line":"2. Redis"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_91103103","line":28,"in_reply_to":"9aed3d3a_aed99485","updated":"2016-02-28 14:11:39.000000000","message":"Done","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55b2ec04741e33fa515eca8aa670ca21050a871c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"1. All in one server together with NoSQL server"},{"line_number":41,"context_line":"2. Two or more servers required to enable NoSQL clustering configuration."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Some of the results will be compared with MySQL."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"First test: random access test scenario"},{"line_number":46,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":8,"id":"9aed3d3a_2e3bc49d","line":43,"range":{"start_line":43,"start_character":42,"end_line":43,"end_character":48},"updated":"2016-02-28 12:03:29.000000000","message":"How will the results be compared? How is the MySQL database used? Will there be a MySQL driver?","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fb94e683375a21e8d98bf96d24870a33a24bc682","unresolved":false,"context_lines":[{"line_number":40,"context_line":"1. All in one server together with NoSQL server"},{"line_number":41,"context_line":"2. Two or more servers required to enable NoSQL clustering configuration."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Some of the results will be compared with MySQL."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"First test: random access test scenario"},{"line_number":46,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":8,"id":"9aed3d3a_b1f575cc","line":43,"range":{"start_line":43,"start_character":42,"end_line":43,"end_character":48},"in_reply_to":"9aed3d3a_2e3bc49d","updated":"2016-02-28 14:11:39.000000000","message":"No driver. It is an optional test to see speed differences between NoSQL and MySQL","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55b2ec04741e33fa515eca8aa670ca21050a871c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"Message publish/subscribe test plan is intended to test Dragonflow PUB/SUB mechanizm."},{"line_number":80,"context_line":"This test measures the aggregate throughput of a MQ layer."},{"line_number":81,"context_line":"Currently Dragonflow support only ZeroMQ messaging system."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"TODO: This test will be done when we will have more than one supported PUB/SUB method."},{"line_number":84,"context_line":"For now, as an alternative, the set-up time test will cover the whole time for object"},{"line_number":85,"context_line":"creation including time to distribute messages for now."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_2e62a4ad","line":82,"updated":"2016-02-28 12:03:29.000000000","message":"Consider adding also comparison with DB-base pub/sub solutions, e.g. etcd\u0027s pub/sub support.","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fb94e683375a21e8d98bf96d24870a33a24bc682","unresolved":false,"context_lines":[{"line_number":79,"context_line":"Message publish/subscribe test plan is intended to test Dragonflow PUB/SUB mechanizm."},{"line_number":80,"context_line":"This test measures the aggregate throughput of a MQ layer."},{"line_number":81,"context_line":"Currently Dragonflow support only ZeroMQ messaging system."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"TODO: This test will be done when we will have more than one supported PUB/SUB method."},{"line_number":84,"context_line":"For now, as an alternative, the set-up time test will cover the whole time for object"},{"line_number":85,"context_line":"creation including time to distribute messages for now."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_91279163","line":82,"in_reply_to":"9aed3d3a_2e62a4ad","updated":"2016-02-28 14:11:39.000000000","message":"Hm, I think we do not work with etcd pub/sub now.\nWe have a patch for Redis in the queue.\nWe can compare results with Redis later.","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"ba71e1b720d58e5e79a6db7df9d161fdfe723e6c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"Message publish/subscribe test plan is intended to test Dragonflow PUB/SUB mechanizm."},{"line_number":80,"context_line":"This test measures the aggregate throughput of a MQ layer."},{"line_number":81,"context_line":"Currently Dragonflow support only ZeroMQ messaging system."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"TODO: This test will be done when we will have more than one supported PUB/SUB method."},{"line_number":84,"context_line":"For now, as an alternative, the set-up time test will cover the whole time for object"},{"line_number":85,"context_line":"creation including time to distribute messages for now."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_c4c5d98e","line":82,"in_reply_to":"9aed3d3a_91279163","updated":"2016-02-28 14:30:44.000000000","message":"I meant the use of the built-in database pub/sub, not using the \u0027new\u0027 pub/sub I/S. In this case, etcd has such a thing, and I think we use it.\n\nWe can also compare against direct polling/full sync, just to see how much pub/sub helps.","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"da60ac5ee12a5f35fd4bc637d731dfcff01810c4","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Now a new object is basically transfered to the actuall OpenFlow rules."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"This test will measure time required to perform the whole operation."},{"line_number":106,"context_line":"In addition to calculating of time requiered to perform one object creation,"},{"line_number":107,"context_line":"we will calculate time for simultaneous creation of multiple objects."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_94278463","line":105,"updated":"2016-02-28 07:04:30.000000000","message":"Need to describe how we check validity of the objects created, we can do this manually but we also want to automate this process","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fb94e683375a21e8d98bf96d24870a33a24bc682","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Now a new object is basically transfered to the actuall OpenFlow rules."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"This test will measure time required to perform the whole operation."},{"line_number":106,"context_line":"In addition to calculating of time requiered to perform one object creation,"},{"line_number":107,"context_line":"we will calculate time for simultaneous creation of multiple objects."},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_7102cd70","line":105,"in_reply_to":"9aed3d3a_94278463","updated":"2016-02-28 14:11:39.000000000","message":"Detailed steps will be provided in the future.\nFor now, I write in new version that Openflow rules must be correct","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"da60ac5ee12a5f35fd4bc637d731dfcff01810c4","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"We will calculate time to create multiple objects as listed in the following table:"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"1. 1 object created"},{"line_number":112,"context_line":"2. 5 objects created"},{"line_number":113,"context_line":"3. 10 objects created"},{"line_number":114,"context_line":"4. 20 objects created"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_b4f568cc","line":111,"updated":"2016-02-28 07:04:30.000000000","message":"Also need to calculate when system is full or not (calculating how much it takes to add 1 object when there are already 1000 objects can be different)","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fb94e683375a21e8d98bf96d24870a33a24bc682","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"We will calculate time to create multiple objects as listed in the following table:"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"1. 1 object created"},{"line_number":112,"context_line":"2. 5 objects created"},{"line_number":113,"context_line":"3. 10 objects created"},{"line_number":114,"context_line":"4. 20 objects created"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_11f42184","line":111,"in_reply_to":"9aed3d3a_b4f568cc","updated":"2016-02-28 14:11:39.000000000","message":"Added heavy load section.","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"da60ac5ee12a5f35fd4bc637d731dfcff01810c4","unresolved":false,"context_lines":[{"line_number":112,"context_line":"2. 5 objects created"},{"line_number":113,"context_line":"3. 10 objects created"},{"line_number":114,"context_line":"4. 20 objects created"},{"line_number":115,"context_line":"5. 50 objects created"},{"line_number":116,"context_line":"6. 100 objects created"},{"line_number":117,"context_line":"7. 200 objects created"},{"line_number":118,"context_line":"8. 500 objects created"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_f4fff0a7","line":115,"updated":"2016-02-28 07:04:30.000000000","message":"We also want to calculate the time it takes for the API to respond, when the system is full and when its not.\n\nFor example: in 99% of the cases have the API respond in less then 1 second","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fb94e683375a21e8d98bf96d24870a33a24bc682","unresolved":false,"context_lines":[{"line_number":112,"context_line":"2. 5 objects created"},{"line_number":113,"context_line":"3. 10 objects created"},{"line_number":114,"context_line":"4. 20 objects created"},{"line_number":115,"context_line":"5. 50 objects created"},{"line_number":116,"context_line":"6. 100 objects created"},{"line_number":117,"context_line":"7. 200 objects created"},{"line_number":118,"context_line":"8. 500 objects created"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_f1d7fdea","line":115,"in_reply_to":"9aed3d3a_f4fff0a7","updated":"2016-02-28 14:11:39.000000000","message":"Added this as project goal","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"da60ac5ee12a5f35fd4bc637d731dfcff01810c4","unresolved":false,"context_lines":[{"line_number":123,"context_line":"2. Subnetwork"},{"line_number":124,"context_line":"3. Router"},{"line_number":125,"context_line":"4. Security rules"},{"line_number":126,"context_line":"5. Security groups"},{"line_number":127,"context_line":"6. Network ports"},{"line_number":128,"context_line":"7. Floating ips"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_d4210c4f","line":126,"updated":"2016-02-28 07:04:30.000000000","message":"Its important to also mention Tenants here, our pub/sub mechanism is going to work by Tenant so if we have many tenants each with small amount of elements might be different then one tenant with all the elements","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fb94e683375a21e8d98bf96d24870a33a24bc682","unresolved":false,"context_lines":[{"line_number":123,"context_line":"2. Subnetwork"},{"line_number":124,"context_line":"3. Router"},{"line_number":125,"context_line":"4. Security rules"},{"line_number":126,"context_line":"5. Security groups"},{"line_number":127,"context_line":"6. Network ports"},{"line_number":128,"context_line":"7. Floating ips"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_3135e5f6","line":126,"in_reply_to":"9aed3d3a_d4210c4f","updated":"2016-02-28 14:11:39.000000000","message":"Done","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55b2ec04741e33fa515eca8aa670ca21050a871c","unresolved":false,"context_lines":[{"line_number":136,"context_line":"new and old Dragonflow versions. In addition, we can run similar tests"},{"line_number":137,"context_line":"against the Neutron OVN deployment and compare results with the Neutron"},{"line_number":138,"context_line":"Dragonflow deployment."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"4. Stress Tests Scenarios"},{"line_number":142,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\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":8,"id":"9aed3d3a_aef514cc","line":139,"updated":"2016-02-28 12:03:29.000000000","message":"It would also be helpful to generate some graphs. gnuplot is a powerful tool in this regard.","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fb94e683375a21e8d98bf96d24870a33a24bc682","unresolved":false,"context_lines":[{"line_number":136,"context_line":"new and old Dragonflow versions. In addition, we can run similar tests"},{"line_number":137,"context_line":"against the Neutron OVN deployment and compare results with the Neutron"},{"line_number":138,"context_line":"Dragonflow deployment."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"4. Stress Tests Scenarios"},{"line_number":142,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\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":8,"id":"9aed3d3a_f1725d48","line":139,"in_reply_to":"9aed3d3a_aef514cc","updated":"2016-02-28 14:11:39.000000000","message":"Will be done at some stage.","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55b2ec04741e33fa515eca8aa670ca21050a871c","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"4. Stress Tests Scenarios"},{"line_number":142,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":143,"context_line":"It this test we want to stretch the system to it\u0027s maximal capabilities"},{"line_number":144,"context_line":"and calculate time required in different scenarios."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"For example we want to see how many small VM\u0027s we can launch on a single"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_0e0520bb","line":143,"range":{"start_line":143,"start_character":0,"end_line":143,"end_character":3},"updated":"2016-02-28 12:03:29.000000000","message":"Typo: In","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"fb94e683375a21e8d98bf96d24870a33a24bc682","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"4. Stress Tests Scenarios"},{"line_number":142,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":143,"context_line":"It this test we want to stretch the system to it\u0027s maximal capabilities"},{"line_number":144,"context_line":"and calculate time required in different scenarios."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"For example we want to see how many small VM\u0027s we can launch on a single"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_51906943","line":143,"range":{"start_line":143,"start_character":0,"end_line":143,"end_character":3},"in_reply_to":"9aed3d3a_0e0520bb","updated":"2016-02-28 14:11:39.000000000","message":"Done","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"55b2ec04741e33fa515eca8aa670ca21050a871c","unresolved":false,"context_lines":[{"line_number":153,"context_line":"3. 100 Routers - 500 subnets"},{"line_number":154,"context_line":"4. 1000 Security rules for 1 VM"},{"line_number":155,"context_line":"5. 1000 Security rules for 10 VMs"},{"line_number":156,"context_line":"6. Launch 100 VMs"},{"line_number":157,"context_line":"7. Set up 1000 Security rules in 1 Security group"},{"line_number":158,"context_line":"8. Etc..."},{"line_number":159,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9aed3d3a_ae1cf413","line":156,"updated":"2016-02-28 12:03:29.000000000","message":"Seeing as we\u0027re a network-only solution, running VMs may give inaccurate result, i.e. won\u0027t show only our performance costs.\n\nIn addition, consider running with Pytun wrappers, so it would look to the controller like a VM connected (and have it do all the relevant work), but not measure the performance cost of a fully-fledged VM.","commit_id":"1d1d049e4e374ee118d95be0f3cb769478ef1d5a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"f8a31fa86cc3240c80b5d86363f9f134018110f7","unresolved":false,"context_lines":[{"line_number":87,"context_line":"Message publish/subscribe test plan is intended to test Dragonflow PUB/SUB mechanizm."},{"line_number":88,"context_line":"This test measures the aggregate throughput of a MQ layer."},{"line_number":89,"context_line":"Currently Dragonflow support only ZeroMQ messaging system."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"TODO: This test will be done when we will have more than one supported PUB/SUB method."},{"line_number":92,"context_line":"For now, as an alternative, the set-up time test will cover the whole time for object"},{"line_number":93,"context_line":"creation including time to distribute messages for now."}],"source_content_type":"text/x-rst","patch_set":11,"id":"7af24918_0a27f564","line":90,"updated":"2016-03-02 11:25:19.000000000","message":"Consider adding comparison against no pub-sub, and polling the DB for changes.","commit_id":"67c6757cf47bf2f987ab60c3772ac87906397b93"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"e0f1a39b573ab1a5749d36ee573f9017f9c4ba09","unresolved":false,"context_lines":[{"line_number":181,"context_line":"3. 100 Routers - 500 subnets"},{"line_number":182,"context_line":"4. 1000 Security rules for 1 VM"},{"line_number":183,"context_line":"5. 1000 Security rules for 10 VMs"},{"line_number":184,"context_line":"6. Launch 100 VMs"},{"line_number":185,"context_line":"7. Set up 1000 Security rules in 1 Security group"},{"line_number":186,"context_line":"8. Etc..."},{"line_number":187,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9aed3d3a_5fc49e3e","line":184,"updated":"2016-03-01 07:16:32.000000000","message":"We can run 130 VMs with 1C1G flavor on single compute node (2*10 cores). We use Liberty release and Neutron+ML2 OVS deployment. I think the target should be set to 150-200 VMs.","commit_id":"67c6757cf47bf2f987ab60c3772ac87906397b93"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"97cdb6d871669b5962b2d1df81ac02fc6b7912b2","unresolved":false,"context_lines":[{"line_number":181,"context_line":"3. 100 Routers - 500 subnets"},{"line_number":182,"context_line":"4. 1000 Security rules for 1 VM"},{"line_number":183,"context_line":"5. 1000 Security rules for 10 VMs"},{"line_number":184,"context_line":"6. Launch 100 VMs"},{"line_number":185,"context_line":"7. Set up 1000 Security rules in 1 Security group"},{"line_number":186,"context_line":"8. Etc..."},{"line_number":187,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"5aef4532_06d61bc5","line":184,"in_reply_to":"9aed3d3a_5fc49e3e","updated":"2016-03-07 10:16:49.000000000","message":"fixed to 200","commit_id":"67c6757cf47bf2f987ab60c3772ac87906397b93"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"e0f1a39b573ab1a5749d36ee573f9017f9c4ba09","unresolved":false,"context_lines":[{"line_number":186,"context_line":"8. Etc..."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Transcript from emails:"},{"line_number":189,"context_line":"There is also a control plane performance issue when we try to catch on the spec of typical AWS limit (200 subnets per router). When a router with 200 subnets is scheduled on a new host, a 30s delay is watched when all data plane setup is finished."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"More to address:"},{"line_number":192,"context_line":"Create max Subnet on a router or for a tenant test create 1000 SG etc"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9aed3d3a_dfdc2e48","line":189,"updated":"2016-03-01 07:16:32.000000000","message":"please insert new line characters.","commit_id":"67c6757cf47bf2f987ab60c3772ac87906397b93"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"97cdb6d871669b5962b2d1df81ac02fc6b7912b2","unresolved":false,"context_lines":[{"line_number":186,"context_line":"8. Etc..."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Transcript from emails:"},{"line_number":189,"context_line":"There is also a control plane performance issue when we try to catch on the spec of typical AWS limit (200 subnets per router). When a router with 200 subnets is scheduled on a new host, a 30s delay is watched when all data plane setup is finished."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"More to address:"},{"line_number":192,"context_line":"Create max Subnet on a router or for a tenant test create 1000 SG etc"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5aef4532_46d823f0","line":189,"in_reply_to":"9aed3d3a_dfdc2e48","updated":"2016-03-07 10:16:49.000000000","message":"Done","commit_id":"67c6757cf47bf2f987ab60c3772ac87906397b93"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"33fa4acfc609629937ecb8ed977062eb941dbbb9","unresolved":false,"context_lines":[{"line_number":15,"context_line":"1. Neutron receives an API call to create an object (network, subnet, port, etc...)"},{"line_number":16,"context_line":"2. Neutron calls Dragonflow plugin with just created object"},{"line_number":17,"context_line":"3. Dragonflow plugin saves a new record to NoSQL database"},{"line_number":18,"context_line":"4. Dragonflow Plugin sends a message with the new object id using the ZeroMQ message"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"In Dragonflow controller"},{"line_number":21,"context_line":"1. DF controller receives a message from ZeroMQ with an object id"}],"source_content_type":"text/x-rst","patch_set":15,"id":"fa0719c6_3e9e4363","line":18,"range":{"start_line":18,"start_character":70,"end_line":18,"end_character":76},"updated":"2016-03-23 11:53:18.000000000","message":"Publish subscribe mechanism. The ZeroMQ driver can be replaced.","commit_id":"3bc9a1c6f929ffccbed9e7733bdb9e8f4b94bead"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"c43344c7b840d73597812b2cb9fb83fb5489a742","unresolved":false,"context_lines":[{"line_number":15,"context_line":"1. Neutron receives an API call to create an object (network, subnet, port, etc...)"},{"line_number":16,"context_line":"2. Neutron calls Dragonflow plugin with just created object"},{"line_number":17,"context_line":"3. Dragonflow plugin saves a new record to NoSQL database"},{"line_number":18,"context_line":"4. Dragonflow Plugin sends a message with the new object id using the ZeroMQ message"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"In Dragonflow controller"},{"line_number":21,"context_line":"1. DF controller receives a message from ZeroMQ with an object id"}],"source_content_type":"text/x-rst","patch_set":15,"id":"fa0719c6_aa43e66a","line":18,"range":{"start_line":18,"start_character":70,"end_line":18,"end_character":76},"in_reply_to":"fa0719c6_3e9e4363","updated":"2016-03-24 13:01:15.000000000","message":"Done","commit_id":"3bc9a1c6f929ffccbed9e7733bdb9e8f4b94bead"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"33fa4acfc609629937ecb8ed977062eb941dbbb9","unresolved":false,"context_lines":[{"line_number":18,"context_line":"4. Dragonflow Plugin sends a message with the new object id using the ZeroMQ message"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"In Dragonflow controller"},{"line_number":21,"context_line":"1. DF controller receives a message from ZeroMQ with an object id"},{"line_number":22,"context_line":"2. DF controller fetches full object records from NoSQL db"},{"line_number":23,"context_line":"3. DF controller, if required, creates nessesary OpenFlow rules."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"fa0719c6_5e8fb729","line":21,"range":{"start_line":21,"start_character":41,"end_line":21,"end_character":47},"updated":"2016-03-23 11:53:18.000000000","message":"Same here","commit_id":"3bc9a1c6f929ffccbed9e7733bdb9e8f4b94bead"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"c43344c7b840d73597812b2cb9fb83fb5489a742","unresolved":false,"context_lines":[{"line_number":18,"context_line":"4. Dragonflow Plugin sends a message with the new object id using the ZeroMQ message"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"In Dragonflow controller"},{"line_number":21,"context_line":"1. DF controller receives a message from ZeroMQ with an object id"},{"line_number":22,"context_line":"2. DF controller fetches full object records from NoSQL db"},{"line_number":23,"context_line":"3. DF controller, if required, creates nessesary OpenFlow rules."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"fa0719c6_ca5c5a4d","line":21,"range":{"start_line":21,"start_character":41,"end_line":21,"end_character":47},"in_reply_to":"fa0719c6_5e8fb729","updated":"2016-03-24 13:01:15.000000000","message":"Done","commit_id":"3bc9a1c6f929ffccbed9e7733bdb9e8f4b94bead"}]}
