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

[master] Fix requisite performance issues and aggregation #66135

Merged
merged 2 commits into from
Oct 10, 2024

Conversation

bdrx312
Copy link
Contributor

@bdrx312 bdrx312 commented Feb 23, 2024

What does this PR do?

  • add install of networkx
  • fix aggregate to properly work with requisites
  • fix requisite checking to not be exponential
  • fix pkg aggregate to work when multiple states specify the same package; added some type hints to state.py and tagify in event.py to make the code easier to follow

What issues does this PR fix or reference?

Fixes: #8210, #47154, #59123, #62439, #65304

Previous Behavior

Applying states with many requisites took exponential time by the number of states with requisites.
Aggregating states did not honor requisites correctly.

New Behavior

Applying many states with requisites is no longer exponential.
Aggregating states now correctly honors requisites.

Merge requirements satisfied?

Commits signed with GPG?

No

@bdrx312 bdrx312 requested a review from a team as a code owner February 23, 2024 16:55
@bdrx312 bdrx312 requested review from felippeb and removed request for a team February 23, 2024 16:55
Copy link

welcome bot commented Feb 23, 2024

Hi there! Welcome to the Salt Community! Thank you for making your first contribution. We have a lengthy process for issues and PRs. Someone from the Core Team will follow up as soon as possible. In the meantime, here’s some information that may help as you continue your Salt journey.
Please be sure to review our Code of Conduct. Also, check out some of our community resources including:

There are lots of ways to get involved in our community. Every month, there are around a dozen opportunities to meet with other contributors and the Salt Core team and collaborate in real time. The best way to keep track is by subscribing to the Salt Community Events Calendar.
If you have additional questions, email us at [email protected]. We’re glad you’ve joined our community and look forward to doing awesome things with you!

@salt-project-bot-prod-environment salt-project-bot-prod-environment bot changed the title Fix requiste performance issues and aggregation [master] Fix requiste performance issues and aggregation Feb 23, 2024
@bdrx312 bdrx312 changed the title [master] Fix requiste performance issues and aggregation [master] Fix requisite performance issues and aggregation Feb 23, 2024
@twangboy
Copy link
Contributor

This needs to be rebased and conflicts resolved

@bdrx312 bdrx312 requested a review from a team as a code owner October 3, 2024 20:52
add install of networkx
fix aggregate to properly work with requisites
fix requisite checking to not be exponential
fix pkg aggregate to work when multiple states specify the same package
add some type hints to state.py to make the code easier to follow
fix case of pkg aggregate duplicate package.
Add slots to DependencyGraph

Pinned networkx to 3.1

Pinned networkx to latest version supported on python 3.8 to support running salt-ssh to systems with python 3.8

Fixed assignment of env in support helpers VirtualEnv

Restrict networkx version with contraints instead of in base

Fixed setting context retcode in some places where errors are returned.
Removed unnecessary pylint ignore comment.
Reverted importlib-metadata version bump.

Added networkx to versions report

Actually fixed VirtualEnv env assignment from kwargs
@bdrx312
Copy link
Contributor Author

bdrx312 commented Oct 4, 2024

This needs to be rebased and conflicts resolved

I rebased off the latest master and resolved the conflicts.

@dwoz dwoz merged commit 221420c into saltstack:master Oct 10, 2024
284 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test:full Run the full test suite test:slow Enable Slow Tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

prereq undetected Infinite recursion
8 participants