Hello Team,
One area I am asked for assistance is, how to quickly identify incorrect configurations for ANY solution on MS-Win/UNIX/Linux OS.
Incorrect configurations may occur due to:
1- "Many cooks in the kitchen" effect.
One consultant/client resource may install a solution differently on Server A versus Server B.
Even if instructions were provided with detail steps.
2 - Too many options provided in a Wizard Interface
Wizard GUI interfaces are typically designed to assist with a rapid installation for common configurations.
However, if the configurations are not clearly understood, a selection early in the process may lead a resource to deploying a solution not to optimum design.
3 - DevOps processes not leveraging "unattended/silent install" features
As DevOps (shorthand for development + operations processes) methodologies are used at client sites, there is typically a learning curve for any project team with a solution, to use all features of a devops process.
Typically, may see direct updates to a solution's configuration files, but a miss to supporting configuration files. Where a requested feature, e.g. FIPS-140, requires updates in more than one configuration file.
To manage configuration challenges, where configurations may exist with files or registry entries, files/folder match tools are used instead of eyeball 1.0.
The service tools we have found valuable to identify incorrect configurations or to assist with devops, are:
A. Beyond Compare - A commercial paid tool ( Scooter Software: Home of Beyond Compare )
- Includes a 30 day trial.
- Includes advance features such as 3 way compare & more options.
- Recommended for clients for long-term use.
B. WinMerge - Open Source tool ( http://winmerge.org/ )
- Use for service projects and/or health-checks
Either tool can be configured to search the entire folder/sub-folder structure; and high-light the deltas
Pre-Work:
Step 1: Zip/Tar up the installation folder from the root of the solution for a working solution or initial install of the solution via a GUI Wizard installer.
- /opt/CA/Solution
- D:\Program Files\CA\Solution
Step 2: Zip/Tar up the installation folder from the root of the solution for the non-working solution or 2nd install of a solution via a GUI Wizard installer or unattended install.
- /opt/CA/Solution
- D:\Program Files\CA\Solution
Step 3: Copy these files to your desktop/workstation, where the file/folder compare tool resides.
Step 4: Extract these zip/tar files (7zip or OS unzip) with their complete folder structure, in a temporary folder.
Example:
Ready for the File/Folder compare tools:
Step 5: Open the tool you wish, and ensure BOTH folders are mapped to compare
Example with BC:
Example with WinMerge:
Step 6: Set the VIEW of each tool, to ONLY display DELTA. Ignore ANY Files or Folders that have EXACT MATCHES.
We are ONLY concern with DELTAS.
Example with BC:
Example with WinMerge:
Step 7: Now we ONLY see DELTAS (context are different or orphans files exist)
Step 8: Drill down / double-click into each DELTA.
Best Practice Rules:
a. Skip / Ignore Log Folders/Files; Ignore Temp Folders/Files
b. For Peer Servers - Only Accept deltas for hostnames, IP addresses, URL & Password Hashes
c. For Dev to QA to Prod Servers - Only Accept deltas for hostnames, IP addresses, Ports, URL, Service IDs, & Password Hashes
Example to view deltas for one configuration file with BC:
- Variables, Path, IP, hostnames, carriage returns deltas
Example to view the same deltas for one configuration file with WinMerge:
- Variables, Path, IP, hostnames, carriage returns deltas
Now we can see the value of using a Folder/File compare tool to quickly identify configuration issues that are stored in files.
Recommendations:
Use this process as part of your troubleshooting toolkit to quickly identify any configurations challenges without relying on eyeball 1.0. This process will rapidly allow a resource to quickly identity the root issue, without total reliance on a solutions' logs or "behavior" of a use-case.
If using this process with CA Services; upload the tar/zip files to a CA Support ticket, to share the 1GB or larger files; to be reviewed offline.
Advance Notes:
- Some solution's configurations may NOT be installed in the "installation" folder, but in other areas, e.g. /var /etc under Linux/UNIX OS and/or as hidden files. Zip/tar those folders before any installation, for dev-ops processes, and use a BEFORE:AFTER compare with this process to identify the new files/folders created upon install.
- Use Microsoft Sysinternal Tools, "Process Monitor", to identify any hidden MS Windows Folders/files during installation.
- Use this process to identify new database schema deltas between OLDER and NEWER solution versions.
- This Folder/File match process can be used for the MS Windows Registry as well.
Export HKLM/Software/SolutionName (64 bit software) or HKLM/Software/WOW6432Node/SolutionName (32 bit software)
.
Cheers,
Alan