Comments (3)
Currently doing some additional debugging on this, in the current state we're passing around the same pointer to a dictionary which is the same memory address. Therefore; the reference is being updated on all Host objects based on the last host to go through the for loop. Looking into doing some getter/setter instead to be more flexible.
worker_1 | [2023-04-03 04:22:36,989: WARNING/ForkPoolWorker-6] ID conn_options: 140005561765504
worker_1 | [2023-04-03 04:22:36,989: WARNING/ForkPoolWorker-6] ID conn_options: 140005561765504
worker_1 | [2023-04-03 04:22:36,989: WARNING/ForkPoolWorker-6] ID conn_options: 140005561765504
worker_1 | [2023-04-03 04:22:36,989: WARNING/ForkPoolWorker-6] connetion options ID: 140005561765504
worker_1 | [2023-04-03 04:22:36,989: WARNING/ForkPoolWorker-6] Dictionary ID: 140005561765504
worker_1 | [2023-04-03 04:22:36,990: WARNING/ForkPoolWorker-6] Dictionary ID: 140005561765504
worker_1 | [2023-04-03 04:22:37,021: WARNING/ForkPoolWorker-6] ID conn_options: 140005561765504
worker_1 | [2023-04-03 04:22:37,021: WARNING/ForkPoolWorker-6] ID conn_options: 140005561765504
worker_1 | [2023-04-03 04:22:37,021: WARNING/ForkPoolWorker-6] ID conn_options: 140005561765504
worker_1 | [2023-04-03 04:22:37,021: WARNING/ForkPoolWorker-6] connetion options ID: 140005561765504
worker_1 | [2023-04-03 04:22:37,021: WARNING/ForkPoolWorker-6] Dictionary ID: 140005561765504
worker_1 | [2023-04-03 04:22:37,021: WARNING/ForkPoolWorker-6] Dictionary ID: 140005561765504
from nautobot-app-nornir.
Doing additional debugging it actually looks like the problem is something in this funciton. I've debugged for awhile and haven't been able to determine why yet.
hosts[device.name] = _set_host(
host_data=host["data"], name=host["name"], groups=host["groups"], host=host, defaults=defaults
)
This is within the for loop, during the first iteration the connection options are correct, however once the second iteration happens it seemingly is updating a global variable which in return the initial loop iteration host now has been updated.(connection options) wise.
Trying to determine if there is a global reference that is being reused somewhere and since its overwritten its updating all hosts that have been previously processed.
from nautobot-app-nornir.
want to say this was fixed with the implementation of the deepcopy
in the inventory creation. #92
from nautobot-app-nornir.
Related Issues (20)
- CredentialsSettingsVars "There was no username defined, preemptively failed" HOT 4
- Golden Config but not needing this plugin
- Potential dependency conflict with Nautobot
- Allow users to provide extra netmiko and Napalm settings HOT 2
- Add new credentials integration with Nautobot
- Default Nornir settings have different structure than the ones used in Plugin Config HOT 2
- Too Many Clients Error when running a Job HOT 2
- Problem : Undefined environment variables HOT 4
- Provide better Error Handling when credential class isn't provided. HOT 3
- Have a platform mapper to support the different tool mappings HOT 3
- Improve CredentialsSettingsVars documentation HOT 2
- Add Pyntc as a default HOT 1
- Update CI testing (including Upstream Testing)
- Better error handling when using `config_context` for secret_access_type. HOT 1
- Environment variables match Nautobot cookie/dev env variables? HOT 1
- Add jinja settings support for golden config plugin
- Admin Guide link in Readme is broken
- v2.0.1 breaks golden config jobs when using secrets configurations from config context
- Regression of #155 in versions 2.x
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nautobot-app-nornir.