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

nso_config break cycles in dependency sorting #36828

Merged
merged 1 commit into from
Feb 28, 2018

Conversation

cnasten
Copy link
Contributor

@cnasten cnasten commented Feb 28, 2018

False assumption that values can not have cyclic dependencies. Fix by
removing dependency on self and look for cycles, if found remove
dependency to get a partial sort done.

SUMMARY

As stated above, there was a false assumption made that NSO would never return cyclic dependency information. It can and should do that, detect and break cycles to avoid 100% CPU usage lock.

ISSUE TYPE
  • Bugfix Pull Request
COMPONENT NAME

nso_config

ANSIBLE VERSION
ansible 2.6.0 (nso_config_order_break_cycle 2213fb386e) last updated 2018/02/28 08:46:15 (GMT +200)
  config file = None
  configured module search path = [u'/home/cnasten/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /home/cnasten/dev/ansible/lib/ansible
  executable location = /home/cnasten/dev/ansible/bin/ansible
  python version = 2.7.14+ (default, Feb  6 2018, 19:12:18) [GCC 7.3.0]
ADDITIONAL INFORMATION

NA

False assumption that values can not have cyclic dependencies. Fix by
removing dependency on self and look for cycles, if found remove
dependency to get a partial sort done.
@ansibot
Copy link
Contributor

ansibot commented Feb 28, 2018

@ansibot ansibot added bugfix_pull_request needs_triage Needs a first human triage before being processed. networking Network category support:core This issue/PR relates to code supported by the Ansible Engineering Team. test This PR relates to tests. labels Feb 28, 2018
@cnasten
Copy link
Contributor Author

cnasten commented Feb 28, 2018

shipit

@gundalow gundalow merged commit 042c111 into ansible:devel Feb 28, 2018
@gundalow gundalow removed the needs_triage Needs a first human triage before being processed. label Feb 28, 2018
gundalow pushed a commit to gundalow/ansible that referenced this pull request Feb 28, 2018
False assumption that values can not have cyclic dependencies. Fix by
removing dependency on self and look for cycles, if found remove
dependency to get a partial sort done.
(cherry picked from commit 042c111)
gundalow added a commit that referenced this pull request Feb 28, 2018
False assumption that values can not have cyclic dependencies. Fix by
removing dependency on self and look for cycles, if found remove
dependency to get a partial sort done.
(cherry picked from commit 042c111)
@gundalow
Copy link
Contributor

Merged into devel and cherry-picked into stable-2.5 d4252c8

@ansibot ansibot added bug This issue/PR relates to a bug. and removed bugfix_pull_request labels Mar 6, 2018
@dagwieers dagwieers added nso Cisco NSO community cisco Cisco technologies labels Feb 22, 2019
@ansible ansible locked and limited conversation to collaborators Apr 27, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug This issue/PR relates to a bug. cisco Cisco technologies networking Network category nso Cisco NSO community support:core This issue/PR relates to code supported by the Ansible Engineering Team. test This PR relates to tests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants