About redundancy

Hi!

I tried the redundancy to see how it works with a dummy project, when the client loses the communication with the master ( the master is down) I have to restart the client so it connects to the slave.
Is it possible to do this automatically, so the clients don’t have to restart to see all the data, it does automatically when the master is up again, the client reconnect to the master.

Best regards

It sounds like you have both set up as masters. Be sure to set up your backup gateway as the backup and your master as the master in their respective gateway configuration.

The only other configurations are to set up the backup node address in the master and whether or not you want the master to automatically take back over once it comes back online.

Good luck!

Walker

Nope, one is as Master and the other as backup Cold.
Both has the same ip address in the field Master Node Address.

When i chen the status i see that the both Ignition are connected one as master and the other as Backup. the clients connection shows just in the master, if i turn off the master the backsup shows 0 client connected, so i have to restart the clients

Under redundancy, enter each servers IP addresses on there respective hosts. You will have to disable the auto addressing scheme. Redundancy is about the only thing that is server specific. Please post a snap shot of each redundancy page please.

I have attached files from the configuration page and from what i see at the satus page of both Ignition and the clients when the Master is connected and when the backup is connected. All work if I click on the configuration page Force a fail-over backup, but if i stopp the Master server or if i shut down the server then it doesn’t connect to the backup. The weird think is that it worked today two times, then i restart the client without changing something in the configuration or in the designer and it stoped working










this is what the console shows:

eryStatus(AbstractAlarmUtilities.java:61)

                         at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)

                         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                         at java.lang.reflect.Method.invoke(Unknown Source)

com.inductiveautomation.ignition.client.gateway_interface.GatewayException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Post Error, error code = 503

                         at org.python.core.Py.JavaError(Py.java:495)
                         at com.inductiveautomation.ignition.common.script.builtin.AbstractAlarmUtilities.queryStatus(AbstractAlarmUtilities.java:63)
                         at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
                         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                         at java.lang.reflect.Method.invoke(Unknown Source)
                         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186)
                         at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction.__call__(ScriptManager.java:406)
                         at org.python.core.PyObject.__call__(PyObject.java:320)
                         at org.python.pycode._pyx0.f$0(<expression:runScript>:1)
                         at org.python.pycode._pyx0.call_function(<expression:runScript>)
                         at org.python.core.PyTableCode.call(PyTableCode.java:165)
                         at org.python.core.PyCode.call(PyCode.java:18)
                         at org.python.core.Py.runCode(Py.java:1275)
                         at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:551)
                         ... 26 more

Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Post Error, error code = 503
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:326)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:322)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:410)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:262)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:257)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:803)
at com.inductiveautomation.factorypmi.application.script.builtin.ClientAlarmUtilities.queryStatusImpl(ClientAlarmUtilities.java:40)
at com.inductiveautomation.ignition.common.script.builtin.AbstractAlarmUtilities.queryStatus(AbstractAlarmUtilities.java:61)
… 38 more
WARN [ExpressionPropertyAdapter-AWT-EventQueue-2] Error executing expression binding on
Alarm Count Label.Alarm Count Label.count
java.lang.Exception: Error executing expression binding on
Alarm Count Label.Alarm Count Label.count
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.runExpression(ExpressionPropertyAdapter.java:82)
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.childInteractionUpdated(ExpressionPropertyAdapter.java:50)
at com.inductiveautomation.ignition.common.expressions.functions.AbstractPollingFunction.actionPerformed(AbstractPollingFunction.java:80)
at javax.swing.Timer.fireActionPerformed(Unknown Source)
at javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.common.expressions.ExpressionException: Error executing script for runScript() expression:len(system.alarm.queryStatus(state=[“ActiveUnacked”,“ActiveAcked”]))
at com.inductiveautomation.ignition.common.expressions.functions.ScriptFunction.execute(ScriptFunction.java:62)
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.execute(FunctionExpression.java:69)
at com.inductiveautomation.ignition.common.expressions.DefaultFunctionFactory$CastFunction.execute(DefaultFunctionFactory.java:1468)
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.execute(FunctionExpression.java:69)
at com.inductiveautomation.ignition.common.expressions.DefaultFunctionFactory$IfFunction.execute(DefaultFunctionFactory.java:1393)
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.execute(FunctionExpression.java:69)
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.runExpression(ExpressionPropertyAdapter.java:73)
… 18 more
Caused by: Traceback (most recent call last):
File “expression:runScript”, line 1, in
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:326)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:322)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:410)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:262)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:257)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:803)

                         at com.inductiveautomation.factorypmi.application.script.builtin.ClientAlarmUtilities.queryStatusImpl(ClientAlarmUtilities.java:40)

                         at com.inductiveautomation.ignition.common.script.builtin.AbstractAlarmUtilities.queryStatus(AbstractAlarmUtilities.java:61)

                         at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)

                         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                         at java.lang.reflect.Method.invoke(Unknown Source)

