chef-boneyard / chef-push

Chef Push Jobs Issues, Bugs and Open Source Charter
Apache License 2.0
8 stars 2 forks source link

knife node status and the result is undefined #5

Open ghost opened 9 years ago

ghost commented 9 years ago

hello. i'm starting to use chef pushy and find out strange one.

  1. you add a target node and enable push
  2. use push
  3. knife delete the target node
  4. format the target node
  5. knife node status and the result has undefined nodes.

and what is the more serious problem is that when the node is added to the chef12 server, then, it never be change to the available status.

please check this and fix this. thank you

markan commented 9 years ago

Thank you for reporting this issue.

You are seeing this issue because right now we don't have a convenient way for the chef server to notify the push server when the node goes or added; they are overall pretty loosely coupled. I've thought of having the push server poll the chef server to detect such changes, but haven't gotten to that.

It would be pretty easy to update when nodes go away. I can add a check to the code that determines a node dead because of lack of heartbeating. I'll look at adding that after push 2.0 is out.

Detecting new nodes would a little bit more difficult both semantically and from a scalability standpoint.

1) Not all nodes in an organization may be intended to run push; should we clutter the status display with nodes that will never have a status? 2) The simple implementation would do a node list on the chef server and use that to filter the output. That's not a particularly cheap call, but could be done. The status call is cheap on the push server side because that information is in RAM, but the server side is a bit more expensive. I want this to work well on installations with 10-20k nodes, so this would need some careful testing first.

It would be nicer if there was a way to discover just the nodes that have been created recently, but that would require chef-server API changes.

ghost commented 9 years ago

@manderson26 thank you for your consideration. I'm an active chef user and chef is really great most of time, but I pretty shocked when i found out that chef itself is deeply broken at the point of view for clustering.

please consider improving push function with cluster management like consul or masos. thank you.

robertchoi80 commented 9 years ago

I'm also waiting for this improvement. If the automatic syncronization is not trivial (so it takes time), then at least there should be some way by which we can clean up the node status on the push-server side manually. (For example, by providing a new push API like "node_delete".) By the way, how soon do you expect the push v2.0 is out?

docwho76 commented 7 years ago

Is this ever going to happen? If not, is there some way we can clear these undefined nodes? Or is it not really necessary?

jekriske-lilly commented 5 years ago

It's definitely necessary because Workflow in Chef Automate will fail at pushing jobs out if a node is listed as undefined.