Skip to main content
DevOps icon showing cogs

This post is from the XebiaLabs blog and has not been updated since the original publish date.

Last Updated Jan 12, 2015 — DevOps Expert

Compute Property Values With Rules

DevOps

A quick tip I used to help a customer. They've defined 2 extra properties on their host to help them to compute container's properties (eg home). It works fine for the generic-plugin based middleware (eg tomcat.home="${container.host.envRootPath}/var/wildfly/${container.instanceId}") but not for other plugins based not based on the generic plugin. My first answer was to create a cli script that performs the computation and update the configuration items according to the expected definition but the Ops team needs to switch to another tools. My next answer was to define a control task that can called from the UI but typically the 'repositoryService' is not injected in the script's context: impossible to update the configuration item's values. So I found out the following solution: define a rule that perform the computation using a pre-plan processor and a python script:

<rule name="compute.jboss.home.context" scope="pre-plan">
<planning-script-path>compute/jbosshome.py</planning-script-path>
</rule>
And the python script 'compute/jbosshome.py' is :
def jboss_containers():
    return filter(lambda ci: str(ci.type) == 'jbossdm.StandaloneServer', deployedApplication.environment.members)
for container in jboss_containers():
    if not container.home.startswith('/'):
        print "---- processing %s " % container
        print "processing host %s " % container.host
        home = "%s/var/wildfly/wf-%s" % (container.host.envRootPath, container.host.envCode)
        container.home = home
        repositoryService.update(container.id, container)
The main advantage: no need to think to trigger any extra commands or control tasks: the computation is performed during the planning phase executed when XLDeploy generates the deployment tasks.xl-rules rulez !!!

More from the Blog

View more
Sep 13, 2021

The Expedited Journey of Digital Transformation

DevOps
Alan Brown, Digital Transformation Advisor at Digital.ai conducts a se ...
Read More
Aug 23, 2021

Is Data Analytics Missing From Your Digital Transformation?

DevOps
Nearly every major enterprise is already in the process of digital tra ...
Read More
Aug 19, 2021

Creative Ways to Automate Developer Workflows

DevOps
When an organization begins an Agile or DevOps journey, the process ca ...
Read More
Aug 12, 2021

How Automation Enhances Efficiency and Delivery Speed In a DevOps Environment

DevOps
When organizations make the decision to move to a DevOps environment, ...
Read More
Contact Us