vino/config
Matt McEuen 7dddf0f7d1 Build BMH network config
This constructs a VM's BMH network config secret, based on a template.
It also integrates IPAM functionality into the controller.

TODOs for subsequent patchsets:
- manage VM mac addresses.
- implement replacement of e.g. $vino.nodebridgegw
- confirm the nameservers definition below works
  (it's a different field than we use in hostgenerator-m3)

The current patchset generates a networkData like so from the sample CRs:

links:
  - id: management
    name: management
    type: bridge
    mtu: 1500
    #  ethernet_mac_address: ??
    bridgeName: vminfra-bridge
  - id: external
    name: external
    type: sriov-bond
    mtu: 9100
    #  ethernet_mac_address: ??
    bond_miimon: 100
    bond_mode: 802.3ad
    bond_xmit_hash_policy: layer3+4
    pf: [enp29s0f0,enp219s1f1]
    vlan: 100
networks:
  - id: management
    type: ipv4
    link: management
    ip_address: 192.168.2.10
    #netmask: "TODO - see if needed when ip has CIDR range"
    dns_nameservers: [135.188.34.124]
    routes:
      - network: 10.0.0.0
        netmask: 255.255.255.0
        gateway: $vino.nodebridgegw
  - id: external
    type: ipv4
    link: external
    ip_address: 169.0.0.10
    #netmask: "TODO - see if needed when ip has CIDR range"
    dns_nameservers: []
    routes:
      - network: 0.0.0.0
        netmask: 0.0.0.0
        gateway: 169.0.0.1

Change-Id: I99b1a104764687c8b84f2495591e0712bed73ae5
2021-03-09 10:40:31 -06:00
..
certmanager Fix linting issues 2020-12-09 13:21:55 -06:00
crd Build BMH network config 2021-03-09 10:40:31 -06:00
default Fix linting issues 2020-12-09 13:21:55 -06:00
libvirt-sushy Sushy tools for VINO operator 2021-01-04 23:04:15 +00:00
manager ViNO: Integrate Node Labeler 2021-02-23 22:27:40 +00:00
prometheus kubebuilder init 2020-11-19 15:28:17 -05:00
rbac Build BMH network config 2021-03-09 10:40:31 -06:00
samples Build BMH network config 2021-03-09 10:40:31 -06:00
webhook kubebuilder init 2020-11-19 15:28:17 -05:00