Add OVS-DPDK systemd unit deps#146
Open
alexandruavadanii wants to merge 2 commits intosalt-formulas:masterfrom
Open
Add OVS-DPDK systemd unit deps#146alexandruavadanii wants to merge 2 commits intosalt-formulas:masterfrom
alexandruavadanii wants to merge 2 commits intosalt-formulas:masterfrom
Conversation
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
5118cf1 to
f6f0109
Compare
Current state of distro packages systemd unit deps (extract): - dpdk.service wants network-pre.target; - network-pre.target wants openvswitch-nonetwork.service; - openvswitch-switch.service wants openvswitch-nonetwork.service, network.target; However, openvswitch-nonetwork requires ports to be bound already, handled by dpdk service. On system boot, since openvswitch-nonetwork starts before dpdk (succesfully, despite the binding issue), and the ulterior start of openvswitch-switch does not trigger a restart, the system is left in a slightly broken state, fixed by restarting either of the openvswitch-* services. To avoid another race condition leading to dead openvswitch-switch, restart the openvswitch-nonetwork service directly. Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Author
|
The OVS documentation recommends not to touch openvswitch-nonetwork directly, so an alternative method would be for dpdk.service to wait for openvswitch-switch.service (counterintuitive), and when dpdk.service is done, it can restart openvswitch-switch.service directly. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This took me a few hours to sort out.
The first bit (missing dependency on dpdk service) is quite straightforward, and also described by the last comments in [1].
The second part - using systemctl in a post-start hook - definitely not clean, but I couldn't find anything better in systemd that works for this corner case of interleaved dependencies ...
[1] https://software.intel.com/en-us/forums/networking/topic/611366