-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFE: hirtectl connection-status [NODE-NAME] #281
Comments
Hi Douglas, |
@mkemel The use case also includes to query the status for a specific node. How would you design the When looking at a similar issue #255 where we want to query the status of a service on a specific node, I am wondering if we can (kind of) unify the commands for # prints basically the status of the whole hirte system
# all nodes (as expected in hirte) and their status (online/offline)
hirtectl status
# prints the node status and info as proposed earlier
hirtectl status $node
# prints the unit status on the node
hirtectl status $node $unit What do you think? @dougsland @mkemel Edit: I'll add more comprehensive examples later. |
Correct me if I'm wrong, but I think that the moment agent disconnects - we don't have any info on it anymore. If we list nodes - all of them are online. Unless we list all the nodes in |
Other than that, I like the unification under |
For Feel free to adapt the name. Thanks for taking care of. |
Agreed. Offline is just fine. |
I'm not sure we need it. IMO just listing the connected nodes (i.e. online nodes) should be enough. |
hum, I would disagree. I am sure, soon or later, we will have opened cases or users complaining 'where my nodes' ? 'what the status of node xyz123?' To simplify and even reduce the "amount of data generated and time" --online, --active, --all should be our friends IMHO. |
Another example for the offline nodes be in the list, include the last stderr error "know" from the pooling status (if possible) so easy to adms to identify what's wrong and how to fix it.
|
@mkemel make sense? Not sure if that was a good example because we might not able to capture the stderr in such scenario but for sure "unable to connect", "unreachable", "unknown host", "last seen 1 hour ago" might fit. |
I agree with @dougsland. As you said @mkemel, Hirte has a list of expected nodes and when listing all nodes, I'd also expect all of them to be there - otherwise I'd first check the Hirte configuration "maybe I didn't add them?".
Yes, adding filter is a pretty nice (additional) feature. I'd focus first on getting the basic one done, then adding those is simple :)
In hirte we have the cental unit (controller or simple "hirte") and the controlled nodes ("agents"). We decided that it is more robust that the agents connect to the controller - and not the other way around. And since |
So, I was thinking that this could be the output of those 3 commands: # hirtectl status
Hirte Controller: 10.0.2.1:8420
NODE STATUS LAST SEEN IP
laptop online now 10.0.2.2
pi offline 1 day ago
# hirtectl status laptop
NODE STATUS LAST SEEN IP
laptop online now 10.0.2.2
# hirtectl status laptop simple.service
UNIT LOADED ACTIVE SUBSTATE ENABLED
simple.service loaded inactive dead yes What do you think? @dougsland @mkemel Edit: Just saw #291 and its pretty much the same as the |
@engelmi Good point |
Also good point. |
I like @engelmi output. although I would also add either a --format or a --json output to make it machine readable.
|
+1 For @engelmi output, looks like we have a winner 💯 |
@engelmi sure thing. Let's make your output status |
@engelmi can we make sure we display:
Thanks! |
Ok lets go with hirte nodes ... |
Any progress on this? I opened containers/qm#104 by mistake on the wrong repo but was looking for what's being discussed here, a list of known nodes. |
@sandrobonazzola Issue #324 is kind of a blocking issue for further extending |
How would we change the requirement in this issue given #695 ? |
#695 Shouldn't impact this issue as The |
Please describe what you would like to see
Show current node information and connection status, example if it's able to send systemd commands to another node (or not).
Example, feel free to change/adapt output:
If
param
is provided,assume it's a node name
to check if it's able to communicate and send systemd commands remotely.Please describe your use case
Start in parallel a hirte server and hirte agent with 2 containers (in background) and try to send a command it might fail as the hirte server is not ready communicating with agent:
Example, execute in PARALLEL:
set hirte server and agent
set a hirte agent
podman exec control-container hirtectl list-units
It might fail as the servers are not communicating yet. We need a way to
pool and see if hirte is ready to receive commands like list-units
.The text was updated successfully, but these errors were encountered: