-
Notifications
You must be signed in to change notification settings - Fork 107
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
[Feature]: vSphere Support #928
Comments
Thank you for the suggestion @netgun . This is very useful, no doubt. But this will be a massive effort, as I see it. We have to acquaint ourselves with VMWare API, which we have no way to test, as we can't purchase VMW products :). What help can you provide us? |
I'm happy to take this as we already have a lot of VMware deployments with & without NSX that I can use to test the code. In return, it would also be beneficial for us to observe the lifecycle of a VM. Are we just looking to discover what vms are connected to which dvs and which portgroup ? |
What do you mean by "'m happy to take this on", @tgupta3 ? |
@ddutt I meant I can implement this. |
I am happy to help with anything that I can. I am not a developer but can help with things like docs and can even try to get technical questions answered by the developers. Docs are here https://developer.vmware.com/apis |
IMO from troubleshooting point of view two things are very useful
|
@tgupta3 So, what API calls are necessary for each? Whats the output of each of those API calls? We can start there |
I think this is a good example. It would look very similiar except use Once you have all the DVS, it's just a couple of for loops to iterate over the portgroups and then vms to get individual vm. |
Can you put together a list of fields you'll capture, @tgupta3 ? |
I think 2 tables would be a good starting point
I think with this information, we would be able to construct what the state of the environment looked like. Do you think we would be able to extend it to talk to the network device information to trace the path end to end rather than just terminating on the port of the TOR ? |
@ddutt Can you help me out a bit with how to structure. I was able to write the base layer code to connect and fetch data from vcenter, but i'm having issues on how to fetch data for each vm. I noticed in the `suzieq/config/*.yaml, usually the commands given fetches all data. However in the case of vcenter, it's a two step process
The API is documented here Is there an example I can refer to that would help me with this ? |
@tgupta3 IMO, vCenter needs to be treated as an inventory source which is polled for a list of VMs and their IPs, and then you poll each VM like you would a server. Does this make sense? Look at the netbox code (suzieq/poller/controller/source/netbox.py) for modelling vCenter as an inventory source. each VM will then show up as a device under device table, with interfaces, addresses and such. Does this make sense? |
Great, that's a good idea. Let me go through that, will reach out if I run into issues. |
@tgupta3 i highly recommend you join the SuzieQ slack. Interactions can be much faster plus others will pitch in. |
Suzieq version
0.17.0
Install Type
container
Feature type
New component
Use case
Why not support the Distributed Virtual Switch that exists within vSphere? There could be a vast source of knowledge to be brought into SuzieQ. And for those that run a Virtualized Datacenter without access to the physical devices, this could be huge
Proposed functionality/solution
If you could read the Virtual Machine and associated network topology attached to it, you would have details on how all virtual machines are connected to the Virtual Switch level.
External dependencies
none
Additional Context
_The text was updated successfully, but these errors were encountered: