Skip to content

Conversation

@Alex-Welsh
Copy link
Member

Cherry picks:

git cherry-pick -x c54e9ba5d4  # Add vlan aware VMs support
git cherry-pick -x 81e4b13f29  # fixup! Add vlan aware VMs support
git cherry-pick -x e57a5c5e2a  # fixup! Add vlan aware VMs support
git cherry-pick -x 9ad464f798  # VLAN aware VMs: pep8 fix ups
git cherry-pick -x 0ecd02aaa0  # Add support for Dell OS10
git cherry-pick -x 56735ab351  # fixup! Dell OS10 backport without trunk port strip patch
git cherry-pick -x 8aafe00013  # fixup! Dell OS10 trunk port unit tests
git cherry-pick -x 45b237b754  # Support batching up commands
git cherry-pick -x 871e8bb327  # fixup: batching adapt etcd3gw client creation for Yoga

jumpojoy and others added 9 commits July 13, 2023 14:40
With this patch ngs starts supporting attaching of trunk port to
baremetal server. Only VLAN Neutron network is supported.

There are two ways to configure trunk port:

 * C1: When segmentation details for trunk ports are inherited from
   Neutron network. VLAN translation support is not required.
   Added implementation for cisco, arista, OVS on Linux.

 * C2: When user set segmentation details for trunk port explicitly.
   Switch should support VLAN translation for this case.
   Implement only for OVS on Linux, experimental.

NetmikoSwitch.plug_port_to_network() is deprecated. New bind_port()
should be used instead.

New switch config option: vlan_translation_supported was introduced.
This option defines if switch support vlan translation which affect
the way how trunk is configured.

Change-Id: If084382f4c17438e5142f51f88d6e436f8b85082
(cherry picked from commit 1163a1f)
(cherry picked from commit 7dfe3e2)
(cherry picked from commit c54e9ba)
(cherry picked from commit 10b1fbb)
(cherry picked from commit 81e4b13)
(cherry picked from commit d940956)
(cherry picked from commit e57a5c5)
Change-Id: Ia8b2e2b8ea90830fbdbc60d8a3b64afe693224db
(cherry picked from commit 9ad464f)
This adds a new driver for Dell OS10 based switches.
Original change by msherman64[1].

[1] ChameleonCloud#14

Change-Id: Ib5bba3067352e6c7e12120982fcf5b206c9dd365
(cherry picked from commit 0ecd02a)
Change-Id: I5d2f098d7633a23d60ae85d8b1e4cffb43182b4e
(cherry picked from commit 56735ab)
Change-Id: I46684ae1cdd8207833172e5ee04aa865eb965931
(cherry picked from commit 8aafe00)
When you have around 60 baremetal nodes attached to a single switch, it
takes a long time to execute all those commands. This gets worse when
you limit the number of concurrent ssh connections.

Here we look to batch up commands to send to the switch together using a
single connection. The results of each port's commands are returned when
available.

This is implemented using etcd as a queueing system. Commands are added
to an input key, then a worker thread processes the available commands
for a particular switch device. We pull off the queue using the version
at which the keys were added, giving a FIFO style queue. The result of
each command set are added to an output key, which the original request
thread is watching. Distributed locks are used to serialise the
processing of commands for each switch device.

Various neat etcd features are used here to alleviate some of the issues
of distributed task coordination, including transactions, leases,
watches, historical key/value tracking, etc.

Co-Authored-By: Mark Goddard <mark@stackhpc.com>

Change-Id: I8c458bbc94df5630cfede5434bcdbe527988059c
(cherry picked from commit 45b237b)
The api_path was only added to the client helper function in etcd3gw 2.1.0.
This is available in upper constraints for Zed.

Change-Id: Ide34499f64f8e8a92be80a132ece6090701733a9
(cherry picked from commit 871e8bb)
@Alex-Welsh Alex-Welsh requested a review from a team as a code owner July 13, 2023 15:25
Copy link

@markgoddard markgoddard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compared with stackhpc/yoga and stable/zed. Mostly looks fine.

@Alex-Welsh Alex-Welsh enabled auto-merge July 17, 2023 14:32
@Alex-Welsh Alex-Welsh merged commit 7e9e9a0 into stackhpc/zed Jul 25, 2023
@Alex-Welsh Alex-Welsh deleted the zed-backports branch July 25, 2023 15:51
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

Successfully merging this pull request may close these issues.

6 participants