Having problems with your account or logging in?
A lot of changes are happening in the community right now. Some may affect you. READ MORE HERE
Arun Negi Respected Contributor.
Respected Contributor.
2129 views

Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hi,

This is regarding fully automated DevOps pipeline where in on the fly environment is provisioned on AWS cloud( EC2 instances for all app tiers), code compiled, binaries deployed and then tested using UFT and Stormrunner. Once over and results available, the environment is decommissioned.

Jenkins will be triggered externally to initiate this pipeline. Basic philosophy as a part of client requirement is zero manual touch and everything fully automated.

One of the challenge here is that the test application URL will have a host name that is dynamically created. We need to figure how to pass the same to the script residing on Stormrunner cloud.

My initial thought process is revolving more around making the dynamic IP's written in a file and available over a simple web server which as a part of script itself can be accessed over HTTP ( init section of script) and correlated to be made available as a parameter for the actual hits to the application. Of course I would need to check with the DevOps team on how the dynamic IP's of web tier will be available from AWS and if feasible to be written on a file to be made available via web server on our VPC.

My current assumption is that we will have the scripts manually uploaded on Stormrunner cloud after being developed against a Dev Environment and load scenario defined for the DevOps pipeline.

Any thoughts on this or if someone has already faced this situation?

Regards,

Arun

 

 

 

 

0 Likes
1 Solution

Accepted Solutions
Highlighted
Micro Focus Expert
Micro Focus Expert

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hi Arun,

Regarding "load test script is dynamic", I think that you can zip your test scripts and use the Public APIs to upload the updated scripts to SRL. For example: execute some Shell scripts in Jenkins to sync latest script from your repository, change parameters (URL etc.), zip the scripts, then use 'curl' to upload the generated .zip files. ('curl' commands for each PUblic API is available on the page I mentioned before)

BTW: 

If your script are VuGen related, you can also change parameters via the Additional Attributes in RTS.

Regards,

Wei Sun

10 Replies
Micro Focus Expert
Micro Focus Expert

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hey Arun,

You can use SRL public APIs + Jenkins to fully automate the process. (upload script, create / configure scenario, run scenario ......).  For public API details, please refer to https://admhelp.microfocus.com/srl/en/Latest/Content/Storm/PublicAPIs.htm.

On https://stormrunner-load.saas.hpe.com/v1/?TENANTID=0#/, you can easily try each API.

Regards,

Wei Sun

 

Arun Negi Respected Contributor.
Respected Contributor.

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hi Wei,

Thanks for the response.

Our challenge is different in the sense that even the load test script is dynamic. The IP of application under test needs to be updated in the script before the load test is executed.

The reason is because the load test is happening on an environment which is first getting provisioned as a part of pipeline itself and once provisioned then the load test is executed on it.

So even though a script is existing, the URL parameterised inside needs to be updated.

Regards,

Arun

 

 

 

0 Likes
Highlighted
Micro Focus Expert
Micro Focus Expert

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hi Arun,

Regarding "load test script is dynamic", I think that you can zip your test scripts and use the Public APIs to upload the updated scripts to SRL. For example: execute some Shell scripts in Jenkins to sync latest script from your repository, change parameters (URL etc.), zip the scripts, then use 'curl' to upload the generated .zip files. ('curl' commands for each PUblic API is available on the page I mentioned before)

BTW: 

If your script are VuGen related, you can also change parameters via the Additional Attributes in RTS.

Regards,

Wei Sun

Arun Negi Respected Contributor.
Respected Contributor.

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hello Wel,

I did have a look at the Stormrunner API link you shared earlier. Tried few of them and they worked fine.

DevOps Pipeline

Jenkins Provisions new Environment -> Deploys Application on new Servers -> Triggers Stormrunner for launching load tests on application just deployed.

The challenge here is to update the parameterised application's URL as soon as it gets a request from Jenkins for launching a test after creating a new application environment on AWS Cloud.

Even if i were able to upload the zipped script to Stormrunner cloud using API, i still would need to update the parameterised url to reflect the new IP's corrresponding to the new application environment.

To me it seems we need to have an API more from Jenkins side where it could reply in response to a REST request from Stormrunner for the IP's of the web/app server of the newly created environment. In case we have it, we could correlate the returned IP and save it in a parameter to be used in the script. Its a very specific custom requirement and not sure if Jenkins has that.

But again i wonder how to big companies like NetFliX have an automated DevOps pipeline with 0 human touch :)

Regards,

Arun

 

 

0 Likes
Arun Negi Respected Contributor.
Respected Contributor.

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hello Wei,

Sorry i missed the point you were trying to convey!

So assuming through Jenkins we are able to update the dynamic IP in Script's parameter file i will further try out the Stormrunner API's to upload script and add it to a load scenario with the load settings.

Will get back soon with the progress.

Regards,

Arun

0 Likes
Arun Negi Respected Contributor.
Respected Contributor.

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hello Wei ,

I have created a shell that can perform the following sequentually :-

- Upload already Zipped scripts on Stormrunner Cloud

- Remove the existing scripts from Load scenario and add the newly added ones with Run time settings

- Update the SLA settings for each script.

- Launch the Jenkins build for Load test corresponding to load scenario updated above.

Going one step before, does Stormrunner support accepting uploads of zips of tar files? Reason why i ask is as in Linux i could not find an option to zip a folder. Rather the native zip command will recursivley compress each individual file under the Script folder.

Regards,

Arun

 

0 Likes
Micro Focus Expert
Micro Focus Expert

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hi Arun,

StormRunner doesn't support the uploads of zips of tar files.

As to zip a folder, below link might be helpful.

https://askubuntu.com/questions/58889/how-can-i-create-a-zip-archive-of-a-whole-directory-via-terminal-without-hidden

Regards,

Wei Sun

Arun Negi Respected Contributor.
Respected Contributor.

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hello Wei,

Happy New year!

Thanks for the link! I did have a look at it earlier.

Since its not a part of standard distribution, will look into the feasibility of having zip utility included in the Linux Distro.

Regards,

Arun

 

0 Likes
Arun Negi Respected Contributor.
Respected Contributor.

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

We had the zip utility installed and it worked fine!

Re: Stormrunner load tests on AWS Cloud using fully automated DevOps pipeline

Jump to solution

Hi

 

I landed on this thread while looking for some tips on devops and Performance Testing using Stormrunner.

 

Not sure if your issues is resolved, however I can think of following as workaround..

1. parameterise the URL which keeps on changing in the script

2. Write a code to create the <urlparam.dat> file with new URL and rename or delete the old one.

3. Zip the script using API

4. Upload the script using API

Let me know if it makes sense.

 

Abhishek

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.