Uplifting VINO and updating VINO CR

Change-Id: I0cdb1e1c68c9e249b68b078178f0f931d565ddf5
This commit is contained in:
Kostiantyn Kalynovskyi 2021-06-17 14:54:10 +00:00 committed by Kostyantyn Kalynovskyi
parent 6cdb73997f
commit 5e0528d702
11 changed files with 99 additions and 85 deletions

View File

@ -5,19 +5,19 @@ dependencies:
git:
repo: "https://opendev.org/airship/vino"
directory: "config/crd"
ref: "0e709c0d27b2052a5198f8d27d39bd25ed122dae"
ref: "7602aa53240517c94127ee0c1db1cecfd7e80f87"
- name: upstream/default
git:
repo: "https://opendev.org/airship/vino"
directory: "config/default"
ref: "0e709c0d27b2052a5198f8d27d39bd25ed122dae"
ref: "7602aa53240517c94127ee0c1db1cecfd7e80f87"
- name: upstream/manager
git:
repo: "https://opendev.org/airship/vino"
directory: "config/manager"
ref: "0e709c0d27b2052a5198f8d27d39bd25ed122dae"
ref: "7602aa53240517c94127ee0c1db1cecfd7e80f87"
- name: upstream/rbac
git:
repo: "https://opendev.org/airship/vino"
directory: "config/rbac"
ref: "0e709c0d27b2052a5198f8d27d39bd25ed122dae"
ref: "7602aa53240517c94127ee0c1db1cecfd7e80f87"

View File

@ -5,7 +5,7 @@ metadata:
upstream:
type: git
git:
commit: 0e709c0d27b2052a5198f8d27d39bd25ed122dae
commit: 7602aa53240517c94127ee0c1db1cecfd7e80f87
repo: https://opendev.org/airship/vino
directory: config/crd
ref: 0e709c0d27b2052a5198f8d27d39bd25ed122dae
ref: 7602aa53240517c94127ee0c1db1cecfd7e80f87

View File

@ -55,6 +55,21 @@ spec:
- mac
type: object
type: array
allocatedRanges:
items:
properties:
allocatedTo:
type: string
start:
type: string
stop:
type: string
required:
- allocatedTo
- start
- stop
type: object
type: array
macPrefix:
description: MACPrefix defines the MAC prefix to use for VM mac addresses
type: string

View File

@ -82,16 +82,24 @@ spec:
items:
description: Network defines libvirt networks
properties:
allocationStart:
bridgeName:
description: BridgeName is the name of the bridge to be created
as libvirt network. works if AllocateNodeIP is sepcified
type: string
allocationStop:
dhcpAllocationStart:
description: DHCPAllocationStart must be inside the SubNet range
type: string
dhcpAllocationStop:
description: DHCPAllocationStop must be inside the SubNet range
type: string
dns_servers:
items:
type: string
type: array
instanceSubnet:
type: string
instanceSubnetBitStep:
description: InstanceSubnetBitStep indicates how many bites
to allocate for each node DHCP range
type: integer
libvirtTemplate:
description: LibvirtTemplate identifies which libvirt template
to be used to create a network
@ -122,6 +130,10 @@ spec:
type: string
type: object
type: array
staticAllocationStart:
type: string
staticAllocationStop:
type: string
subnet:
type: string
type:
@ -239,13 +251,8 @@ spec:
description: PXEBootImageHostPort will be used to download the PXE
boot image
type: integer
vmBridge:
description: VMBridge defines the single interface name to be used
as a bridge for VMs
type: string
required:
- bmcCredentials
- vmBridge
type: object
status:
description: VinoStatus defines the observed state of Vino

View File

@ -5,7 +5,7 @@ metadata:
upstream:
type: git
git:
commit: 0e709c0d27b2052a5198f8d27d39bd25ed122dae
commit: 7602aa53240517c94127ee0c1db1cecfd7e80f87
repo: https://opendev.org/airship/vino
directory: config/default
ref: 0e709c0d27b2052a5198f8d27d39bd25ed122dae
ref: 7602aa53240517c94127ee0c1db1cecfd7e80f87

View File

@ -5,7 +5,7 @@ metadata:
upstream:
type: git
git:
commit: 0e709c0d27b2052a5198f8d27d39bd25ed122dae
commit: 7602aa53240517c94127ee0c1db1cecfd7e80f87
repo: https://opendev.org/airship/vino
directory: config/manager
ref: 0e709c0d27b2052a5198f8d27d39bd25ed122dae
ref: 7602aa53240517c94127ee0c1db1cecfd7e80f87

View File

@ -108,14 +108,14 @@ spec:
# host: 127.0.0.1
# initialDelaySeconds: 30
# periodSeconds: 30
- name: labeler
image: quay.io/airshipit/nodelabeler
imagePullPolicy: IfNotPresent
env:
- name: NODE
valueFrom:
fieldRef:
fieldPath: spec.nodeName
# - name: labeler
# image: quay.io/airshipit/nodelabeler
# imagePullPolicy: IfNotPresent
# env:
# - name: NODE
# valueFrom:
# fieldRef:
# fieldPath: spec.nodeName
- name: vino-builder
readinessProbe:
initialDelaySeconds: 20

View File

