Make one Bamboo plan cause other plan to be scheduled with delay - automation

I have a number of multi-part tests that require me to run a setup phase first, then wait about 30 minutes before I can run the verification phase. I'm limited to a single agent, so including the delay in the test itself is very undesirable as it ties up the CI/CD system.
What I would like to do is have the setup plan, when complete, cause the corresponding verification plan to be scheduled 30 minutes later.
I know you can have one plan trigger another plan, but that's not quite what I want as that will happen immediately after the first plan, which won't work.
What's the best way to do this with Bamboo or is it even possible?

Not possible. Unless you delay the job programatically from a script task which, as you mention, is not ideal for your use case.

Related

How to use Jmeter with timer

I am having a problem with the JMETER, using it with Timer causes Crash to the Jmeter
The case is : I want to create a load of requests to be executed every half hour
Is that something you can do with Jmeter?
every-time i try it it causes Jmeter to keep loading and hangs and require a shut down
If you want to leave JMeter up and running forever make sure to follow JMeter Best Practices as certain test elements might cause memory leaks
If you need to create "spikes" of load each 30 minutes it might be a better idea to consider your operating system scheduling mechanisms to execute "short" tests each half an hour like:
Windows Task Scheduler
Unix cron
MacOS launchd
Or even better go for Continuous Integration server like Jenkins, it has the most powerful trigger mechanism allowing defining flexible criteria regarding when to start the job and you can also benefit from the Performance Plugin which allows automatically marking build as unstable or failed depending on test metrics and building performance trend charts

Delay between stages in Bamboo

I'm using bamboo to automate performance tests that should be run every night. I implemented two tests: first that run big queries and second that checks performance results.
First test (running queries) should be executed and after two hours second one (checking performance results) should be run. Obviously I don't want compile these tests into one test that run queries, waits 2 hours and checks results.
My solution is to have two bamboo plans: first plan with running queries test scheduled for 1:00 AM and second plan with checking performance results test scheduled for 3:00 AM. That works.
Is it possible to execute those tests within one bamboo plan (for example by setting two stages (with one test each) and setting delay between stages execution)?
Edit:
I have working solution that doesn't block agent for delay time (two scheduled plans). It works. I'm just wondering if it's possible to achieve same effect within one plan - sounds like functionality that could be available in Bamboo.
If blocking the build agent for 2 hours is not an issue, you may add a script task at the end of the first stage, so that it waits for 2 hours until the next stage is started.
sleep 2h
You may also define your result plan as a child plan (in Dependencies tab) and then introduce a sleep time using script task at the end of the first plan.
This way, your first plan will finish executing after 2 hours followed by the child plan.
Update: If your plan A is connected to a repository and is triggered when there is a new commit, you may connect the same repository in plan B and introduce a quiet period that will wait for 2 hours before it executes. This way, your agent is not blocked for 2 hours.

Why Big Query always has waiting time, is it possible to execute without waiting time?

Whenever I execute a query in Bigquery, I can see that in the Explanation tab the Waiting time is always average. Is it possible to execute without wait time or to reduce the wait time.
This image shows the query explanation (Bigquery wait time is average here)
Why Big Query always has waiting time?
You might have more work than can be immediately scheduled.
is it possible to execute without waiting time?
Purchase more BigQuery Slots.
Contact your sales representative for more information or support.
Otherwise, just wait. If your job isn’t time-critical, you can schedule it and wait for it to be executed as resources permit.
Bigquery has a complex scheduling system. Besides, usually there are couple stages for a simple query, and for each stage scheduler needs to find the best shard(node) which could execute the computation.
It takes some time for the scheduler to send the job to shards. But usually it should not be significantly long.

Autosys JIL ignoring success conditions

I hope someone can point me in the right direction or shed some light on the issue I'm having. We have Autosys 11.3.5 running in Windows environment.
I have several jobs setup to launch on a remote NAS server.
I needed JOB_1 in particular to only run if another completed successfully.
Seems straight forward enough. In UI there's a section to specify Condition such as: s(job_name) as I have done and I'm assuming that ONLY if the job with name job_name succeeds that my initial job should run.
No matter what I do, when I make the second job fail on purpose (whether manually setting its status to FAILURE) or changing some of its parameters so that its natural run time causes it to fail. The other job that I run afterwards seems to ignore the condition altogether and complete successfully each time.
I've triple checked the job names (in fact I copy and pasted it from the JIL definition of the job so there are no typos), but it's still being ignored.
Any help in figuring out how to make one job only run if another did not fail (and NOT to run if it DID fail) would be appreciated.
If both the jobs are scheduled and become active together, then this should not happen.
The way i think is, you must be force starting the other job while the first is failed. If thats the case, then conditions will not work.
You need to let both the jobs start as per schedule, or at least the other job start as per schedule while the first one is failed. In that case the other job will stay in AC state until the first one is SU.
Let me know if this is not the case, i will have to rephrase another solution then.

Is it possible to have a stage in a Bamboo plan start even though the previous one has failed?

I have a Bamboo plan configuration with several stages. Now I want to have these stages to execute in certain order, but independently of the result of the previous stage.
This seems to be impossible with Bamboo. Subsequent stages are executed only if the previous one is successful.
Any thoughts?
"Now I want to have these stages to execute in certain order, but
independently of the result of the previous stage."
The statement seems self contradicting. If you want the stages to execute in order, that implies some dependency/coupling between them. Yet you want them to execute independently of the result of the previous stage.
The they are truly independent you can configure them as independent jobs as part of one stage. These jobs(which may contain several ordered tasks) will execute independently and in parallel.
Please see the following for more details:
http://quickstart.atlassian.com/download/bamboo/get-started/bamboo-elements
Hope this helps other who stumble upon this question.
Might be off-topic.
But if your only purpose is to make sure that some activities are not executed in parallel and the order does not matter, then you may try to configure these activities using Jobs.
Bamboo documentation states the following:
Jobs within a given Stage will run in parallel as long as there are agents available to execute them. Otherwise, Jobs run one at a time in no particular order.
It means that if there is only 1 agent available, then there will be no parallel execution and jobs will be executed one by one.
Dependencies is the way to do this. Separate your stages into separate plans. Have each plan depend on (be triggered by) the prior plan.
This doesn't give you exactly the same results, but it is the only way to do it if you need ordered stages.
Final stages were added to Bamboo 6.8.0 in February 2019
As mentioned at: https://jira.atlassian.com/browse/BAM-9771?focusedCommentId=1918676
The following Atlassian Community questions also asked this:
https://community.atlassian.com/t5/Answers-Developer-Questions/Creating-a-final-stage-in-Bamboo-that-is-always-run/qaq-p/543318
https://community.atlassian.com/t5/Bamboo-questions/Is-there-a-way-to-make-a-stage-run-regardless-of-previous/qaq-p/139255
Use Dependencies tab to do this, else use ant script.