)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a7d4b93569722c2959eda91c17ab25b120a2fcca","unresolved":false,"context_lines":[{"line_number":12,"context_line":"importance of a weigher against the rest of them, so specifying a"},{"line_number":13,"context_line":"negative multiplier is counter-intuitive. Moreover, if you have more"},{"line_number":14,"context_line":"than 1 weigher, the negative multiplier may not behave as expected and"},{"line_number":15,"context_line":"it difficults to configure the importance between weighers for an"},{"line_number":16,"context_line":"operator."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I64b9cce1d1de44dfa49f6418d367d63ffcc1c7a9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"AAAAQn%2F%2B7Zg%3D","line":15,"updated":"2013-08-09 19:34:33.000000000","message":"\"it makes it more difficult to\" I think…","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"156a5b1deb9ad169dc12038e55606b78a3bbf922","unresolved":false,"context_lines":[{"line_number":12,"context_line":"importance of a weigher against the rest of them, so specifying a"},{"line_number":13,"context_line":"negative multiplier is counter-intuitive. Moreover, if you have more"},{"line_number":14,"context_line":"than 1 weigher, the negative multiplier may not behave as expected and"},{"line_number":15,"context_line":"it difficults to configure the importance between weighers for an"},{"line_number":16,"context_line":"operator."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I64b9cce1d1de44dfa49f6418d367d63ffcc1c7a9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"AAAAQ3%2F%2F%2Bf0%3D","line":15,"in_reply_to":"AAAAQn%2F%2B7Zg%3D","updated":"2013-08-12 07:59:20.000000000","message":"Done","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"10ff5c862cb19ba98b539c436b0c4a3bc717e512","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We should use a specific flag to state that the weigher should behave"},{"line_number":10,"context_line":"the inverse of the expected behaviour (stacking vs spreading), instead"},{"line_number":11,"context_line":"of using a multiplier for that. A multipier is a way to specify the"},{"line_number":12,"context_line":"importance of a weigher against the rest of them, so specifying a"},{"line_number":13,"context_line":"negative multiplier is counter-intuitive. Moreover, if you have more"},{"line_number":14,"context_line":"than 1 weigher, the negative multiplier may not behave as expected and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"AAAAQ3%2F%2F8N8%3D","line":11,"updated":"2013-08-12 18:22:04.000000000","message":"s/multipier/multiplier/ (femtonit)","commit_id":"f8fce83d86b639692cccbeee5a68bc516293dea4"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"fc9e80cbc6f764b3063ac285f8ae3c4fc0915dd8","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We should use a specific flag to state that the weigher should behave"},{"line_number":10,"context_line":"the inverse of the expected behaviour (stacking vs spreading), instead"},{"line_number":11,"context_line":"of using a multiplier for that. A multipier is a way to specify the"},{"line_number":12,"context_line":"importance of a weigher against the rest of them, so specifying a"},{"line_number":13,"context_line":"negative multiplier is counter-intuitive. Moreover, if you have more"},{"line_number":14,"context_line":"than 1 weigher, the negative multiplier may not behave as expected and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"AAAASn%2F%2Fzv8%3D","line":11,"in_reply_to":"AAAAQ3%2F%2F8N8%3D","updated":"2013-08-29 09:51:20.000000000","message":"Done","commit_id":"f8fce83d86b639692cccbeee5a68bc516293dea4"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"92063a984a93cd53707e7ac696664f0680b9505c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"of using a multiplier for that. A multiplier is a way to specify the"},{"line_number":12,"context_line":"importance of a weigher against the rest of them, so specifying a"},{"line_number":13,"context_line":"negative multiplier is counter-intuitive. Moreover, if you have more"},{"line_number":14,"context_line":"than 1 weigher, the negative multiplier may not behave as expected and"},{"line_number":15,"context_line":"it makes more difficult to configure the importance between weighers"},{"line_number":16,"context_line":"for an operator."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"AAAAT3%2F%2F6pg%3D","line":14,"updated":"2013-12-27 07:21:34.000000000","message":"can you document why it wont behave as expected here.","commit_id":"a7ab75752607906c427e6cb7b65b886cf44606bc"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"e37f9915e48f248e6ee3c867af9cf1d0fe71fc63","unresolved":false,"context_lines":[{"line_number":11,"context_line":"of using a multiplier for that. A multiplier is a way to specify the"},{"line_number":12,"context_line":"importance of a weigher against the rest of them, so specifying a"},{"line_number":13,"context_line":"negative multiplier is counter-intuitive. Moreover, if you have more"},{"line_number":14,"context_line":"than 1 weigher, the negative multiplier may not behave as expected and"},{"line_number":15,"context_line":"it makes more difficult to configure the importance between weighers"},{"line_number":16,"context_line":"for an operator."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"AAAAUH%2F%2F3yA%3D","line":14,"in_reply_to":"AAAAT3%2F%2F6pg%3D","updated":"2014-01-07 12:05:15.000000000","message":"Sure.","commit_id":"a7ab75752607906c427e6cb7b65b886cf44606bc"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"44257f7f6efe10b1e95d775aebc5aabf9056cbd8","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Implements blueprint normalize-scheduler-weights"},{"line_number":23,"context_line":"DocImpact: Multipliers should not be used anymore for stacking. In the"},{"line_number":24,"context_line":"affected weighers, stacking flags have been added."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I64b9cce1d1de44dfa49f6418d367d63ffcc1c7a9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"AAAAUH%2F%2F3eE%3D","line":25,"updated":"2014-01-07 13:44:15.000000000","message":"Since this deprecates the use of negative weight values it should also be tagged with UpgradeImpact","commit_id":"feddfa65ed798b78523ca1b6e49779264383f39d"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"4a181e214e97a6c1256522b5fb3e3afc1af40e58","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Implements blueprint normalize-scheduler-weights"},{"line_number":23,"context_line":"DocImpact: Multipliers should not be used anymore for stacking. In the"},{"line_number":24,"context_line":"affected weighers, stacking flags have been added."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I64b9cce1d1de44dfa49f6418d367d63ffcc1c7a9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"AAAAUH%2F%2F2gQ%3D","line":25,"in_reply_to":"AAAAUH%2F%2F3eE%3D","updated":"2014-01-07 17:13:44.000000000","message":"Done. I\u0027ve missed it, thanks for pointing it out.","commit_id":"feddfa65ed798b78523ca1b6e49779264383f39d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"c1196ddd6605396d5e610df567ab1b50dabe7d4b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"importance of a weigher against the rest of them, so specifying a"},{"line_number":13,"context_line":"negative multiplier is counter-intuitive. Moreover, when using more"},{"line_number":14,"context_line":"than 1 weigher, the negative multiplier may not have the effect of"},{"line_number":15,"context_line":"stacking, since the calculated weight will be simply substracted from"},{"line_number":16,"context_line":"the other weights."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This change will also allow the usage of negative multipliers, so as to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":29,"id":"AAAAUH%2F90cE%3D","line":15,"updated":"2014-02-03 16:47:57.000000000","message":"s/substracted/subtracted/ (attonit)\n\n(Don\u0027t bother fixing unless you have to upload a new patch; this has already been through too many revisions ;)","commit_id":"87a62d686d912ef29c9cce82ea64cab8d680fa33"}],"doc/source/devref/filter_scheduler.rst":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"92063a984a93cd53707e7ac696664f0680b9505c","unresolved":false,"context_lines":[{"line_number":287,"context_line":"* |RamWeigher| Hosts are then weighted and sorted with the largest weight winning."},{"line_number":288,"context_line":"  If the multiplier is negative, the host with less RAM available will win (useful"},{"line_number":289,"context_line":"  for stacking hosts, instead of spreading)."},{"line_number":290,"context_line":"  If the ``ram_weight_inverse`` flag is set to ``True`` the host with less RAM"},{"line_number":291,"context_line":"  available will win (useful for stacking hosts, instead of spreading)."},{"line_number":292,"context_line":"* |MetricsWeigher| This weigher can compute the weight based on the compute node"},{"line_number":293,"context_line":"  host\u0027s various metrics. The to-be weighed metrics and their weighing ratio"}],"source_content_type":"text/x-rst","patch_set":25,"id":"AAAAT3%2F%2F6pU%3D","line":290,"updated":"2013-12-27 07:21:34.000000000","message":"ram_weight_stacking config option","commit_id":"a7ab75752607906c427e6cb7b65b886cf44606bc"}],"nova/cells/weights/ram_by_instance_type.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"c5fb8e5428bc5677e46f4b5b06a3217ad6b8d7c1","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from nova.cells import weights"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"ram_weigher_opts \u003d ["},{"line_number":24,"context_line":"        cfg.BoolOpt(\u0027ram_weight_inverse\u0027,"},{"line_number":25,"context_line":"                    default\u003dFalse,"},{"line_number":26,"context_line":"                    help\u003d\u0027If set to True, the highest weight will be \u0027"},{"line_number":27,"context_line":"                          \u0027for the host with less RAM available (the \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F0YI%3D","line":24,"updated":"2013-07-22 18:48:07.000000000","message":"instead of calling this ram_weight_inverse perhaps something like ram_weight_dispersion or something.  something with more meaning that just inverse","commit_id":"11a0b5721937572b414a507b2199c79d188f3715"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"5391da54c55fb9928e3fc05d8013f32b07485260","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from nova.cells import weights"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"ram_weigher_opts \u003d ["},{"line_number":24,"context_line":"        cfg.BoolOpt(\u0027ram_weight_inverse\u0027,"},{"line_number":25,"context_line":"                    default\u003dFalse,"},{"line_number":26,"context_line":"                    help\u003d\u0027If set to True, the highest weight will be \u0027"},{"line_number":27,"context_line":"                          \u0027for the host with less RAM available (the \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2Fx8A%3D","line":24,"in_reply_to":"AAAAQn%2F%2F0YI%3D","updated":"2013-07-23 12:01:30.000000000","message":"Indeed, you\u0027re right. For me it was clear enough, but I think that setting the flag as you propose is much better.","commit_id":"11a0b5721937572b414a507b2199c79d188f3715"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a7d4b93569722c2959eda91c17ab25b120a2fcca","unresolved":false,"context_lines":[{"line_number":26,"context_line":"                     help\u003d\u0027Multiplier used for weighing ram. \u0027),"},{"line_number":27,"context_line":"        cfg.BoolOpt(\u0027ram_weight_stacking\u0027,"},{"line_number":28,"context_line":"                     default\u003dFalse,"},{"line_number":29,"context_line":"                     help\u003d\u0027If set to True, the weigher will give the\u0027"},{"line_number":30,"context_line":"                          \u0027higest weight to the host with less RAM available \u0027"},{"line_number":31,"context_line":"                          \u0027so the behaviour will change to \"stacking\" instead \u0027"},{"line_number":32,"context_line":"                          \u0027of \"spreading\").\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQn%2F%2B7ZE%3D","line":29,"updated":"2013-08-09 19:34:33.000000000","message":"You need a space at the end of the line, otherwise this renders as \"thehigest\"","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a7d4b93569722c2959eda91c17ab25b120a2fcca","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        cfg.BoolOpt(\u0027ram_weight_stacking\u0027,"},{"line_number":28,"context_line":"                     default\u003dFalse,"},{"line_number":29,"context_line":"                     help\u003d\u0027If set to True, the weigher will give the\u0027"},{"line_number":30,"context_line":"                          \u0027higest weight to the host with less RAM available \u0027"},{"line_number":31,"context_line":"                          \u0027so the behaviour will change to \"stacking\" instead \u0027"},{"line_number":32,"context_line":"                          \u0027of \"spreading\").\u0027),"},{"line_number":33,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQn%2F%2B7Y4%3D","line":30,"updated":"2013-08-09 19:34:33.000000000","message":"s/higest/highest/","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a7d4b93569722c2959eda91c17ab25b120a2fcca","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                     help\u003d\u0027If set to True, the weigher will give the\u0027"},{"line_number":30,"context_line":"                          \u0027higest weight to the host with less RAM available \u0027"},{"line_number":31,"context_line":"                          \u0027so the behaviour will change to \"stacking\" instead \u0027"},{"line_number":32,"context_line":"                          \u0027of \"spreading\").\u0027),"},{"line_number":33,"context_line":"]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQn%2F%2B7Yc%3D","line":32,"updated":"2013-08-09 19:34:33.000000000","message":"It might be better to alter this help text to describe the effect, rather than the mechanism, i.e.:\n\n\u0027If set to True, the weigher\u0027s behavior will change from \"spreading\" to \"stacking\".\u0027","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"156a5b1deb9ad169dc12038e55606b78a3bbf922","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                     help\u003d\u0027If set to True, the weigher will give the\u0027"},{"line_number":30,"context_line":"                          \u0027higest weight to the host with less RAM available \u0027"},{"line_number":31,"context_line":"                          \u0027so the behaviour will change to \"stacking\" instead \u0027"},{"line_number":32,"context_line":"                          \u0027of \"spreading\").\u0027),"},{"line_number":33,"context_line":"]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQ3%2F%2F%2Bi8%3D","line":32,"in_reply_to":"AAAAQn%2F%2B7Yc%3D","updated":"2013-08-12 07:59:20.000000000","message":"Done","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a7d4b93569722c2959eda91c17ab25b120a2fcca","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        units \u003d units_by_mb.get(str(memory_needed), 0)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if CONF.cells.ram_weight_stacking:"},{"line_number":62,"context_line":"            units \u003d - units"},{"line_number":63,"context_line":"        return units"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQn%2F%2B7YQ%3D","line":62,"updated":"2013-08-09 19:34:33.000000000","message":"Eliminate the space after the negation operator, i.e.:\n\n    units \u003d -units","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"156a5b1deb9ad169dc12038e55606b78a3bbf922","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        units \u003d units_by_mb.get(str(memory_needed), 0)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if CONF.cells.ram_weight_stacking:"},{"line_number":62,"context_line":"            units \u003d - units"},{"line_number":63,"context_line":"        return units"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQ3%2F%2F%2Biw%3D","line":62,"in_reply_to":"AAAAQn%2F%2B7YQ%3D","updated":"2013-08-12 07:59:20.000000000","message":"Done","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"10ff5c862cb19ba98b539c436b0c4a3bc717e512","unresolved":false,"context_lines":[{"line_number":23,"context_line":"ram_weigher_opts \u003d ["},{"line_number":24,"context_line":"        cfg.FloatOpt(\u0027ram_weight_multiplier\u0027,"},{"line_number":25,"context_line":"                     default\u003d10.0,"},{"line_number":26,"context_line":"                     help\u003d\u0027Multiplier used for weighing ram. \u0027),"},{"line_number":27,"context_line":"        cfg.BoolOpt(\u0027ram_weight_stacking\u0027,"},{"line_number":28,"context_line":"                     default\u003dFalse,"},{"line_number":29,"context_line":"                     help\u003d\"If set to True, the weigher\u0027s behaviour will \""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAQ3%2F%2F8Ng%3D","line":26,"updated":"2013-08-12 18:22:04.000000000","message":"Eliminate the space between the period and the close quote (femtonit)","commit_id":"f8fce83d86b639692cccbeee5a68bc516293dea4"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"fc9e80cbc6f764b3063ac285f8ae3c4fc0915dd8","unresolved":false,"context_lines":[{"line_number":23,"context_line":"ram_weigher_opts \u003d ["},{"line_number":24,"context_line":"        cfg.FloatOpt(\u0027ram_weight_multiplier\u0027,"},{"line_number":25,"context_line":"                     default\u003d10.0,"},{"line_number":26,"context_line":"                     help\u003d\u0027Multiplier used for weighing ram. \u0027),"},{"line_number":27,"context_line":"        cfg.BoolOpt(\u0027ram_weight_stacking\u0027,"},{"line_number":28,"context_line":"                     default\u003dFalse,"},{"line_number":29,"context_line":"                     help\u003d\"If set to True, the weigher\u0027s behaviour will \""}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAASn%2F%2Fzvs%3D","line":26,"in_reply_to":"AAAAQ3%2F%2F8Ng%3D","updated":"2013-08-29 09:51:20.000000000","message":"Done","commit_id":"f8fce83d86b639692cccbeee5a68bc516293dea4"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"f2d474a59c0ea6573aafd8056cfb5ce02c0de17b","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        ram_free \u003d cell.capacities.get(\u0027ram_free\u0027, {})"},{"line_number":55,"context_line":"        units_by_mb \u003d ram_free.get(\u0027units_by_mb\u0027, {})"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        units \u003d units_by_mb.get(str(memory_needed), 0)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if CONF.cells.ram_weight_stacking:"},{"line_number":60,"context_line":"            units \u003d -units"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAATH%2F%2Faeo%3D","line":57,"updated":"2013-10-16 14:25:48.000000000","message":"How about making this backwards compatible?  It looks like you just need to check to see if it\u0027s already negative here.\n\nSame comment elsewhere as applicable","commit_id":"969fbd8e05d03d5abd305beffaea51e38705f15d"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"02f59d021c3e9bce14e96f53107e9a581ddfe9f8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        ram_free \u003d cell.capacities.get(\u0027ram_free\u0027, {})"},{"line_number":55,"context_line":"        units_by_mb \u003d ram_free.get(\u0027units_by_mb\u0027, {})"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        units \u003d units_by_mb.get(str(memory_needed), 0)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        if CONF.cells.ram_weight_stacking:"},{"line_number":60,"context_line":"            units \u003d -units"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAATH%2F%2FWtw%3D","line":57,"in_reply_to":"AAAATH%2F%2Faeo%3D","updated":"2013-10-17 10:26:48.000000000","message":"Good point. Maybe a warning would be valuable also, so that the operator is aware and he is able to fix it.","commit_id":"969fbd8e05d03d5abd305beffaea51e38705f15d"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"294bf0715cfa341a6d631910f489a9ee86f51c03","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        if self.multiplier \u003c 0:"},{"line_number":48,"context_line":"            LOG.warning(_(\u0027Using a negative \"ram_weight_multiplier\" for \u0027"},{"line_number":49,"context_line":"                          \u0027stacking is deprecated, please use \u0027"},{"line_number":50,"context_line":"                          \u0027ram_weight_stacking\u003dTrue instead.\u0027))"},{"line_number":51,"context_line":"            self.stacking \u003d True"},{"line_number":52,"context_line":"            self.multiplier *\u003d -1"},{"line_number":53,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":27,"id":"AAAAUH%2F%2Fd2k%3D","line":50,"updated":"2014-01-13 15:57:01.000000000","message":"Though the log message telling \"please use ram_weight_stacking\u003dTrue instead.\", you are actually already stack. Suggest the log message include something like \"System will use stack for such case\" or others that can reflect this logic.","commit_id":"490205fd61c05f3f28e0eb565d9377509f3869b5"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"fd5a36c42912392983ee977ec0159c053ea2a658","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        if self.multiplier \u003c 0:"},{"line_number":48,"context_line":"            LOG.warning(_(\u0027Using a negative \"ram_weight_multiplier\" for \u0027"},{"line_number":49,"context_line":"                          \u0027stacking is deprecated, please use \u0027"},{"line_number":50,"context_line":"                          \u0027ram_weight_stacking\u003dTrue instead.\u0027))"},{"line_number":51,"context_line":"            self.stacking \u003d True"},{"line_number":52,"context_line":"            self.multiplier *\u003d -1"},{"line_number":53,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":27,"id":"AAAAUH%2F%2BrXg%3D","line":50,"in_reply_to":"AAAAUH%2F%2Brec%3D","updated":"2014-01-23 09:50:55.000000000","message":"I would suggest the log message as following:\nUsing a negative \"ram_weight_multiplier\" for stacking is deprecated, system will use ram_weight_stacking\u003dTrue instead.\n\nAs the system can run well even if customer did not change the value.","commit_id":"490205fd61c05f3f28e0eb565d9377509f3869b5"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"c95dacada0b1265d7a900d052228d1ff68e9f9d9","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        if self.multiplier \u003c 0:"},{"line_number":48,"context_line":"            LOG.warning(_(\u0027Using a negative \"ram_weight_multiplier\" for \u0027"},{"line_number":49,"context_line":"                          \u0027stacking is deprecated, please use \u0027"},{"line_number":50,"context_line":"                          \u0027ram_weight_stacking\u003dTrue instead.\u0027))"},{"line_number":51,"context_line":"            self.stacking \u003d True"},{"line_number":52,"context_line":"            self.multiplier *\u003d -1"},{"line_number":53,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":27,"id":"AAAAUH%2F%2Brec%3D","line":50,"in_reply_to":"AAAAUH%2F%2Fd2k%3D","updated":"2014-01-23 09:26:00.000000000","message":"That\u0027s why it is a warning. It does not say that it will not use stacking, but it warns the operator to change its configuration file. Let\u0027s see what other reviewers think, but I like it as it is.","commit_id":"490205fd61c05f3f28e0eb565d9377509f3869b5"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"6ff44af11e9cdb2721d82a17e585371d5b1646ef","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        else:"},{"line_number":54,"context_line":"            self.stacking \u003d CONF.cells.ram_weight_stacking"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def weight_multiplier(self):"},{"line_number":57,"context_line":"        return self.multiplier"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def _weigh_object(self, cell, weight_properties):"}],"source_content_type":"text/x-python","patch_set":27,"id":"AAAAUH%2F%2Fdyg%3D","line":56,"updated":"2014-01-13 16:00:59.000000000","message":"Suggest this patch depend on https://review.openstack.org/#/c/66285/ as 66285 was changing weight_multiplier to an internal method","commit_id":"490205fd61c05f3f28e0eb565d9377509f3869b5"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"39a80e5877032b830c3e0cb86b437cc4477ae774","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        else:"},{"line_number":54,"context_line":"            self.stacking \u003d CONF.cells.ram_weight_stacking"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def weight_multiplier(self):"},{"line_number":57,"context_line":"        return self.multiplier"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def _weigh_object(self, cell, weight_properties):"}],"source_content_type":"text/x-python","patch_set":27,"id":"AAAAUH%2F%2BTQY%3D","line":56,"in_reply_to":"AAAAUH%2F%2BrXM%3D","updated":"2014-01-28 08:19:50.000000000","message":"This method was changed from being a private one since it is not anymore private, so https://review.openstack.org/#/c/66285/ is wrong.\n\nMoreover, the blueprint nova-oslo-scheduler is not approved, so I am not going to make a change dependent into it.","commit_id":"490205fd61c05f3f28e0eb565d9377509f3869b5"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"fd5a36c42912392983ee977ec0159c053ea2a658","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        else:"},{"line_number":54,"context_line":"            self.stacking \u003d CONF.cells.ram_weight_stacking"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def weight_multiplier(self):"},{"line_number":57,"context_line":"        return self.multiplier"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def _weigh_object(self, cell, weight_properties):"}],"source_content_type":"text/x-python","patch_set":27,"id":"AAAAUH%2F%2BrXM%3D","line":56,"in_reply_to":"AAAAUH%2F%2BrfE%3D","updated":"2014-01-23 09:50:55.000000000","message":"Normalization is being handled: \nhttps://review.openstack.org/#/c/66330/1\n\nChange weight_multiplier() to _weight_multiplier() for weight\nhttps://review.openstack.org/#/c/66285/\n\nI think that all development related to nova scheduler should be based on nova but not Gantt in Icehouse: http://openstack.10931.n7.nabble.com/Gantt-Looking-for-some-answers-td28307.html","commit_id":"490205fd61c05f3f28e0eb565d9377509f3869b5"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"c95dacada0b1265d7a900d052228d1ff68e9f9d9","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        else:"},{"line_number":54,"context_line":"            self.stacking \u003d CONF.cells.ram_weight_stacking"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def weight_multiplier(self):"},{"line_number":57,"context_line":"        return self.multiplier"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def _weigh_object(self, cell, weight_properties):"}],"source_content_type":"text/x-python","patch_set":27,"id":"AAAAUH%2F%2BrfE%3D","line":56,"in_reply_to":"AAAAUH%2F%2Fdyg%3D","updated":"2014-01-23 09:26:00.000000000","message":"I disagree here. That blueprint is not approved yet.\n\nMoreover the code in oslo is old and is oslo what should be updated since that method is not private anymore (it also lacks all the normalization stuff).\n\nMoreover, the whole scheduler is being moved to another project (gantt).","commit_id":"490205fd61c05f3f28e0eb565d9377509f3869b5"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"66f48ebf59bd2a3561dec8f25bd84def0fa9070f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        self.multiplier \u003d CONF.cells.ram_weight_multiplier"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        if self.multiplier \u003c 0:"},{"line_number":48,"context_line":"            LOG.warning(_(\u0027Using a negative \"ram_weight_multiplier\" for \u0027"},{"line_number":49,"context_line":"                          \u0027stacking is deprecated, nova will use \u0027"},{"line_number":50,"context_line":"                          \u0027ram_weight_stacking\u003dTrue instead.\u0027))"},{"line_number":51,"context_line":"            self.stacking \u003d True"}],"source_content_type":"text/x-python","patch_set":30,"id":"AAAAVn%2F%2F5RI%3D","line":48,"updated":"2014-03-03 15:38:08.000000000","message":"Seems we should have a helper function for this?\n\nAlso I don\u0027t like how many times this will issue this warning in the log. it will be once, per host, per user request :(\n\nIdeally we should cache the config per module load, for performance reasons anyway. But this seems bad.","commit_id":"6ba34ec2466139bc49d13aa2337bc0fbb6d4bcd7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"66f48ebf59bd2a3561dec8f25bd84def0fa9070f","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        units \u003d units_by_mb.get(str(memory_needed), 0)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        if self.stacking:"},{"line_number":76,"context_line":"            units \u003d -units"},{"line_number":77,"context_line":"        return units"}],"source_content_type":"text/x-python","patch_set":30,"id":"AAAAVn%2F%2F5QY%3D","line":76,"updated":"2014-03-03 15:38:08.000000000","message":"seems inconsistent with the other weights class. might be worth sharing code here.","commit_id":"6ba34ec2466139bc49d13aa2337bc0fbb6d4bcd7"}],"nova/scheduler/weights/ram.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"c5fb8e5428bc5677e46f4b5b06a3217ad6b8d7c1","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                     default\u003d1.0,"},{"line_number":30,"context_line":"                     help\u003d\u0027Multiplier used for weighing ram.\u0027"},{"line_number":31,"context_line":"        ),"},{"line_number":32,"context_line":"        cfg.BoolOpt(\u0027ram_weight_inverse\u0027,"},{"line_number":33,"context_line":"                     default\u003dFalse,"},{"line_number":34,"context_line":"                     help\u003d\u0027If set to True, the highest weight will be \u0027"},{"line_number":35,"context_line":"                          \u0027for the host with less RAM available (the \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F0YA%3D","line":32,"updated":"2013-07-22 18:48:07.000000000","message":"same here","commit_id":"11a0b5721937572b414a507b2199c79d188f3715"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"5391da54c55fb9928e3fc05d8013f32b07485260","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                     default\u003d1.0,"},{"line_number":30,"context_line":"                     help\u003d\u0027Multiplier used for weighing ram.\u0027"},{"line_number":31,"context_line":"        ),"},{"line_number":32,"context_line":"        cfg.BoolOpt(\u0027ram_weight_inverse\u0027,"},{"line_number":33,"context_line":"                     default\u003dFalse,"},{"line_number":34,"context_line":"                     help\u003d\u0027If set to True, the highest weight will be \u0027"},{"line_number":35,"context_line":"                          \u0027for the host with less RAM available (the \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2Fx8E%3D","line":32,"in_reply_to":"AAAAQn%2F%2F0YA%3D","updated":"2013-07-23 12:01:30.000000000","message":"I do agree.","commit_id":"11a0b5721937572b414a507b2199c79d188f3715"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a7d4b93569722c2959eda91c17ab25b120a2fcca","unresolved":false,"context_lines":[{"line_number":16,"context_line":"RAM Weigher.  Weigh hosts by their RAM usage."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The default is to spread instances across all hosts evenly.  If you prefer"},{"line_number":19,"context_line":"stacking, you can set the \u0027ram_weight_inverse\u0027 option to True"},{"line_number":20,"context_line":"and the weighing has the opposite effect of the default."},{"line_number":21,"context_line":"\"\"\""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQn%2F%2B7YE%3D","line":19,"updated":"2013-08-09 19:34:33.000000000","message":"Left-over from a previous variant of this patch?","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"156a5b1deb9ad169dc12038e55606b78a3bbf922","unresolved":false,"context_lines":[{"line_number":16,"context_line":"RAM Weigher.  Weigh hosts by their RAM usage."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The default is to spread instances across all hosts evenly.  If you prefer"},{"line_number":19,"context_line":"stacking, you can set the \u0027ram_weight_inverse\u0027 option to True"},{"line_number":20,"context_line":"and the weighing has the opposite effect of the default."},{"line_number":21,"context_line":"\"\"\""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQ3%2F%2F%2Bl0%3D","line":19,"in_reply_to":"AAAAQn%2F%2B7YE%3D","updated":"2013-08-12 07:59:20.000000000","message":"Done","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a7d4b93569722c2959eda91c17ab25b120a2fcca","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                     help\u003d\u0027If set to True, the weigher will give the\u0027"},{"line_number":34,"context_line":"                          \u0027higest weight to the host with less RAM available \u0027"},{"line_number":35,"context_line":"                          \u0027so the behaviour will change to \"stacking\" instead \u0027"},{"line_number":36,"context_line":"                          \u0027of \"spreading\").\u0027),"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQn%2F%2B7YI%3D","line":36,"updated":"2013-08-09 19:34:33.000000000","message":"See comments on the other option; all apply here, including corrections.","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"156a5b1deb9ad169dc12038e55606b78a3bbf922","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                     help\u003d\u0027If set to True, the weigher will give the\u0027"},{"line_number":34,"context_line":"                          \u0027higest weight to the host with less RAM available \u0027"},{"line_number":35,"context_line":"                          \u0027so the behaviour will change to \"stacking\" instead \u0027"},{"line_number":36,"context_line":"                          \u0027of \"spreading\").\u0027),"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQ3%2F%2F%2Bl4%3D","line":36,"in_reply_to":"AAAAQn%2F%2B7YI%3D","updated":"2013-08-12 07:59:20.000000000","message":"Done","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a7d4b93569722c2959eda91c17ab25b120a2fcca","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":51,"context_line":"        \"\"\"Higher weights win.  We want spreading to be the default.\"\"\""},{"line_number":52,"context_line":"        if CONF.ram_weight_stacking:"},{"line_number":53,"context_line":"            return - host_state.free_ram_mb"},{"line_number":54,"context_line":"        return host_state.free_ram_mb"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQn%2F%2B7Xs%3D","line":53,"updated":"2013-08-09 19:34:33.000000000","message":"Eliminate the space between the negation operator and the value, i.e.:\n\n    return -host_state.free_ram_mb","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"156a5b1deb9ad169dc12038e55606b78a3bbf922","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":51,"context_line":"        \"\"\"Higher weights win.  We want spreading to be the default.\"\"\""},{"line_number":52,"context_line":"        if CONF.ram_weight_stacking:"},{"line_number":53,"context_line":"            return - host_state.free_ram_mb"},{"line_number":54,"context_line":"        return host_state.free_ram_mb"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAQ3%2F%2F%2Bl8%3D","line":53,"in_reply_to":"AAAAQn%2F%2B7Xs%3D","updated":"2013-08-12 07:59:20.000000000","message":"Done","commit_id":"0c99abbddd3365387e606afcfb03ff624908677b"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"75f145bedeace8981daaee1240db56909dde9728","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        if self.multiplier \u003c 0:"},{"line_number":53,"context_line":"            LOG.warning(_(\u0027Using a negative \"ram_weight_multiplier\" for \u0027"},{"line_number":54,"context_line":"                          \u0027stacking is deprecated, please use \u0027"},{"line_number":55,"context_line":"                          \u0027\"ram_weight_stacking\" instead.\u0027))"},{"line_number":56,"context_line":"            self.stacking \u003d True"},{"line_number":57,"context_line":"            self.multiplier *\u003d -1"},{"line_number":58,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATX%2F%2F%2Blc%3D","line":55,"updated":"2013-10-23 12:09:31.000000000","message":"Nit: Would be clearer if it said \"use ram_weight_stacking\u003dTrue ...\"","commit_id":"b3ea23a11416d9acd11aaa47c0d2fc61e67826ba"},{"author":{"_account_id":91,"name":"Alvaro","email":"aloga@ifca.unican.es","username":"aloga"},"change_message_id":"245dcda1279ac88a830799011ebc341462829576","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        if self.multiplier \u003c 0:"},{"line_number":53,"context_line":"            LOG.warning(_(\u0027Using a negative \"ram_weight_multiplier\" for \u0027"},{"line_number":54,"context_line":"                          \u0027stacking is deprecated, please use \u0027"},{"line_number":55,"context_line":"                          \u0027\"ram_weight_stacking\" instead.\u0027))"},{"line_number":56,"context_line":"            self.stacking \u003d True"},{"line_number":57,"context_line":"            self.multiplier *\u003d -1"},{"line_number":58,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATn%2F%2F%2FDU%3D","line":55,"in_reply_to":"AAAATX%2F%2F%2Blc%3D","updated":"2013-10-24 09:00:45.000000000","message":"Done","commit_id":"b3ea23a11416d9acd11aaa47c0d2fc61e67826ba"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"294bf0715cfa341a6d631910f489a9ee86f51c03","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        if self.multiplier \u003c 0:"},{"line_number":53,"context_line":"            LOG.warning(_(\u0027Using a negative \"ram_weight_multiplier\" for \u0027"},{"line_number":54,"context_line":"                          \u0027stacking is deprecated, please use \u0027"},{"line_number":55,"context_line":"                          \u0027ram_weight_stacking\u003dTrue instead.\u0027))"},{"line_number":56,"context_line":"            self.stacking \u003d True"},{"line_number":57,"context_line":"            self.multiplier *\u003d -1"},{"line_number":58,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":27,"id":"AAAAUH%2F%2Fd0g%3D","line":55,"updated":"2014-01-13 15:57:01.000000000","message":"ditto","commit_id":"490205fd61c05f3f28e0eb565d9377509f3869b5"}],"nova/tests/scheduler/test_weights.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"ba47682481fed7ecfd85f48cd9fab16dc7252234","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        weigher._parse_setting()"},{"line_number":256,"context_line":"        self.assertTrue(len(results) \u003d\u003d len(weigher.setting))"},{"line_number":257,"context_line":"        for item in results:"},{"line_number":258,"context_line":"            self.assertTrue(item in weigher.setting)"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    def test_parse_setting(self):"},{"line_number":261,"context_line":"        weigher \u003d self.weight_classes[0]()"}],"source_content_type":"text/x-python","patch_set":25,"id":"AAAATn%2F9aTY%3D","line":258,"updated":"2013-12-11 20:01:09.000000000","message":"This should probably use assertIn rather than assertTrue","commit_id":"a7ab75752607906c427e6cb7b65b886cf44606bc"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"e7f0635430f17b8b53bee7a85f4aeae003807a7d","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        weigher._parse_setting()"},{"line_number":256,"context_line":"        self.assertTrue(len(results) \u003d\u003d len(weigher.setting))"},{"line_number":257,"context_line":"        for item in results:"},{"line_number":258,"context_line":"            self.assertTrue(item in weigher.setting)"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    def test_parse_setting(self):"},{"line_number":261,"context_line":"        weigher \u003d self.weight_classes[0]()"}],"source_content_type":"text/x-python","patch_set":25,"id":"AAAATn%2F9Z9I%3D","line":258,"in_reply_to":"AAAATn%2F9aTY%3D","updated":"2013-12-11 21:09:45.000000000","message":"Perhaps, but it\u0027s not even part of his patch :)  It\u0027s probably coming in through a rebase…","commit_id":"a7ab75752607906c427e6cb7b65b886cf44606bc"}]}
