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

IPv6: dhcp/provisioner: make ipv6 aware #1723

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Commits on Jul 4, 2019

  1. IPv6: dhcp/provisioner: make ipv6 aware

    If the admin network is IPv6 setup the ISC DHCPD server to configure
    and use the IPv6 daemon. For this use a seperate set of ipv6 files
    to list hosts and subnets as ipv6 hosts and subnets will fail if
    v4 dhcp tries to load them.
    
    Also make sure tftp is listening on both IPv4 and v6.
    
    To make this all happen the Network class in the Barclamp::Inventory
    library now tracks the ip_version of the network. Which is used to
    make decisions through the DHCP and provisioner cookbooks.
    
    To support backwards compatibilty with ipv4 config naming in the
    DHCP barclamp a DhcpHelper was added to return config names in
    an IPv4 or IPv6 way. The same pattern was used throughout the
    barclamp in the early versions of this patch so it's been
    refectered to the helper.
    
    Finally, when dealing with some IPv6 addresses in URIs the address
    needs to be wrapped. As such the network barclamp has grown a
    NetworkHelper module to start gathering network related helper
    method's, it's first is a wrap_ip function. Which will wrap an
    address if it happens to an IPv6 address. This makes this available
    to us anywhere in crowbar, so long as the network barclamp has been
    applied, and as a core barclamp to crowbar, should be always.
    matthewoliver committed Jul 4, 2019
    Configuration menu
    Copy the full SHA
    c956414 View commit details
    Browse the repository at this point in the history
  2. ipv6: append the adminip to the cmdline of the discovery image

    When the sleshammer discovery image boots on nodes in an IPv6
    environment there is no sane way of determining the admin ip.
    
    In IPv4 we can grab it from the SERVERID produced by wicked's
    dhcpd4 binary. Except in IPv6 the serverid seems to the be DHCP
    DUID.
    
    This patch adds an 'adminip=..' option to the commandline for
    the discovery image. The start-up.sh script and sleshammer image
    has been modified seperately.
    matthewoliver committed Jul 4, 2019
    Configuration menu
    Copy the full SHA
    b223609 View commit details
    Browse the repository at this point in the history
  3. IPv6: ntp.conf requires netmask in non CIDR format

    The ntp.conf used in crowbar wont work with IPv6 as the netmask
    in the ntp conf file need to be in the full form not CIDR.
    
    This patch adds a new method, cidr_to_subnet to the Barclamp library's
    Network class. Which is then used to send the correct string to the
    ntp.conf.erb template.
    
    Allowing the crowbar nodes being booted via the sleshammer discovery
    image to sync with the admin node.
    matthewoliver committed Jul 4, 2019
    Configuration menu
    Copy the full SHA
    c03c408 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4e70134 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ee488f9 View commit details
    Browse the repository at this point in the history