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

bug 2218952: multus: detect network CIDRs via canary #520

Merged
merged 1 commit into from
Sep 11, 2023

Commits on Sep 7, 2023

  1. multus: detect network CIDRs via canary

    Change how Rook detects network CIDRs for Multus networks. The IPAM
    configuration is only defined as an arbitrary string JSON blob with a
    "type" field and nothing more. Rook's detection of CIDRs for whereabouts
    had already grown out of date since the initial implementation.
    Additionally, Rook did not support DHCP IPAM, which is a reasonable
    choice for users. And more, Rook did not support CNI plugin chaining,
    which further complicates NADs. Based on the CNI spec, network chaning
    can result in any changes to network CIDRs from the first-given plugin.
    
    All these problems make it more and more difficult for Rook to support
    Multus by inspecting the NAD itself to predict network CIDRs. Instead,
    it is better for Rook to treat the CNI process as a black box. To
    preserve legacy functionality of auto-detecting networks and to make
    that as robust as possible, change to a canary-style architecture like
    that used for Ceph mons, from which Rook will detect the network CIDRs
    if possible.
    
    Also allow users to specify overrides for CIDR ranges. This allows Rook
    to still support esoteric and unexpected NAD or network configurations
    where a CIDR range is not detectable or where the range detected would
    be incomplete. Because it may be impossible for Rook to understand the
    network CIDRs wholistically while residing only on a portion of the
    network, this feature should have been present from Multus's inception.
    
    Improving CIDR auto-detection and allowing users to specify overrides
    for auto-detected CIDRs rounds out Rook's Multus support for CephCluster
    (core/RADOS) installations. No further architectural changes should be
    needed for CephClusters as regards application of public/cluster network
    CIDRs for Multus networks.
    
    Signed-off-by: Blaine Gardner <[email protected]>
    (cherry picked from commit 3c43268)
    (cherry picked from commit 8b72dfa)
    BlaineEXE committed Sep 7, 2023
    Configuration menu
    Copy the full SHA
    6baeca7 View commit details
    Browse the repository at this point in the history