chocolatey / chocolatey-licensed-issues

Issues for Licensed Editions of Chocolatey
19 stars 13 forks source link

Deployment queue for offline agents #304

Open alomanto opened 2 years ago

alomanto commented 2 years ago

Is Your Feature Request Related To A Problem? Please describe.

After our organization started to use C4B, we noticed that machines that were offline when we started a deployment were not receiving that deployment when they came back online.

After speaking with Support, they advised that:

"In the example you've provided if the machine/agent is not on or the agent service running to check for a deployment in CCM during your defined service period the deployment will not run on the machine at all. If the agent does start the deployment and run into the execution timeout. The deployment will stop on the current deployment step and error out with an execution timeout warning in the log. Sadly because of the one way communication path we have between the agent and CCM we are unable to do a wake on LAN from CCM type of request to help with this."

Describe The Solution. Why is it needed?

Our company has mostly remote users with workstations that may or may not be online all day. If we start a deployment, we need to ensure some way that every machine eventually receives it, similar to how a remote management tool like Connectwise (which has an actively connected agent) does.

Additional Context.

Ideally, the Chocolatey agent would be modified in such a way where the admins can configure a separate 'offline' timeout parameter, per deployment, how long to try running the deployment on offline machines. If it reaches that threshold, mark the deployment as "Partially Failed" and report which were unavailable due to the machine being offline or not.

Related Issues

Zendesk ticket

┆Issue is synchronized with this Gitlab issue by Unito

ryanrichter94 commented 1 year ago

Hi @alomanto. Don't think this completely achieves what you are requesting in this issue. However if you set within a deployment step's advanced filters a contact timeout. You can then get an unreachable status from the computers that were not able to receive the deployment from Chocolatey Central Management(CCM) due to being turned off/offline.

By default the machine contact value for a deployment step is set to 0 or infinite. Meaning the next time a machine checks in to CCM, it will begin the deployment and go to active status.

Because of this, if the deployment step has the default timeout of 0. And the machine is offline. The deployment step will report as ready. As it was never able to be picked up by the offline machine and report as active.

Know this doesn't address the ask for a wake on LAN transmission type addition to the agent. But hopefully provides some context on how the agent communication currently works and settings it allows currently.