Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate Retry with Server Affinity #13363

Merged
merged 1 commit into from
Jan 12, 2017

Conversation

mkanoor
Copy link
Contributor

@mkanoor mkanoor commented Jan 5, 2017

An automate method retry can happen in any of the servers in the zone.
If a customers automate method had started a process on a specific
server, they would like to have the retry happen on the same server.
This PR optionally allows an automate method to have the retries happen
on the same server using an attribute in the $evm.root object accessible
to automate methods. The name of the attribute is called
ae_retry_server_affinity

e.g. To enable the retry to happen on the same server use

$evm.root['ae_retry_server_affinity'] = true

Links

Steps for Testing/QA

Create a multi server environment (zone)
Write a simple automate method that forces a retry along with some condition to prevent it from perpetually doing a retry

       $evm.root['ae_result'] = 'retry'
       $evm.root['ae_retry_server_affinity'] = true

Incorporate the method into the provisioning workflow (the reason for this is so its delivered via the Queue)
Monitor the log file to see on which servers the methods were executed.

Please note that you can't try this with simulation since that doesn't go thru the queue

@mkanoor
Copy link
Contributor Author

mkanoor commented Jan 5, 2017

@gmcculloug @tinaafitz
Please review

@tinaafitz
Copy link
Member

@mkanoor Looks good. This is a great enhancement.

@miq-bot
Copy link
Member

miq-bot commented Jan 9, 2017

This pull request is not mergeable. Please rebase and repush.

https://bugzilla.redhat.com/show_bug.cgi?id=1408850

A automate method retry can happen in any of the servers in the zone.
If a customers automate method had started a process on a specific
server, they would like to have the retry happen on the same server.
This PR optionally allows an automate method to have the retries happen
on the same server using an attribute in the $evm.root object accessible
to automate methods. The name of the attribute is called
ae_retry_server_affinity

e.g. To enable the retry to happen on the same server use

$evm.root['ae_retry_server_affinity'] = true
@miq-bot
Copy link
Member

miq-bot commented Jan 10, 2017

Checked commit mkanoor@111120d with ruby 2.2.5, rubocop 0.37.2, and haml-lint 0.16.1
3 files checked, 0 offenses detected
Everything looks good. 🏆

@gmcculloug gmcculloug merged commit 1971a08 into ManageIQ:master Jan 12, 2017
@gmcculloug gmcculloug added this to the Sprint 52 Ending Jan 16, 2017 milestone Jan 12, 2017
@mkanoor mkanoor added euwe/yes and removed euwe/no labels Jan 16, 2017
@mkanoor
Copy link
Contributor Author

mkanoor commented Jan 16, 2017

@gmcculloug Changed it to euwe yes after our discussion

mkanoor added a commit to mkanoor/manageiq that referenced this pull request Jan 17, 2017
@simaishi
Copy link
Contributor

Backported to Euwe via #13543

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants