I'm trying to write a script to check a bunch of things. One of them is if UCCX master / slave are correct.
If I do
utils service list
I see at the bottom
Primary node = true (or false)
But I'm looking for Master / Slave designation, not 'primary node'.
I've seen something in the wallboard that's a URL like
However it's far better if this is a command line thing -- I can type it into my list, and I'm done.
If there is no direct command in the CLI to do this, would there be a way to do it with a SQL query?
I actually don't know the answer to this question, but I think I might have a creative workaround. So, the master has a node ID, and if you simply look at the last call to be processed, the node ID of that last call, should be the current master. Though, it is possible that a failover event has occurred between the last phone call, and when you check it. However, this might be a very narrow case.
run uccx sql db_cra select limit 1 nodeid from contactcalldetail order by startdatetime desc
That is a pretty clever solution and definite progress. After a reboot I'd have to make sure to make a phone call to the right number, and probably have an agent logged in then, I guess, right? Would there be any way to 'make a call' from the command line?
Another consideration, you have located the Node ID in the SQL (NICE FIND!), ..... how could we figure out how "isDBMaster" gets populated; or where the master/slave M and S on the serviceability page are coming from, in SQL. That would have to be in the database too, wouldn't it?
You cannot create a call from UCCX CLI.
I'm not so sure it's stored in the DB, since it's state and not configuration.
You can try checking the Master/Slave status from the Browser using this URL
In the XML Output, look for the "dbMaster" field - if thats "True" then its Master in my opinion.
I put my UCCX IP in place of "uccx.cisco.com:9443". Is that correct?
I'm not getting anything.
HTTP Status 404 - /engineconfig/systeminfo type: Status report message: /engineconfig/systeminfo description: The requested resource is not available.
Is this supposed to give me a result similar to this link ".../uccx/isDBMaster" link?
Maybe there is an API that will tell you if your CCX is Master or Slave. You could run that from the command line.
Anthony's answer would be a brilliant solution, except you have to wait for a call to happen first. Great for daily status checking, but not for reboots.