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

Improve find-available.py by using multiprocessing library #49

Closed
sadsfae opened this issue Mar 24, 2017 · 6 comments
Closed

Improve find-available.py by using multiprocessing library #49

sadsfae opened this issue Mar 24, 2017 · 6 comments

Comments

@sadsfae
Copy link
Member

sadsfae commented Mar 24, 2017

Currently bin/find-available.py does some heavy lifting of combinatorial math to parse all machine schedules and return the first available start/end dates and machines that are available based on the # of days and # of machines and optionally the type of machines required.

It can sometimes take upwards of 15-20minutes to run. This is an RFE to investigate and implement the Python processed-based threading interface to hopefully dramatically reduce the run times.

@jkilpatr
Copy link

jkilpatr commented Mar 24, 2017 via email

@geekodour
Copy link

geekodour commented Mar 3, 2018

Hello, I am willing to work on this issue.
But I am having issues running this on my machine, how can I setup quads on my local machine?
@sadsfae @arcolife ?

@sadsfae
Copy link
Member Author

sadsfae commented Mar 5, 2018

Hi @geekodour we'd love for more people to help us improve QUADs. What part of the setup are you having issues with?

You can install it on a test machine or VM for example via:
https://github.com/redhat-performance/quads#installing-quads-from-rpm

You can quickly setup a fully-functional QUADS sandbox with this script here:
https://github.com/redhat-performance/quads/blob/master/testing/quads-sandbox.sh

Our getting started docs are here:
https://github.com/redhat-performance/quads#contributing

If you have problems with any of the above just let us know or ping wfoster or kambiz on #quads via irc.freenode.net and we'd be happy to assist.

@geekodour
Copy link

Thankyou @sadsfae ! I am able to run quads nicely now.
I am working on this issue now, There another issue with /bin/find-available.py , when there are no schedule is set the scripts loops endlessly. will put a check on that, will send a PR for that soon.

@sadsfae
Copy link
Member Author

sadsfae commented Mar 7, 2018

Hey @geekodour that's great news. I have created an issue for you to work on this here:

#168

One note: we don't do pull requests, we instead use Gerrit / Jenkins CI workflow. Take a look here to see how we accept patches and merging:

https://github.com/redhat-performance/quads#contributing

Once you submit a patchset it will run through our CI system and will show up here for review:

https://review.gerrithub.io/#/q/project:redhat-performance/quads

Typically Gerrit is better at code review and conversation once we've filed the issue on Github and you get used to it.

sadsfae referenced this issue Jun 13, 2018
Moving to a threaded model. I think there is still room here. This is a
first stab.

https://gist.github.com/jtaleric/436de1da825a3267621f62cbc3e05807

Change-Id: I419455bcdc8c59f41e1a953b14f19fd201d081e2
@sadsfae
Copy link
Member Author

sadsfae commented Jun 13, 2018

A merged improvement for this has been submitted here:

250efc5

@sadsfae sadsfae closed this as completed Jun 13, 2018
sadsfae added a commit that referenced this issue Jul 6, 2018
This changes our previously used 08:00 UTC as a start
time for provisioning to 22:00 UTC.

related-to: #49

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

No branches or pull requests

3 participants