com.inductiveautomation.ignition.client.gateway_interface.GatewayException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Post Error, error code = 503

                         at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:554)
                         at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:544)
                         at com.inductiveautomation.ignition.common.expressions.functions.ScriptFunction.execute(ScriptFunction.java:59)
                         ... 24 more

Caused by: Traceback (most recent call last):
File “expression:runScript”, line 1, in
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:326)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:322)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:410)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:262)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:257)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:803)

                         at com.inductiveautomation.factorypmi.application.script.builtin.ClientAlarmUtilities.queryStatusImpl(ClientAlarmUtilities.java:40)

                         at com.inductiveautomation.ignition.common.script.builtin.AbstractAlarmUtilities.queryStatus(AbstractAlarmUtilities.java:61)

                         at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)

                         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                         at java.lang.reflect.Method.invoke(Unknown Source)

com.inductiveautomation.ignition.client.gateway_interface.GatewayException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Post Error, error code = 503

                         at org.python.core.Py.JavaError(Py.java:495)
                         at com.inductiveautomation.ignition.common.script.builtin.AbstractAlarmUtilities.queryStatus(AbstractAlarmUtilities.java:63)
                         at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
                         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                         at java.lang.reflect.Method.invoke(Unknown Source)
                         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186)
                         at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction.__call__(ScriptManager.java:406)
                         at org.python.core.PyObject.__call__(PyObject.java:320)
                         at org.python.pycode._pyx0.f$0(<expression:runScript>:1)
                         at org.python.pycode._pyx0.call_function(<expression:runScript>)
                         at org.python.core.PyTableCode.call(PyTableCode.java:165)
                         at org.python.core.PyCode.call(PyCode.java:18)
                         at org.python.core.Py.runCode(Py.java:1275)
                         at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:551)
                         ... 26 more

Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Post Error, error code = 503
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:326)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:322)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:410)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:262)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:257)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:803)
at com.inductiveautomation.factorypmi.application.script.builtin.ClientAlarmUtilities.queryStatusImpl(ClientAlarmUtilities.java:40)
at com.inductiveautomation.ignition.common.script.builtin.AbstractAlarmUtilities.queryStatus(AbstractAlarmUtilities.java:61)
… 38 more
WARN [ExpressionPropertyAdapter-AWT-EventQueue-2] Error executing expression binding on
Alarm Count Label.Alarm Count Label.count
java.lang.Exception: Error executing expression binding on
Alarm Count Label.Alarm Count Label.count
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.runExpression(ExpressionPropertyAdapter.java:82)
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.childInteractionUpdated(ExpressionPropertyAdapter.java:50)
at com.inductiveautomation.ignition.common.expressions.functions.AbstractPollingFunction.actionPerformed(AbstractPollingFunction.java:80)
at javax.swing.Timer.fireActionPerformed(Unknown Source)
at javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.common.expressions.ExpressionException: Error executing script for runScript() expression:len(system.alarm.queryStatus(state=[“ActiveUnacked”,“ActiveAcked”]))
at com.inductiveautomation.ignition.common.expressions.functions.ScriptFunction.execute(ScriptFunction.java:62)
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.execute(FunctionExpression.java:69)
at com.inductiveautomation.ignition.common.expressions.DefaultFunctionFactory$CastFunction.execute(DefaultFunctionFactory.java:1468)
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.execute(FunctionExpression.java:69)
at com.inductiveautomation.ignition.common.expressions.DefaultFunctionFactory$IfFunction.execute(DefaultFunctionFactory.java:1393)
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.execute(FunctionExpression.java:69)
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.runExpression(ExpressionPropertyAdapter.java:73)
… 18 more
Caused by: Traceback (most recent call last):
File “expression:runScript”, line 1, in
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:326)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:322)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:410)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:262)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:257)

                         at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:803)

                         at com.inductiveautomation.factorypmi.application.script.builtin.ClientAlarmUtilities.queryStatusImpl(ClientAlarmUtilities.java:40)

                         at com.inductiveautomation.ignition.common.script.builtin.AbstractAlarmUtilities.queryStatus(AbstractAlarmUtilities.java:61)

                         at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)

                         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                         at java.lang.reflect.Method.invoke(Unknown Source)

com.inductiveautomation.ignition.client.gateway_interface.GatewayException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Post Error, error code = 503

like kyle said, you need to uncheck “autodetect http address” and then add entries for both of your server ip addresses or domain names along with the correct http and https port numbers in the spot right below.

I tried as you can see in the attached but, i get the same problem/error
I did it in both servers (master and backup)