)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a9c10fa0bd1940caf97e3e890e510862c23de53e","unresolved":true,"context_lines":[{"line_number":20,"context_line":"weight_classes \u003d nova.scheduler.weights.compute_created.ComputeCreatedWeigher"},{"line_number":21,"context_line":"```"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Implements: blueprint node-uptime-weigher"},{"line_number":24,"context_line":"Change-Id: Ib624e207c293ca9925d4e4c7cf18cc5d25b053e3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"137fef4b_12d286d0","line":23,"updated":"2025-06-24 11:57:59.000000000","message":"you shoudl not use the \"uptime\" form the hypervior api/compute node\n\nwe may remove the in the future so i woudl prefer to aovid addign more techinial debt by relying on it for any new funcitonaltiy.\n\nthis blueprint is not approved so you will need ot assk for approval in the nova irc meeting.\n\nthe deadline for bluepirnt and spec approvals is july 3rd so you only have todays meeting and next weeks to ask for this to be considerd for this cycle.\n\noterwwise it will be procedurl -2\u0027d until the 2026.1 cycle opens for new code after 2025.2 rc1 is released.","commit_id":"475b617a2983185b24bedc9b1a41225d0857cc76"},{"author":{"_account_id":35111,"name":"Johannes Beisiegel","display_name":"jonnyb","email":"johannes.beisiegel@digits.schwarz","username":"jbe","status":"STACKIT"},"change_message_id":"f8adacfcd86f904145d00d56ac48fc5544dcc2ce","unresolved":true,"context_lines":[{"line_number":20,"context_line":"weight_classes \u003d nova.scheduler.weights.compute_created.ComputeCreatedWeigher"},{"line_number":21,"context_line":"```"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Implements: blueprint node-uptime-weigher"},{"line_number":24,"context_line":"Change-Id: Ib624e207c293ca9925d4e4c7cf18cc5d25b053e3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"4be0d53c_4dd4fc5e","line":23,"in_reply_to":"137fef4b_12d286d0","updated":"2025-06-26 06:11:50.000000000","message":"\"uptime\"was the inital idea but it turned out its hard to track for the scheduler","commit_id":"475b617a2983185b24bedc9b1a41225d0857cc76"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a9c10fa0bd1940caf97e3e890e510862c23de53e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c809174e_d511aba2","updated":"2025-06-24 11:57:59.000000000","message":"the -1 is mainly for the lack of an approved blueprint so this canot prgress on paperwork grounds until that is resolved.\n\nthis is the first tim e i have heard fo this feature request so it woudl eb good to bring this up an this weeks irc meeting ot next weeks as those are the only 2 meetings left before the bluepritn approval deadline.\n\nnote i have skim the code but not the tests in any detail but over all the approch looks ok. you will need to extned the schduler docs to document your new weigher and its behavior as well.","commit_id":"475b617a2983185b24bedc9b1a41225d0857cc76"}],"nova/scheduler/weights/compute_created.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a9c10fa0bd1940caf97e3e890e510862c23de53e","unresolved":true,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":37,"context_line":"        \"\"\"Higher weights win. We want newer dates first.\"\"\""},{"line_number":38,"context_line":"        # convert datetime into unix-time"},{"line_number":39,"context_line":"        host_created \u003d host_state.service[\"created_at\"]"},{"line_number":40,"context_line":"        return int(time.mktime(host_created.timetuple()))"}],"source_content_type":"text/x-python","patch_set":8,"id":"465f796a_c80073e5","line":38,"updated":"2025-06-24 11:57:59.000000000","message":"this should early out and return 0 if the compute_created_weight_multiplier is 0","commit_id":"475b617a2983185b24bedc9b1a41225d0857cc76"},{"author":{"_account_id":35111,"name":"Johannes Beisiegel","display_name":"jonnyb","email":"johannes.beisiegel@digits.schwarz","username":"jbe","status":"STACKIT"},"change_message_id":"f8adacfcd86f904145d00d56ac48fc5544dcc2ce","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":37,"context_line":"        \"\"\"Higher weights win. We want newer dates first.\"\"\""},{"line_number":38,"context_line":"        # convert datetime into unix-time"},{"line_number":39,"context_line":"        host_created \u003d host_state.service[\"created_at\"]"},{"line_number":40,"context_line":"        return int(time.mktime(host_created.timetuple()))"}],"source_content_type":"text/x-python","patch_set":8,"id":"1e647be1_874c6d1d","line":38,"in_reply_to":"465f796a_c80073e5","updated":"2025-06-26 06:11:50.000000000","message":"Done","commit_id":"475b617a2983185b24bedc9b1a41225d0857cc76"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a9c10fa0bd1940caf97e3e890e510862c23de53e","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":37,"context_line":"        \"\"\"Higher weights win. We want newer dates first.\"\"\""},{"line_number":38,"context_line":"        # convert datetime into unix-time"},{"line_number":39,"context_line":"        host_created \u003d host_state.service[\"created_at\"]"},{"line_number":40,"context_line":"        return int(time.mktime(host_created.timetuple()))"}],"source_content_type":"text/x-python","patch_set":8,"id":"75888314_057d1f13","line":39,"updated":"2025-06-24 11:57:59.000000000","message":"ok so your not actully using the uptime your usign the recateded time\n\nwe probaly shoudl rename the blueprint to make that distinction\n\nthe uptime (the thng we may remvoe in the future) it the time since the host last rebooted and it need an rpc call to retirve so it does not scale well.\n\nusing created at is fine.\n\nSo your proposal is basically convert that to a Unix timestamp and then sort by that ok, that probably an ok enhancement to make.\nits also in line with the hypervior version weigher which aslo prefers host with a newer verison of qemu/libivrt ectra.","commit_id":"475b617a2983185b24bedc9b1a41225d0857cc76"},{"author":{"_account_id":35111,"name":"Johannes Beisiegel","display_name":"jonnyb","email":"johannes.beisiegel@digits.schwarz","username":"jbe","status":"STACKIT"},"change_message_id":"f8adacfcd86f904145d00d56ac48fc5544dcc2ce","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":37,"context_line":"        \"\"\"Higher weights win. We want newer dates first.\"\"\""},{"line_number":38,"context_line":"        # convert datetime into unix-time"},{"line_number":39,"context_line":"        host_created \u003d host_state.service[\"created_at\"]"},{"line_number":40,"context_line":"        return int(time.mktime(host_created.timetuple()))"}],"source_content_type":"text/x-python","patch_set":8,"id":"d7a8ceeb_912d9b98","line":39,"in_reply_to":"75888314_057d1f13","updated":"2025-06-26 06:11:50.000000000","message":"the first Idea was to use uptime but it is too dependend on hypervisor and its driver and also would need a schema update (if tracked in db) or rpc call for each schedule request. created_at however should be good enough for mose use cases.","commit_id":"475b617a2983185b24bedc9b1a41225d0857cc76"}]}
