Lab 6.16: Create Identification Steps for JBoss WildFly Module

SatishKumaY
Tera Contributor

Please send step by step 

4 REPLIES 4

dgarad
Giga Sage

Hi @SatishKumaY 

 

Look the below link.

https://www.servicenow.com/community/itom-forum/service-mapping-implementation-rome-simulator-tasks-...

If my answer finds you well, helpful, and related to the question asked. Please mark it as correct and helpful.

Thanks
dgarad

Hi @dgard

 

It is for Lab 6.12, but it is needed for Lab 6.16

Lab 6.16: Create Identification Steps for JBoss WildFly Module

-------------------------------------------------
Objective
-------------------------------------------------
Create Identification and Reconciliation Engine (IRE) identification steps for JBoss WildFly Module CIs so they can be uniquely identified and reconciled under the correct JBoss Application Server parent.

-------------------------------------------------
1) Model the CI Class
-------------------------------------------------
1. Go to CI Class Manager.
2. Click Create Custom Class.
3. Parent class: cmdb_ci_app_server or cmdb_ci_jboss.
4. Class name: cmdb_ci_jboss_wildfly_module, Label: JBoss WildFly Module.
5. Save.

-------------------------------------------------
2) Add Attributes for Identification
-------------------------------------------------
Add these fields to the new class:
- name (module or deployment name)
- version
- context_root
- deployment_path
- node_name (optional)
- jboss_server (Reference to parent JBoss Application Server)

-------------------------------------------------
3) Define Containment Relationship
-------------------------------------------------
1. In Class Manager → Relationships tab.
2. Add: JBoss Application Server → Contains → JBoss WildFly Module.
3. Save.

-------------------------------------------------
4) Create Identification Rule (IRE)
-------------------------------------------------
1. Navigate to Identification and Reconciliation → Identification Rules.
2. New → Select class: JBoss WildFly Module.
3. Add Identification Entries:
- Entry 1: Parent qualifier
• Type: Dependent on related item (Containment)
• Related class: JBoss Application Server
• Relationship: Contained by
- Entry 2: Attribute matching
• name
• context_root
• version (optional)
• Use parent for qualification (checked)
4. Save.

-------------------------------------------------
5) Add Reconciliation Rule
-------------------------------------------------
1. Identification and Reconciliation → Reconciliation Rules.
2. Create a rule for JBoss WildFly Module.
3. Allow Discovery/Integration sources to update version, path, node_name, etc.
4. Save.

-------------------------------------------------
6) Test with IRE Test Utility
-------------------------------------------------
Sample payload:

{
"items": [
{
"className": "cmdb_ci_jboss",
"values": {
"name": "jboss-eap01",
"install_directory": "/opt/jboss-eap",
"version": "7.4",
"host_name": "app01.acme.local"
}
},
{
"className": "cmdb_ci_jboss_wildfly_module",
"values": {
"name": "myapp.war",
"context_root": "/myapp",
"version": "1.2.3",
"deployment_path": "/opt/jboss-eap/standalone/deployments/myapp.war"
},
"relations": [
{
"type": "Contains::Contained by",
"parent": {
"className": "cmdb_ci_jboss",
"lookup": {
"name": "jboss-eap01",
"install_directory": "/opt/jboss-eap"
}
}
}
]
}
]
}

Run the test to confirm parent and child are correctly matched.

-------------------------------------------------
7) Validate Results
-------------------------------------------------
- Confirm module CI appears under the correct JBoss App Server.
- Re-run payload to ensure no duplicates.
- Verify relationships and attributes.

-------------------------------------------------
šŸ˜Ž Connect to Discovery or Integration
-------------------------------------------------
- Include parent and module CIs with relationship in discovery payload.
- Ensure discovery pattern outputs both in same payload.

-------------------------------------------------
9) Troubleshooting
-------------------------------------------------
- Parent not found → Check parent identification rule.
- Duplicates → Strengthen keys (add context_root or deployment_path).
- Moved modules → Qualify identity by parent.
- Version updates blocked → Check reconciliation rules.

-------------------------------------------------
10) Best Practices
-------------------------------------------------
- Keep identifiers minimal and stable.
- Document rule attributes and rationale.
- Use ATF or IRE Test automation for validation.

-------------------------------------------------
Summary
-------------------------------------------------
Create class → add identifying attributes → define parent containment → build identification rule (parent + attributes) → test payload → validate results → wire to discovery. This ensures unique, accurate identification of JBoss WildFly Modules under their correct parent servers.