Script execution error
-
Hi,
I have a script execution error since upgrading to 3.8-366. Is it a problem with the script?
Script (Hook::ConfigurationPoll) execution error: Error 14 in line 2: Function or operation argument is not an object
// remove dynamic interfaces on Mikrotik, e.g. VPN users if ($node->driver == "MIKROTIK") { intArray = GetNodeInterfaces($node); foreach (int : intArray) { // if the interface is dynamic if ((left(int->name, 1) == "<") && (right(int->name, 1) == ">")) { // delete the interface DeleteObject(int); } } }Thanks in advance.
-
The code is correct for nodes. But configuration poll could happen for other objects, e.g. clusters. In that case there is $object variable, but $node is not available.
You can change the 2-nd line to:if (classof($object) == "Node" && $node->driver == "MIKROTIK") -
Thanks, that looks to have sorted it. Strange that script has been running for a year and only broke after the last update.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login