Smart Automated Maintenance Series, Part III: Growing Pains
August 16, 2024
June is here, and it’s time for upgrades. Look at your calendar, now look at me, and now look at your calendar again—holy cow, it’s June. Maybe, just maybe, I can get this maintenance set up before the end of the quarter.
The first iteration of smart maintenance worked… okay, most of the time, when the stars aligned just right (check part one and part two of our Smart Automated Maintenance if you need to catch up!)… But it’s time for some upgrades.
Making the Script Smarter
First on the list: update the script to run on a target resource. This means the application script needs to get smarter. Luckily, it has plenty of experience points. Let’s invest some of those into the intelligence tree.
Since I needed to run the script on a specific day, I found a tutorial on checking if it was the last day of the month in C#. Perfect. Three hours and 45 minutes later, the new if statement was added to both scripts and works flawlessly. I moved the existing code block into a new function, allowing the script to run if it’s the last day of the month or log a message and exit if it’s not.
Managing a Single Script
Now, what if I only had to manage one script? There are a couple of caveats. Since the appliance can only store one set of application credentials per test configuration, I’d have to choose one set to include in the application script code.
Or, I could use a secrets vault. I chose to set up an Azure KeyVault. I really like this configuration, but you can pick any secrets vault solution that reliably provides the information you need. To see how I set up my KeyVault, check out the article linked at the bottom of the page. Gotta make sure you read the whole article somehow!
Upgrading Test Configuration
With KeyVault in place and the secrets data entered, I can reliably pull the data I need, and we can upgrade the test configuration. Don’t forget to re-upload your application script and update your application group if necessary. Keeping the application group around can be helpful for future maintenance tasks, even if you’re only using one script.
Creating User Groups
I’m a big proponent of having user groups for specific tests and, where possible, limiting users in scope to specific groups. This isn’t always possible in some environments, but it becomes far more important when user permissions are a factor.
For now, I’m using localhost. I don’t have a domain controller in my lab, where I’m building this, so I’m logging directly into the target system.
Since I plan to have only a few users running this workflow, I’m using a filter selection group. I named my group something useful: “License Replacement.”
Now I simply select my user.
Configuring the Launchers
I don’t have specific requirements for where to run my workflow for my launchers, so I’m using the built-in “All Launcher” group, which (somewhat obviously) contains all launchers connected to the appliance.
Since I want to be able to schedule the task and run it on demand, I need to create both a Continuous test and an application test. For now, we can leave the configuration of the schedule alone—we’ll come back to that. In the actions field of each test, add the application group that contains your application script(s).
Now, you just have to run the Application and Continuous tests to ensure they execute as you want them to.
For further reading, check out this Azure KeyVault Article, and stay tuned for the next part of the Smart Automated Maintenance series.
Curious to explore fully automated performance testing yourself in the meantime? Try Login Enterprise for free – for your virtual, physical or hybrid environment.
EUC Trends