[Anthill-pro] Problem with Filter Agent script execution
Uldis Karlovs-Karlovskis
uldisk at ctco.lv
Mon Jan 7 07:41:54 CST 2008
False alarm! Sorry to everyone!
It was misconfiguration in firewall. My server has many IP's and agents. For
start it was chosen IPs which has access and then switched to IPs who
doesn't.
Uldis Karlovs-Karlovskis, C. T. Co
uldis.karlovs-karlovskis at ctco.lv
-----Original Message-----
From: anthill-pro-bounces at lists.urbancode.com
[mailto:anthill-pro-bounces at lists.urbancode.com] On Behalf Of Uldis
Karlovs-Karlovskis
Sent: pirmdiena, 2008. gada 7. janvārī 10:09
To: 'AnthillPro user and support list.'
Subject: [Anthill-pro] Problem with Filter Agent script execution
Hello!
I have unexpected issue with my Agent Filter script. All the time my scripts
were working fine and then on last Friday anthill started to throw error:
2008-01-07 09:53:15,664 ERROR Workflow-5 ()
com.urbancode.anthill3.services.jobs.JobGraph - Workflow failed processing
job '10.00 Get Site deploy agent' due to unexpected error: Method Invocation
super.filter
2008-01-07 09:53:15,664 ERROR Workflow-5 ()
com.urbancode.anthill3.services.exception.ExceptionService - Method
Invocation super.filter
There were no reconfiguration in this time, it just stopped working.
This Agent Filter script is executed on Non-originating workflow to get
deployment agent on right server. This is happening for all ways to run a
build, also when I try to run it from "Run Workflow" tab. It is running for
3:15 minutes, no jobs are executed and Status is Error.
In the same time for other projects my script is working fine and I have`nt
changed it for weeks so there is some hunged up process for project. I`ve
tried to restart build agents and server but it did not help. I`m working
with version 3.3.6b219.
This is my script:
import com.urbancode.anthill3.domain.agent.Agent;
import com.urbancode.anthill3.domain.script.agentfilter.criteria.*;
import com.urbancode.anthill3.runtime.scripting.helpers.*;
import org.apache.log4j.Priority;
import com.urbancode.commons.util.logging.Log4jPrintStream;
public class PropertyEqualsAgentVar extends VariableEqualsCriteria {
String propertyname;
String nonPropertyname;
Log4jPrintStream wlogger = new Log4jPrintStream("MyLog", Priority.WARN);
Log4jPrintStream elogger = new Log4jPrintStream("MyLog",
Priority.ERROR);
public PropertyEqualsAgentVar(String nonPropertyname, String
propertyname, String agentVarName, Log4jPrintStream wlogger,
Log4jPrintStream elogger) {
super(agentVarName);
this.propertyname = propertyname;
this.nonPropertyname = nonPropertyname;
this.wlogger = wlogger;
this.elogger = elogger;
}
public Agent[] filter(Agent[] agents){
String platform = null;
if(BuildRequestLookup.getCurrent() != null){
platform =
BuildRequestLookup.getCurrent().getProperty(nonPropertyname);
}
if(platform == null || platform.length() == 0 ||
"null".equals(platform)) {
platform = PropertyLookup.get(nonPropertyname);
}
if(platform == null || platform.length() == 0 ||
"null".equals(platform))
{
elogger.println("Non-originating Property \"" + nonPropertyname
+ "\" not found!");
return super.filter(null);
}
else
{
if(platform.equals("default"))
{
wlogger.println("Filtering agents depending on orig WF
property");
platform =
BuildRequestLookup.getCurrent().getProperty(propertyname);
if (platform == null || platform.length() == 0 ||
"null".equals(platform)) {
platform = PropertyLookup.get(propertyname);
}
if (platform == null || platform.length() == 0 ||
"null".equals(platform)) {
platform =
BuildLifeLookup.getCurrent().getOriginatingWorkflow().getRequest().getProper
ty(propertyname);
}
if(platform == null || platform.length() == 0 ||
"null".equals(platform))
{
elogger.println(propertyname + " not found.");
return super.filter(null);
}
}
else
{
wlogger.println("Filtering agents depending on non-orig WF
property");
}
}
this.setValue(platform);
return super.filter(agents);
}
}
Log4jPrintStream wlogger = new Log4jPrintStream("MyLog",
Priority.WARN);
Log4jPrintStream elogger = new Log4jPrintStream("MyLog",
Priority.ERROR);
wlogger.println("Filtering agents...");
return Where.is(new
PropertyEqualsAgentVar("nonorig/config.name","orig/config.name",
"ws/virtual_host", wlogger,elogger));
Uldis Karlovs-Karlovskis, C. T. Co
uldis.karlovs-karlovskis at ctco.lv
_______________________________________________
Anthill-pro mailing list
Anthill-pro at lists.urbancode.com
http://lists.urbancode.com/mailman/listinfo/anthill-pro
More information about the Anthill-pro
mailing list