{"push_id":1207414978,"size":3,"distinct_size":3,"ref":"refs/heads/relocate_to_unused","head":"9fe1b6eb5426534923b3710f8bcdde5788489ae5","before":"ddedf9d6ad5eb7b2ab961410b677e2dfcf8e1e12","commits":[{"sha":"98d0e63920fbaa4714da01eaa70fad50335364fa","author":{"name":"Thomas Lamprecht","email":"10b842994f9be700df787dce98c6801f425e2efd@proxmox.com"},"message":"cleanup manager status on start\n\nCleanup the manager state in a general way if we get promoted to\nmanager. This safes us code as instead of having to check all\ndeprecated entries and delete them, each one extra, we just safe the\nstate part needed to change master without loosing any result of the\nmanager status and just delete the rest.\nThis would include the following keys:\n* service status: as it may contain unprocessed results\n* manager_node: this is set only once before this cleanup so do not\n  delete it.","distinct":true,"url":"https://api.github.com/repos/GamerSource/pve-ha-manager/commits/98d0e63920fbaa4714da01eaa70fad50335364fa"},{"sha":"1876c0eba2421a815c452d8f9bb9a3f7df03f4e9","author":{"name":"Thomas Lamprecht","email":"10b842994f9be700df787dce98c6801f425e2efd@proxmox.com"},"message":"Manager: record tried node on relocation policy\n\nInstead of counting up an integer on each failed start trial, record\nthe already tried nodes. We can then use the size of the trial\nrecord array as 'try count' and achieve so the same behaviour as with\nthe 'relocate_trial' hash earlier.\n\nLog the tried nodes after the service started or if it could not be\nstarted at all, so an admin can follow the behaviour and investigate\nthe reason of the failure on a specific node.\n\nThis prepares us also for a more intelligent recovery node selection,\nas we can skip already tried nodes from the current recovery cycle.\n\n!! TODO reword to current code !!","distinct":true,"url":"https://api.github.com/repos/GamerSource/pve-ha-manager/commits/1876c0eba2421a815c452d8f9bb9a3f7df03f4e9"},{"sha":"9fe1b6eb5426534923b3710f8bcdde5788489ae5","author":{"name":"Thomas Lamprecht","email":"10b842994f9be700df787dce98c6801f425e2efd@proxmox.com"},"message":"relocate policy: try to avoid already failed nodes\n\nIf the failure policy triggers more often than 2 times we used an\nalready tried node again, even if there where other untried nodes,\nwe then cycled between those two nodes, if the active service count\ndid not change.\n\nThis does not make real sense as when it failed to start on a node\na short time ago it probably will also fail now (e.g. storage is\noffline), whereas an untried node may have the chance to be fully\nable to start the service, which is our goal.\n\nFix that by excluding those already tried nodes from the top\npriority node list in 'select_service_node' if there are other\npossible nodes to try. If there isn't any left we delete the\nlast tried one, so that the service tries another one even if it was\nalready tried (we want to fulfill the relocation policy after all).\nThis is not ideal but our default relocation try value is set to 1,\nso that would only happen if a user set it explicitly to an high(er)\nvalue.\n\nselect_service_node gets called in two places:\n* next_state_started: there we want to use this behaviour\n* recover_fenced service: there the try_next is always false\n  as we just want to select a node to recover, if a relocation\n  policy is then needed it is the duty for next_state_started\n  to do so.\nSo we are safe to do this witouth changing behaviour execpt the one\ndescribed above.\n\nIf all tries fail we place the service in the error state, the\ntried nodes entry gets cleanup after an user triggers an error\nrecovery by disabeling the service, so the information of the tried\nnodes stays in the manager status until then.","distinct":true,"url":"https://api.github.com/repos/GamerSource/pve-ha-manager/commits/9fe1b6eb5426534923b3710f8bcdde5788489ae5"}]}
{"actor":{"display_login":"GamerSource"}}