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

Add infra_ipv6 attribute to devices #297

Draft
wants to merge 15 commits into
base: develop
Choose a base branch
from

Commits on Mar 31, 2023

  1. Configuration menu
    Copy the full SHA
    b91164c View commit details
    Browse the repository at this point in the history
  2. Accept ipv6_gw argument in mgmtdomain APIs

    Valid IPv6 interface addresses must be accepted by the mgmtdomain API
    endpoints. Additionally, an mgmtdomain can be either IPv4, IPv6 or both,
    meaning that there are now multiple sets of minimally required
    attributes to post to the endpoint.
    
    This should ensure backwards compatibility with API clients that only
    support ipv4_gw
    lunkwill42 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    d1a545d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ce1d4c3 View commit details
    Browse the repository at this point in the history
  4. Add IPv6 to Mgmtdomain.find_free_mgmt_ip

    The new version of this function can take the optional version argument
    to select whether to get an address from the IPv4 or the IPv6 network of
    the mgmtdomain.
    lunkwill42 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    4d88567 View commit details
    Browse the repository at this point in the history
  5. Add new mgmtdomain_primary_ip_version api setting

    This config setting will be used to choose which IP address version is
    preferred as the primary management address of a device in a dual-stack
    management domain.
    lunkwill42 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    d2f59b3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7d3a000 View commit details
    Browse the repository at this point in the history
  7. Add secondary_management_ip to Device

    This allows (but does not require) devices to be configured with
    dual-stack management (even though CNaaS-NMS will continue to use the
    primary management address).
    lunkwill42 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    fd8c026 View commit details
    Browse the repository at this point in the history
  8. Assign secondary mgmt IPs in access device init

    This updates init_access_device_step1 to fetch, reserv and assign
    secondary management IPs from any dual-stack Mgmtdomain.
    lunkwill42 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    1a69c5a View commit details
    Browse the repository at this point in the history
  9. Add extra variables for secondary mgmt addr

    Prefix length and mgmt_gw should be available variables also for the
    secondary management address.
    lunkwill42 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    fada077 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    6c3ccd5 View commit details
    Browse the repository at this point in the history
  11. Include vars for secondary addrs on ACCESS devices

    This repeats a lot of what `init_access_device_step1` does. Not sure
    why there is an overlap, but I'm not going to change it without being
    sure.
    lunkwill42 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    ade0aab View commit details
    Browse the repository at this point in the history
  12. Accept secondary_management_ip in device PUT

    This also refactors redundant IP field value validation code. The logic
    for all IP addr fields is the same, so no need for duplication.
    lunkwill42 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    5e323f6 View commit details
    Browse the repository at this point in the history
  13. Add infra_ipv6 field to Device

    This field is required for installations that want to run IPv6 directly
    on the underlay.
    lunkwill42 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    5b52dbc View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    adb375a View commit details
    Browse the repository at this point in the history
  15. Validate incoming infra_ipv6 values in API

    Since this field is explicitly IPv6-only, it needs a separate check
    from the other IPv6 fields.
    lunkwill42 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    8bf8078 View commit details
    Browse the repository at this point in the history