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

[WIP] Run automate calls thru queue #3258

Closed
wants to merge 3 commits into from

Conversation

mkanoor
Copy link
Contributor

@mkanoor mkanoor commented Jun 24, 2015

Automate engine will be called via Queue to be picked by
Automate workers in the correct zone.

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

@mkanoor
Copy link
Contributor Author

mkanoor commented Jun 24, 2015

@Fryguy @gmcculloug @tinaafitz
Please review

This depends on the PR #3215

Automate engine will be called via Queue to be picked by
Automate workers in the correct zone.

https://bugzilla.redhat.com/show_bug.cgi?id=1231939
@miq-bot
Copy link
Member

miq-bot commented Jun 24, 2015

<stalled_finished_job />Detected and restarted stalled travis job.

@kbrock
Copy link
Member

kbrock commented Jun 24, 2015

I just deleted a bunch of "rerunning for travis"

a) I don't think the timeout code is working in this code. Travis is obviously deadlocking.
b) removed race condition: #3266
c) added ability to skip the queue: #3268

@Fryguy
Copy link
Member

Fryguy commented Jun 24, 2015

One thing you can do is just close this PR until you have a fix for the deadlock, then reopen

@Fryguy
Copy link
Member

Fryguy commented Jun 24, 2015

cc @jrafanie Look what you did!

@jrafanie
Copy link
Member

Ah, that could explain the Travis backlog. As long as you kill the job before it's marked as stalled, the bot shouldn't restart it.

Looks like a feature request on the bot.

@jrafanie
Copy link
Member

Let's reopen when the tests are fixed.

@kbrock
Copy link
Member

kbrock commented Jun 25, 2015

@mkanoor @gmcculloug In the code base, wait_for_taskid needs to be removed. It blocks a thread/worker until a task is performed. Running tasks synchronous have the same issue. If you use this, then the worker will just block, not doing any other jobs while blocked.

Again: If we are waiting on a user to click a button, then no other automate tasks will run on this worker, only a sleep.

Instead, we would like to encourage:

a) using regular jobs instead of tasks.
b) removing synchronous behavior and splitting these tasks into multiple methods.

For our needs here, I don't know why we are using either of these mechanisms. And combining both together seems to multiply the negative side effects.

Also, a single task id of "automate" means that there can only be 1 worker that performs all automate work. So blocking on user input will effectively stop all of automate from running.

create_automation_uri(options)
end

def self.create_automation_args(name, attrs, options = {})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please dup the options coming in since you are modifying them

Multiple writers to task_results
@mkanoor mkanoor reopened this Jun 25, 2015
@mkanoor
Copy link
Contributor Author

mkanoor commented Jun 25, 2015

@kbrock @jrafanie @gmcculloug @Fryguy
Trying to see if this resolves the deadlock on Travis

@kbrock kbrock closed this Jun 25, 2015
@mkanoor mkanoor reopened this Jun 26, 2015
@mkanoor mkanoor closed this Jun 26, 2015
@mkanoor mkanoor reopened this Oct 23, 2015
@mkanoor mkanoor changed the title Run automate calls thru queue [WIP] Run automate calls thru queue Oct 23, 2015
@mkanoor mkanoor added the wip label Oct 23, 2015
@miq-bot
Copy link
Member

miq-bot commented Oct 23, 2015

Checked commits mkanoor/manageiq@d1c6f7c~...676f704 with ruby 1.9.3, rubocop 0.34.2, and haml-lint 0.13.0
8 files checked, 8 offenses detected

vmdb/lib/miq_automation_engine/engine/miq_ae_engine.rb

@kbrock
Copy link
Member

kbrock commented Oct 23, 2015

just deleted 15 stalled request comments.
Lets hold off rebasing this until we have a way around hanging travis. We are having enough problems with it right now.

also, We'll need to ensure that the automate worker is enabled for this to work.

@mkanoor
Copy link
Contributor Author

mkanoor commented Jul 29, 2016

Closed temporarily

@mkanoor mkanoor closed this Jul 29, 2016
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.

None yet

5 participants