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
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.
- 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.
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.
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.
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:
Now we can see the value of using a Folder/File compare tool to quickly identify configuration issues that are stored in files.
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.
- 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)
Thank you for sharing this great info with the community Alan!
Quickly Identify Incorrect Configurations For ANY Solution