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

Inventory: Handle virtual chassis - ignore children #200

Closed
DouglasHeriot opened this issue May 11, 2020 · 1 comment
Closed

Inventory: Handle virtual chassis - ignore children #200

DouglasHeriot opened this issue May 11, 2020 · 1 comment

Comments

@DouglasHeriot
Copy link
Contributor

DouglasHeriot commented May 11, 2020

ISSUE TYPE
  • Feature Idea
SOFTWARE VERSIONS
Ansible:

2.9.7

Netbox:

2.8.3

Collection:

0.2.0

SUMMARY

"A virtual chassis represents a set of devices which share a single control plane: a stack of switches which are managed as a single device, for example."
https://netbox.readthedocs.io/en/stable/core-functionality/devices/#virtual-chassis

As the whole point of a virtual chassis is to have a shared control plane, a virtual chassis should be a single host in the inventory - there is no need (and its often not even possible) to connect to a child of the switch stack.

I propose that child chassis devices shouldn't be included in the inventory. Their interfaces are all included in the master device (in the Netbox UI, and API)

This was originally proposed in ansible/ansible#60642

EXPECTED RESULTS
            "Test Nexus One": {
                "device_type": "nexus-parent",
                "manufacturer": "cisco",
                "interfaces": [
                    {
                        "id": 1,
                        ...
    "manufacturer_cisco": {
        "hosts": [
            "Test Nexus One",
        ]
    },

ACTUAL RESULTS
            "Test Nexus Child One": {
                "device_type": "nexus-child",
                "interfaces": [],
                "manufacturer": "cisco",
                        ...
            },
            "Test Nexus One": {
                "device_type": "nexus-parent",
                "manufacturer": "cisco",
                "interfaces": [
                    {
                        "id": 1,
                        ...

    "manufacturer_cisco": {
        "hosts": [
            "Test Nexus Child One",
            "Test Nexus One",
        ]
    },

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants