Situation: Someone on your team has accidentally deleted Test Cases / Scripts / Results / etc. from ALM.
Just in case you aren’t familiar with the structure HP ALM stores data, here are the basics. All of the data stored in ALM (test cases, runs, defects) live in a database on a SQL Server. A unique DB exists for every ALM project.
Usually when you suffer this kind of event, you have only a few options:
- Restore the specific DB impacted. Now, if your lucky the SQL server routinely backs-up all DBs stored on it. (That ALM is configured to use) If that is the case, here is what I think the best solution is. Completing Step 2 reduces the impact to only one project and allows you reconcile differences from the impacted project and the restored one. It also protects other teams if the Server is a shared system vs. doing a complete restore of a Drive in totality. Following the steps below will create a new project in ALM with the restored data from a back-up.
- Login to HP Site Admin
- Create a new Empty Project (Project X)
- Note the DB name for this new project. (I.E. NewProject_DB)
- De-activate the New project in Site Admin
- Open SQL Server, and Re-name the DB you just took Note of (NewProject_DB) and append it with _Old (NewProject_DB_Old)
- Identify the DB of the Project that lost the data (I.E. SomeoneDeletedME_DB)
- Restore and rename the DB (SomeoneDeletedME_DB) from back-up to the one created in the new project. (NewProject_DB)
- Activate the new project (Project X) in Site Admin
- Assign an Admin user to the project
- Login and verify procedure was successful
- Restore the entire System (via many means). While this will do the ‘trick’ it will also wipe out all progress from all Projects in ALM. Meaning, if you have multiple teams using ALM, everyone will be impacted. Also, if this is a shared server, you could impact many other teams. If restoring a system, ideally if you can specify the drive that will help to a certain extent. This should only be done as a last resort.
- Do Nothing. If you don’t have any back-ups then you better get to work….
HP ALM 12.50 Administrator Guide
PC Host Installation Error Solved.
My team and I were struggling to get a PC Host added to the LAB. We knew the issue was caused by an access issue, but nailing down the exact problem was quite difficult. Now, I’ve generalized the error by indicating the Domain\User as most PC installations use custom user names instead of the generic IUSR_METRO account.
Failed to create process [C:Program Files (x86)\HP\Performance Center Host\al_agent\bin\alagentservice.exe] with user [DOMAIN\USER] windows error code 
How to Solve It:
The PC service account must have rights to Logon Locally to the system in question. In my team’s instance, we saw that our PC Service Account was failing to login and the Logon Type = 2 was viewable in the Event Viewer. Once this restriction was removed from the user, we were able to successfully add the system to the PC Lab.
The HP requirements for access for the PC Service Account aren’t ironclad. Meaning, in our instance we were able to determine that the Logon Locally right is only required to add the system in the LAB and isn’t required afterwards.
Here is a few things you need to consider before upgrading HP Performance Center to version 12.5 (Official install guide can be found Here):
- SQL Server Version. HP recommends using SQL 2014 for the back-end of ALM. If that server is shared, upgrading might not be possible without significant coordination, if possible at all. Creating a new server might be the best way to remedy this issue.
- Clean-up. Prior to upgrading to the latest version, cleaning up your existing PC instance is a great idea. This will make the project migration project smoother as the DBs will be smaller.
- Within the OS:
- Cleaning up old log files
- Removing unnecessary applications
- Install Windows Patches
- Defrag. Drives
- Within PC:
- Deleting old Runs
- Removing old scripts
- Deleting Old Monitor Profiles
- Cleaning-up Trend Reports
- Deleting old Users
- Updating permissions for existing users
- Verifying Project settings and Pools.
- If your fortunate enough to upgrade PC and leverage new servers using the most recent (and compatible) version of Windows will pay off in the long run. This minimizes the impact of future PC upgrades while ensuring your using the latest technology.
- Prepping the install files. To minimize the downtime copy the necessary install files to the systems in question ahead of time to minimize the installation time.
- Patch, Patch Patch. Don’t forget to install the latest patches after you upgrade.
When explaining why my job exists and what I do to non IT folks the easiest real-world example I commonly give is Black Friday. Everyone knows that Black Friday means millions descending on shopping malls. (In the good old days you had to show up at 5AM or earlier to get the best deals.)
Now many of those same deals can be obtained via online. As more and more shoppers look to Black Friday and Cyber Monday for the best deals, the pressure put on e-commerce solutions grow every year. Even though every year the large retailers know its coming, it never fails that multiple stores experience slowness or in some cases complete outages.
Below are a few links that detail some of the worst hit stores.
WSJ – Black Friday – Nieman Marcus
GottaBeMobile – Black Friday – Walmart
InternetRetailer – Black Friday – NewEgg
ChainStoeage – Black Friday – Footlocker
This is a simple command line trick that has come in handy as of late when I needed to resolve a system name from an IP Address. This is particularly handy when you’ve been given a architecture diagram that shows connections but the ‘what’ each system does. Most companies use a naming convention for their systems and having the system name will typically clue you in on its function.
ping -a 123.456.789.012
A screenshot of other useful commands is below.
Its easy to get caught up in the analysis of results and miss key bottlenecks by using the default view in HP Analysis. By simply changing the granularity of the graph, the results often tell a very different story. Examine the graph below. If the granularity was set to 5 minutes then the spike below would be hidden.