murano-conductor/data/workflows/ExternalAD.xml.example
Stan Lagun c90dabfc25 Special XML tag to format the Agent exceptions
Change-Id: Ifa6a6909cea08fc5e08a750c11e09fc3a1ceff4a
2013-09-17 09:21:53 +04:00

97 lines
3.4 KiB
Plaintext

<workflow>
<rule match="$.services[?(@.type != 'activeDirectory' and @.availabilityZone)].units[?(@.temp.instanceName and @.state.hostname and not @.domain)]"
desc="Units of Non-AD services with availability zone specified which are deployed and are not part of the domain">
<set path="#externalADmap">
<map>
<!-- ======================================================================= -->
<!-- Specify here parameters of domain controllers at each availability zone -->
<!-- ======================================================================= -->
<mapping name="nova">
<map>
<mapping name="domain">domain1</mapping>
<mapping name="domainUser">Administrator</mapping>
<mapping name="domainPassword">password1</mapping>
<mapping name="dnsIp">ip1</mapping>
<mapping name="ou"></mapping>
</map>
</mapping>
<mapping name="AnotherAvailabilityZone">
<map>
<mapping name="domain">domain2</mapping>
<mapping name="domainUser">Administrator</mapping>
<mapping name="domainPassword">password2</mapping>
<mapping name="dnsIp">ip2</mapping>
<mapping name="ou"></mapping>
</map>
</mapping>
<!-- ======================================================================= -->
</map>
</set>
<set path="#ad">
<select source="externalADmap">
<parameter name="path"><select path="::availabilityZone"/></parameter>
</select>
</set>
<rule>
<parameter name="match">$[?(@.state.domain != '<select path="domain" source="ad"/>')]</parameter>
<parameter name="desc">Units which are not part of the target domain but need to join</parameter>
<send-command template="JoinDomain" error="exception">
<parameter name="unit">
<select path="id"/>
</parameter>
<parameter name="service">
<select path="::id"/>
</parameter>
<parameter name="mappings">
<map>
<mapping name="domain">
<select path="domain" source="ad"/>
</mapping>
<mapping name="domainUser">
<select path="domainUser" source="ad"/>
</mapping>
<mapping name="domainPassword">
<select path="domainPassword" source="ad"/>
</mapping>
<mapping name="dnsIp">
<select path="dnsIp" source="ad"/>
</mapping>
<mapping name="ouPath">
<select path="ou" source="ad"/>
</mapping>
</map>
</parameter>
<success>
<set path="state.domain">
<select path="domain" source="ad"/>
</set>
<set path="state.domainIp">
<select path="dnsIp" source="ad"/>
</set>
<report entity="unit">
<parameter name="id"><select path="id"/></parameter>
<parameter name="text">Unit <select path="state.hostname"/> (<select path="name"/>) has joined domain <select path="domain" source="ad"/></parameter>
</report>
</success>
<failure>
<report entity="unit" level="error">
<parameter name="id"><select path="id"/></parameter>
<parameter name="text">Unit <select path="state.hostname"/> (<select path="name"/>) was unable to join the domain due to <format-error error="exception"/></parameter>
</report>
<stop/>
</failure>
</send-command>
</rule>
</rule>
</workflow>