Uh oh!
There was an error while loading. Please reload this page.
kvm: Handle storage issue on NFS/KVM in multiple ways - #4708
Conversation
weizhouapache
commented
Feb 18, 2021
yadvr
commented
May 25, 2021
@blueorangutan package |
blueorangutan
commented
May 25, 2021
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
blueorangutan
commented
May 25, 2021
Packaging result: ✔️ centos7 ✔️ centos8 ✔️ debian. SL-JID 91 |
GabrielBrascher
commented
May 25, 2021
@ustcweizhou thanks for the PR. From what I understood (really quick glance of eyes) this avoid also situations of HA monitor a removed NFS storage. Am I right? I have seen some weird issues where a Cluster that had NFS and removes it (standard storage removal process |
nvazquez
commented
Jun 23, 2021
Hi @ustcweizhou can you please resolve the conflicts? |
DaanHoogland
left a comment
There was a problem hiding this comment.
I wonder about the use of Thread directly, @weizhouapache. Any particular reason?
| Set<String> removedPools = new HashSet<String>(); | ||
| for (String uuid : _storagePool.keySet()) { | ||
| NfsStoragePool primaryStoragePool = _storagePool.get(uuid); | ||
| protected class CheckPoolThread extends Thread { |
There was a problem hiding this comment.
why not make this a ManagemedContextRunnable as well?
There was a problem hiding this comment.
ManagedContextRunnable and Thread are both implemetation of Runnable interface.
Thread works in testing.
ManagedContextRunnable should also be ok. The following might work as well
protected class CheckPoolThread implements Runnable {
yadvr
commented
Sep 14, 2021
Ping @weizhouapache can you fix the conflicts, is this essential for 4.16? |
| _monitorExecutor = new ScheduledThreadPoolExecutor(1, new NamedThreadFactory("AgentMonitor")); | ||
| _scanHostsExecutor = new ScheduledThreadPoolExecutor(1, new NamedThreadFactory("HostsScanner")); | ||
| _investigatorExecutor = new ScheduledThreadPoolExecutor(InvestigateDisconnectedHostsPoolSize.value(), new NamedThreadFactory("DisconnectHostsInvestigator")); |
There was a problem hiding this comment.
| _investigatorExecutor = newScheduledThreadPoolExecutor(InvestigateDisconnectedHostsPoolSize.value(), newNamedThreadFactory("DisconnectHostsInvestigator")); | |
| _investigatorExecutor = newScheduledThreadPoolExecutor(InvestigateDisconnectedHostsPoolSize.value(), newNamedThreadFactory("DisconnectedHostsInvestigator")); |
| _connectExecutor.shutdownNow(); | ||
| _monitorExecutor.shutdownNow(); | ||
| _investigatorExecutor.shutdownNow(); | ||
There was a problem hiding this comment.
_scanHostsExecutor.shutdownNow() missing
| protected final ConfigKey<Integer> InvestigateDisconnectedHostsInterval = new ConfigKey<>("Advanced", Integer.class, "investigate.disconnected.hosts.interval", | ||
| "300", "The time (in seconds) between VM investigation on disconnected hosts.", false); | ||
| protected final ConfigKey<Integer> InvestigateDisconnectedHostsPoolSize = new ConfigKey<Integer>("Advanced", Integer.class, "investigate.disconnected.hosts.pool.size", "10", | ||
| "Default pool size to investigate disconnected hosts", false); |
There was a problem hiding this comment.
| "Default pool size to investigate disconnected hosts", false); | |
| "The thread pool size to investigate disconnected hosts", false); |
sureshanaparti
commented
Sep 16, 2021
@weizhouapache can you address outstanding remarks, and fix the conflicts. |
weizhouapache
commented
Sep 16, 2021
@rhtyd @sureshanaparti |
soreana
commented
Sep 16, 2021
@weizhouapache I'm agree 👍 |
soreana
commented
Dec 1, 2021
@weizhouapache I hope you are doing well :) |
weizhouapache
commented
Dec 1, 2021
@soreana |
soreana
commented
Dec 1, 2021
Some test cases to see if it works or not would be enough. |
weizhouapache
commented
Dec 1, 2021
@soreana |
ravening
commented
Dec 16, 2021
@weizhouapache I created a new pr for this in #5783 |
sureshanaparti
commented
Dec 16, 2021
@weizhouapache@ravening is this PR no longer relevant (as the changes are ported to #5783)? |
ravening
commented
Dec 16, 2021
@sureshanaparti yes. this has conflicts.. i have resolved the conflicts and created new pr |
Description
This PR provides multiple options to handle storage issue on kvm.
FS: to be added
Two main parts
(1) kvm: Handle storage issue on NFS/KVM in multiple ways : hardreset (default), noaction, destroyvms, stopagent
(2) kvm: kvm: Schedule investigate tasks for disconnected hosts
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?