@ -4,11 +4,11 @@ libvirtNetworks:
<network>
<name>{{ network.name }}</name>
<forward mode='route'/>
<bridge name='vm-infra-bridge' stp='off' delay='0' {% if network.physicalInterface is defined %} dev='{{ network.physicalInterface }}' {% endif %}/>
<ip address='{{ ipam.bridge_ip | default(omit) }}' netmask='{{ ipam.bridge_subnet_netmask }}'>
<bridge name='{{ network.bridgeName | default('vm-infra-bridge') }}' stp='off' delay='0'/>
<ip address='{{ network.bridgeIP | default(omit) }}' netmask='{{ network.subnet | ansible.netcommon.ipaddr('netmask') }}'>
<!-- <tftp root='/srv/tftp'/> -->
<dhcp>
<range start='{{ ipam.instance_ips[0] }}' end='{{ ipam.instance_ips[-1] }}'/>
<range start='{{ network.range.start }}' end='{{ network.range.stop }}'/>
<bootp file='http://{{ pxeBootImageHost | default(ansible_default_ipv4.address) }}:{{ pxeBootImageHostPort | default(80) }}/dualboot.ipxe'/>
</dhcp>
</ip>

View File

@ -5,7 +5,7 @@ metadata:
upstream:
type: git
git:
commit: 0e709c0d27b2052a5198f8d27d39bd25ed122dae
commit: 7602aa53240517c94127ee0c1db1cecfd7e80f87
repo: https://opendev.org/airship/vino
directory: config/rbac
ref: 0e709c0d27b2052a5198f8d27d39bd25ed122dae
ref: 7602aa53240517c94127ee0c1db1cecfd7e80f87

View File

@ -7,19 +7,21 @@
apiVersion: v1
kind: Secret
metadata:
name: test-template
name: vino-network-template
namespace: default
type: Opaque
stringData:
template: |
{{ $netToIface := dict }}
{{ $netToIp := dict }}
{{ $netToNetmask := dict }}
links:
{{- range .Node.NetworkInterfaces }}
{{- range .BuilderDomain.Interfaces }}
- id: {{ .Name }}
name: {{ .Name }}
type: {{ .Type }}
type: phy
mtu: {{ .MTU }}
ethernet_mac_address: {{ index $.Generated.MACAddresses .Name }}
ethernet_mac_address: {{ .MACAddress }}
{{- if .Options -}}
{{ range $key, $val := .Options }}
{{ $key }}: {{ $val }}
@ -27,14 +29,16 @@ stringData:
{{- end }}
{{- /* Save the network->interface mapping, needed below */ -}}
{{- $_ := set $netToIface .NetworkName .Name }}
{{- $_ := set $netToIp .NetworkName .IPAddress }}
{{- $_ := set $netToNetmask .NetworkName .NetMask }}
{{- end }}
networks:
{{- range .Networks }}
- id: {{ .Name }}
type: {{ .Type }}
link: {{ index $netToIface .Name }}
ip_address: {{ index $.Generated.IPAddresses .Name }}
#netmask: "TODO - see if needed when ip has CIDR range"
ip_address: {{ index $netToIp .Name }}
netmask: {{ index $netToNetmask .Name }}
dns_nameservers: {{ .DNSServers }}
{{- if .Routes }}
routes:
@ -44,7 +48,4 @@ stringData:
gateway: {{ .Gateway }}
{{- end }}
{{- end }}
{{- end }}
#services:
# TODO: confirm dns_nameservers above does the trick here
{{- end }}

View File

@ -1,62 +1,53 @@
apiVersion: airship.airshipit.org/v1
kind: Vino
metadata:
name: vino-test-cr
# labels: ...
name: vino-subclusters
spec:
# Need to add replacement for this, this is ironic host/ip
pxeBootImageHost: 192.168.51.11
pxeBootImageHostPort: 80
nodeLabelKeysToCopy:
- "airshipit.org/server"
- "airshipit.org/rack"
nodeSelector:
matchLabels:
beta.kubernetes.io/os: linux
node-type: worker
configuration:
cpuExclude: 0-4,54-60
redfishCredentialSecret:
name: redfishSecret
cpuExclude: 0-1
networks:
- name: management
subnet: 192.168.2.0/20
type: ipv4
allocationStart: 192.168.2.10
allocationStop: 192.168.2.14 # docs should specify that the range should = number of vms (to permit future expansion over multiple vino crs etc)
libvirtTemplate: management
subnet: 192.168.0.0/20
dhcpAllocationStart: 192.168.4.0
dhcpAllocationStop: 192.168.7.255
routes:
- network: 10.0.0.0
netmask: 255.255.255.0
gateway: $vino.nodebridgegw # vino will need to populate this from the nodelabel value `airshipit.org/vino.nodebridgegw`
dns_servers: ["135.188.34.124"]
- name: external
subnet: 169.0.0.0/24
type: ipv4
routes:
- network: 0.0.0.0
- gateway: $vinobridge
network: 0.0.0.0
netmask: 0.0.0.0
gateway: 169.0.0.1
allocationStart: 169.0.0.10
allocationStop: 169.0.0.254
vmBridge: lo
instanceSubnetBitStep: 4
type: bridge
staticAllocationStart: 192.168.2.10
staticAllocationStop: 192.168.2.255
# This needs to come from networking catalog
dns_servers: ["135.188.34.124"]
macPrefix: "52:54:00:06:00:00"
# Need to add replacement for this
physicalInterface: bond0.1516
nodes:
- name: "worker"
count: 3
- name: master
enableVNC: true
count: 2
bmhLabels:
vino.airshipit.org/flavor: large
networkDataTemplate:
name: "test-template"
name: "vino-network-template"
namespace: "default"
bootInterfaceName: management
networkInterfaces:
- name: management
type: bridge
type: network
network: management
mtu: 1500
options:
bridgeName: vminfra-bridge
- name: external
type: sriov-bond
network: external
mtu: 9100
options:
# this is an 'open-ended' set of k/v pairs, validation is perfomed by vino rather than crd schema.
pf: "[enp29s0f0,enp219s1f1]"
vlan: "100"
bond_mode: 802.3ad
bond_xmit_hash_policy: layer3+4
bond_miimon: "100"
bmcCredentials:
username: "admin"
password: "passw0rd"
username: admin
password: passw0rd