)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"831ffdf02fa03dd2dad4c9bc01f3b81083a6a061","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add a scheduler custom driver possibility"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We reverted the possibility in Ocata with Icdcf839b6d28893694bfa1355e9dbe8dbb5ea8c3"},{"line_number":10,"context_line":"but it was an incidental change not properly communicated without a clear"},{"line_number":11,"context_line":"deprecation notice."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f1a1f67_cbf4bdf3","line":9,"range":{"start_line":9,"start_character":3,"end_line":9,"end_character":11},"updated":"2017-07-18 14:49:47.000000000","message":"reverted isn\u0027t the correct word here, maybe \u0027broke\u0027.","commit_id":"d3cc2ed968469dccae31cb97312c6e57da01bec6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"831ffdf02fa03dd2dad4c9bc01f3b81083a6a061","unresolved":false,"context_lines":[{"line_number":10,"context_line":"but it was an incidental change not properly communicated without a clear"},{"line_number":11,"context_line":"deprecation notice."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Given now the scheduler manager is given to drivers a list of hosts that are"},{"line_number":14,"context_line":"able to accept resource requests supported by the placement service, I think it\u0027s"},{"line_number":15,"context_line":"acceptable to have custom drivers having a different behaviour if and only if"},{"line_number":16,"context_line":"the input list of hosts is consistent with our in-tree drivers (for interoperable"},{"line_number":17,"context_line":"concerns)."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I346881bc3bc48794b139cc471be1de11c49b8ee3"},{"line_number":20,"context_line":"Closes-Bug: #1704788"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f1a1f67_2b6331b4","line":17,"range":{"start_line":13,"start_character":0,"end_line":17,"end_character":10},"updated":"2017-07-18 14:49:47.000000000","message":"I\u0027m still unclear about what you think having a custom scheduler driver has to do with Placement integration really. There is a flag in the scheduler driver which allows telling the scheduler manager that it doesn\u0027t rely on placement so don\u0027t even worry about using GET /allocation_candidates, see the USES_ALLOCATION_CANDIDATES attribute.","commit_id":"d3cc2ed968469dccae31cb97312c6e57da01bec6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3097fb4c389c8e477f001e8c452832795595ab6f","unresolved":false,"context_lines":[{"line_number":10,"context_line":"but it was an incidental change not properly communicated without a clear"},{"line_number":11,"context_line":"deprecation notice."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Given now the scheduler manager is given to drivers a list of hosts that are"},{"line_number":14,"context_line":"able to accept resource requests supported by the placement service, I think it\u0027s"},{"line_number":15,"context_line":"acceptable to have custom drivers having a different behaviour if and only if"},{"line_number":16,"context_line":"the input list of hosts is consistent with our in-tree drivers (for interoperable"},{"line_number":17,"context_line":"concerns)."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I346881bc3bc48794b139cc471be1de11c49b8ee3"},{"line_number":20,"context_line":"Closes-Bug: #1704788"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1f1a1f67_ce0a8b1e","line":17,"range":{"start_line":13,"start_character":0,"end_line":17,"end_character":10},"in_reply_to":"1f1a1f67_2b6331b4","updated":"2017-07-18 15:03:20.000000000","message":"so if the custom driver has USES_ALLOCATION_CANDIDATES\u003dFalse\nthen it will not use placement and pass all host to driver?\n\nor is this a config option?","commit_id":"d3cc2ed968469dccae31cb97312c6e57da01bec6"}],"nova/conf/scheduler.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"831ffdf02fa03dd2dad4c9bc01f3b81083a6a061","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        default\u003d\"filter_scheduler\","},{"line_number":60,"context_line":"        choices\u003d(\"filter_scheduler\", \"caching_scheduler\","},{"line_number":61,"context_line":"                 \"chance_scheduler\", \"fake_scheduler\","},{"line_number":62,"context_line":"                 \"custom_scheduler\"),"},{"line_number":63,"context_line":"        deprecated_name\u003d\"scheduler_driver\","},{"line_number":64,"context_line":"        deprecated_group\u003d\"DEFAULT\","},{"line_number":65,"context_line":"        help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_2b17b1a6","line":62,"range":{"start_line":62,"start_character":18,"end_line":62,"end_character":34},"updated":"2017-07-18 14:49:47.000000000","message":"Don\u0027t we also want to immediately deprecate this so we can drop support for custom scheduler drivers in Queens?\n\nAlso, considering the backport to ocata, and someone upgrading to ocata, this isn\u0027t how things worked, so you still have to make a change in your config for this to work, which goes against our rolling upgrade process.\n\nSo I think we need to remove \"choices\" altogether and in here:\n\nhttps://github.com/openstack/nova/blob/62f4d6036264febd4a2afa8c652797d5e7a08af7/nova/scheduler/manager.py#L66\n\nWe compare the scheduler_driver against our whitelist of what are the current \"choices\" values for in-tree drivers, and if it\u0027s not in that list we log a deprecation warning saying the ability to plugin custom scheduler drivers is not supported and may be removed in a future release. Upstream your driver requirements and/or use custom filters/weighters.","commit_id":"d3cc2ed968469dccae31cb97312c6e57da01bec6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3097fb4c389c8e477f001e8c452832795595ab6f","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        default\u003d\"filter_scheduler\","},{"line_number":60,"context_line":"        choices\u003d(\"filter_scheduler\", \"caching_scheduler\","},{"line_number":61,"context_line":"                 \"chance_scheduler\", \"fake_scheduler\","},{"line_number":62,"context_line":"                 \"custom_scheduler\"),"},{"line_number":63,"context_line":"        deprecated_name\u003d\"scheduler_driver\","},{"line_number":64,"context_line":"        deprecated_group\u003d\"DEFAULT\","},{"line_number":65,"context_line":"        help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_4ee0bb26","line":62,"range":{"start_line":62,"start_character":18,"end_line":62,"end_character":34},"in_reply_to":"1f1a1f67_2b17b1a6","updated":"2017-07-18 15:03:20.000000000","message":"if you want to have a clean upgrade w would have to remove the choices field entirely yes.\n\ni dont know if oslo config allows you to condtionally check the choices field and then log a warning if not found.\n\nwe might be able to supply a custom validator for the field?\n\nkeeping the choices field and introducing custom_scheduler will require both a config change and a chence to the setup.cfg of the custom_scheduler driver to export it as custom_scheduler instead of whatever it uses today.","commit_id":"d3cc2ed968469dccae31cb97312c6e57da01bec6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ad083930965a2f15a69e3f5d0a9b5dd64c19ed99","unresolved":false,"context_lines":[{"line_number":65,"context_line":"The options are chosen from the entry points under the namespace"},{"line_number":66,"context_line":"\u0027nova.scheduler.driver\u0027 in \u0027setup.cfg\u0027."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Possible values:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"* A string, where the string corresponds to the entrypoint name of the"},{"line_number":71,"context_line":"  scheduler driver you want to use. You can add your own custom scheduler"},{"line_number":72,"context_line":"  driver by just adding a new entry point in setup.cfg and using it here."},{"line_number":73,"context_line":"\"\"\"),"},{"line_number":74,"context_line":"    cfg.IntOpt(\"periodic_task_interval\","},{"line_number":75,"context_line":"        default\u003d60,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_047b9627","line":72,"range":{"start_line":68,"start_character":0,"end_line":72,"end_character":73},"updated":"2017-07-19 17:18:33.000000000","message":"I actually prefer the wording from ocata:\n\nhttps://review.openstack.org/#/c/349666/16/nova/conf/scheduler.py@71\n\nWhich was actually wrong b/c of \u0027choices\u0027 but it\u0027s the correct wording for what we want here.","commit_id":"047738393a4f800203a065c6a718e106166e7404"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8b60f08be4ce0c03e3fe4abd622bade06edf8a00","unresolved":false,"context_lines":[{"line_number":80,"context_line":"** caching_scheduler"},{"line_number":81,"context_line":"** chance_scheduler"},{"line_number":82,"context_line":"** fake_scheduler"},{"line_number":83,"context_line":"* You may also set this to the class name of a custom scheduler driver, but you"},{"line_number":84,"context_line":"  will be responsible for creating and maintaining the entrypoint in your"},{"line_number":85,"context_line":"  setup.cfg file."},{"line_number":86,"context_line":"\"\"\"),"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff346bd7_6f2db8a6","line":83,"range":{"start_line":83,"start_character":31,"end_line":83,"end_character":41},"updated":"2017-07-28 15:12:44.000000000","message":"It\u0027s not a class name though, right? It\u0027s the entry point name, i.e. filter_scheduler is the entry point name:\n\nhttps://github.com/openstack/nova/blob/master/setup.cfg#L85\n\nFilterScheduler is the class name.","commit_id":"7289ee739d1a0806b84bbf0b9e4b59c93ba16fbc"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"c9e78196b58b0b0e0aac396b4e35517862cf0e63","unresolved":false,"context_lines":[{"line_number":59,"context_line":"** fake_scheduler"},{"line_number":60,"context_line":"* You may also set this to the entry point name of a custom scheduler driver,"},{"line_number":61,"context_line":"  but you will be responsible for creating and maintaining it in your setup.cfg"},{"line_number":62,"context_line":"  file."},{"line_number":63,"context_line":"\"\"\"),"},{"line_number":64,"context_line":"    cfg.IntOpt(\"periodic_task_interval\","},{"line_number":65,"context_line":"        default\u003d60,"}],"source_content_type":"text/x-python","patch_set":6,"id":"df3967d1_0aafb4e3","line":62,"updated":"2017-08-01 21:13:47.000000000","message":"yeah this makes more sense","commit_id":"1e5c7b52a403e708dba5a069dd86b628a4cb952c"}],"nova/tests/unit/scheduler/test_scheduler.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"afedada6b44c6251b1b4eaed172b456ec767c8e5","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        # The entry point has to be defined in setup.cfg and nova-scheduler has"},{"line_number":77,"context_line":"        # to be deployed again before using a custom value."},{"line_number":78,"context_line":"        self.assertRaises(RuntimeError, self.manager_cls)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"class SchedulerManagerTestCase(test.NoDBTestCase):"},{"line_number":81,"context_line":"    \"\"\"Test case for scheduler manager.\"\"\""},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"df3967d1_f2c5a63d","line":79,"updated":"2017-08-01 07:01:47.000000000","message":"Add one more blank line.","commit_id":"4de10cb27906ca460eb53a2aa56f1523c6ff8959"}],"releasenotes/notes/bug-1704788-490797827bae9142.yaml":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"5ec1312efcc34052dd8090635cf8cff59f4aac56","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fix the possibility to use custom scheduler driver by using other values"},{"line_number":4,"context_line":"    for the ``[scheduler]/driver`` config option than only the existing"},{"line_number":5,"context_line":"    entry points defined in setup.cfg"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ff346bd7_2862bb3f","line":5,"updated":"2017-07-24 10:48:02.000000000","message":"Correctly allow the use of a custom scheduler driver by using the name of\nthe custom driver in the ``[scheduler]/driver`` config option. You must also\nupdate the entry point in ``setup.cfg``.\n\nOr something like that.","commit_id":"7289ee739d1a0806b84bbf0b9e4b59c93ba16fbc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"14a0eabbf6d602d6981ec6c0a977439642ee49a7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Correctly allow the use of a custom scheduler driver by using the name of"},{"line_number":4,"context_line":"    the custom driver in the ``[scheduler]/driver`` config option. You must"},{"line_number":5,"context_line":"    also update the entry point in ``setup.cfg``."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"df3967d1_f197d28f","line":4,"range":{"start_line":4,"start_character":8,"end_line":4,"end_character":21},"updated":"2017-08-01 16:49:39.000000000","message":"custom driver entry point?\n\nIf my custom driver class name is MattsAwesomeSchedulerDriver, that won\u0027t be the entry point name, it would likely be something like matts_awesome_scheduler_driver.","commit_id":"53cb36b17a8b4004d55269e338be1972f057a8fd"}]}
