-
Notifications
You must be signed in to change notification settings - Fork 63
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
Add deploy/undeploy device/link methods to Manager #173
Labels
Comments
Skazza94
added a commit
that referenced
this issue
Jul 26, 2022
Skazza94
added a commit
that referenced
this issue
Aug 3, 2022
Skazza94
added a commit
that referenced
this issue
Aug 4, 2022
Skazza94
added a commit
that referenced
this issue
Aug 26, 2022
Skazza94
added a commit
that referenced
this issue
Aug 26, 2022
Co-authored-by: tcaiazzi <tommasocaiazzi@gmail.com>
tcaiazzi
added a commit
that referenced
this issue
Aug 31, 2022
Skazza94
added a commit
that referenced
this issue
Sep 1, 2022
tcaiazzi
added a commit
that referenced
this issue
Sep 1, 2022
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently, there's no way to deploy/undeploy a single device or collision domain. The only way is to use
deploy_lab
andundeploy_lab
with theselected_machines
parameter.Moreover, the only way to update a device is to call the
update_lab
method with a diff from the previous state. This design limits the flexibility, especially for the update. In fact, it is not even possible to disconnect a device from a collision domain.Requested changes are:
deploy_machine
method, which is a shortcut for*Machine.deploy_machines(machine.lab, selected_machines={machine.name})
deploy_link
method, which is a shortcut for*Link.deploy_links(link.lab, selected_links={link.name})
undeploy_machine
method, which is a shortcut for*Machine.undeploy_machines(machine.lab.hash, selected_machines={machine.name})
*Link.undeploy
method to accept a list ofselected_links
as optional parameterundeploy_link
method, which is a shortcut for*Link.undeploy(link.lab.hash, selected_links={link.name})
In order to support more expressive device updates, it will also:
Manager.update_lab
method completelyManager.connect_machine_to_link(machine: Machine, link: Link)
method that will perform a similar code to the currentupdate_lab
, and will also update theLab
,Machine
, andLink
objects state accordingly.Manager.disconnect_machine_from_link(machine: Machine, link: Link)
method that will disconnect a device from a specific collision domain.In order to support disconnecting a collision domain from CLI, it will also:
--eth
onvconfig
in--add
in order to be more semantically correct.--rm
parameter onvconfig
to delete an interface.--eth
onlconfig
in--add
in order to be more semantically correct.--rm
parameter onlconfig
to delete an interface.The text was updated successfully, but these errors were encountered: