Maintenance mode

Product: PowerShell Universal
Version: 1.4.6

How does maintenance mode work?

Maintenance Mode

You can set your nodes into Maintenance Mode by clicking Platform \ Computers and checking the maintenance mode option. Once maintenance mode is enabled, the /api/v1/status endpoint will begin returning 503 . This should be configured to disable traffic being routed to the node while maintenance is performed.

I have two nodes talking to the same sql instance and i set one of the nodes Maintenance mode to true. So I executed an script on any computer I would assume that the job would pick the machine that isnt in maintenance mode.

Also I have to refresh the page after clicking the toggle.

The only thing maintenance mode currently does is change that status. The idea was more for load balancers to understand that the node was down for maintenance and not to send users to it.

We certainly should enhance this to prevent it from running jobs as well.

That was my understanding of it at least. Any idea on a timeframe for something like this?

It seems like a relatively small change so I’ll see if we can get it in the 3.8 release.

2 Likes

Is this still on the roadmap for 3.8?

Yep.

1 Like

image

@adam - Is this coming later still? It has been holding us back from moving forward with multiple nodes.

We are still looking at this. The “relatively small” change was not the correct assumption and have had a heck of time getting hangfire to behave correctly when removing nodes dynamically while the service is running.

Is there a way we could dynamically handle this until you guys get a fix for Computer Maintenance Mode Should Stop Instance from Running Jobs · Issue #2024 · ironmansoftware/issues · GitHub ?

Maybe using “ComputerName”?

image

Maybe using the Get-PSUComputer cmdlet to view which node is not in maintenance mode and use that node?