Remove vm-infra-bridge support in treasuremap.
- Aligned airshipctl workers-capm3 function within treasuremap - Removed vm-infra-bridge functions for controlplane and dataplane. - Removed vm-networking catalogue in multi-site shared directory Depends-On: I0855645d25587afc063febf940d7e771c32be84f Change-Id: Id151c012862801d7cbe32e1041bfc7dc6a6ef937
This commit is contained in:
parent
b20777dd7d
commit
264a740938
|
@ -1,13 +0,0 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- ../k8scontrol-ha
|
||||
|
||||
patchesJson6902:
|
||||
- target:
|
||||
group: controlplane.cluster.x-k8s.io
|
||||
version: v1alpha3
|
||||
kind: KubeadmControlPlane
|
||||
name: cluster-controlplane
|
||||
path: vm-infra-bridge.yaml
|
|
@ -1,3 +0,0 @@
|
|||
resources:
|
||||
- ../../k8scontrol-ha/replacements
|
||||
- vm-infra-bridge.yaml
|
|
@ -1,49 +0,0 @@
|
|||
apiVersion: airshipit.org/v1alpha1
|
||||
kind: ReplacementTransformer
|
||||
metadata:
|
||||
name: vm-infra-bridge-replacements
|
||||
annotations:
|
||||
config.kubernetes.io/function: |-
|
||||
container:
|
||||
image: localhost/replacement-transformer
|
||||
replacements:
|
||||
- source:
|
||||
objref:
|
||||
kind: VariableCatalogue
|
||||
name: vm-networking
|
||||
fieldref: spec.vm_infra_bridge.host_oam_interface
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmControlPlane
|
||||
fieldrefs:
|
||||
- "spec.kubeadmConfigSpec.files[path=/usr/bin/vm-infra-bridge.sh].content%REPLACEMENT_MGMT_INTF%"
|
||||
- source:
|
||||
objref:
|
||||
kind: VariableCatalogue
|
||||
name: vm-networking
|
||||
fieldref: spec.vm_infra_bridge.vm_interface
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmControlPlane
|
||||
fieldrefs:
|
||||
- "spec.kubeadmConfigSpec.files[path=/usr/bin/vm-infra-bridge.sh].content%REPLACEMENT_VM_INFRA_INTF%"
|
||||
- source:
|
||||
objref:
|
||||
kind: VariableCatalogue
|
||||
name: vm-networking
|
||||
fieldref: spec.vm_infra_bridge.vm_network
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmControlPlane
|
||||
fieldrefs:
|
||||
- "spec.kubeadmConfigSpec.files[path=/usr/bin/vm-infra-bridge.sh].content%REPLACEMENT_VM_NETWORK%"
|
||||
- source:
|
||||
objref:
|
||||
kind: VariableCatalogue
|
||||
name: vm-networking
|
||||
fieldref: spec.vm_infra_bridge.vm_network_subnet_mask
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmControlPlane
|
||||
fieldrefs:
|
||||
- "spec.kubeadmConfigSpec.files[path=/usr/bin/vm-infra-bridge.sh].content%REPLACEMENT_VMNETWORK_SUBNET_MASK%"
|
|
@ -1,64 +0,0 @@
|
|||
- op: add
|
||||
path: "/spec/kubeadmConfigSpec/preKubeadmCommands/-"
|
||||
value:
|
||||
systemctl enable --now vm-infra-bridge.service
|
||||
- op: add
|
||||
path: "/spec/kubeadmConfigSpec/files/-"
|
||||
value:
|
||||
path: /etc/systemd/system/vm-infra-bridge.service
|
||||
permissions: "0644"
|
||||
owner: root:root
|
||||
content: |
|
||||
[Unit]
|
||||
Description=Service to setup vm-infra-bridge and NAT using iptables
|
||||
Wants=network-online.target
|
||||
After=network.target network-online.target
|
||||
|
||||
[Service]
|
||||
User=root
|
||||
WorkingDirectory=/usr/bin
|
||||
ExecStart=/usr/bin/vm-infra-bridge.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- op: add
|
||||
path: "/spec/kubeadmConfigSpec/files/-"
|
||||
value:
|
||||
path: /usr/bin/vm-infra-bridge.sh
|
||||
permissions: "0744"
|
||||
owner: root:root
|
||||
content: |
|
||||
#!/bin/bash
|
||||
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
|
||||
export DEBCONF_NONINTERACTIVE_SEEN=true
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# activate ip_forwarding
|
||||
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
|
||||
|
||||
# retrieve the last octet as the vm-bridge ip addresses will follow
|
||||
# the pattern of <first three octet from the VM_NETWORK>:<last octet from the oam
|
||||
# IP's last octet>
|
||||
octet=$(ip addr show dev REPLACEMENT_MGMT_INTF | grep 'inet ' | awk 'NR==1{print $2}' | awk -F "/" '{print $1}' | awk -F "." '{print $4}')
|
||||
# Given the CIDR for oam network is /26 (with 62 possible hosts), the below modulo 44 division
|
||||
# is to ensure that the octet is within the range of the OAM last octet.
|
||||
# TODO : Need to make the modulo value configurable for future release.
|
||||
mgmtoctet=$(($octet % 44))
|
||||
vm_infra_ip_address=$(awk -F"." '{print $1"."$2"."$3"."}'<<<"REPLACEMENT_VM_NETWORK")${mgmtoctet}
|
||||
echo "Going to use ${vm_infra_ip_address}"
|
||||
# convert the subnet information to CIDR format
|
||||
vm_infra_ip_cidr=$(awk -F. '{
|
||||
split($0, octets)
|
||||
for (i in octets) {
|
||||
mask += 8 - log(2**8 - octets[i])/log(2);
|
||||
}
|
||||
print "/" mask
|
||||
}' <<< "REPLACEMENT_VMNETWORK_SUBNET_MASK")
|
||||
# add bridge if it doesn't exist
|
||||
if ! brctl show | grep -q vm-infra-bridge; then
|
||||
brctl addbr vm-infra-bridge
|
||||
ip link set vm-infra-bridge up
|
||||
ip addr add ${vm_infra_ip_address}${vm_infra_ip_cidr} dev vm-infra-bridge
|
||||
brctl addif vm-infra-bridge REPLACEMENT_VM_INFRA_INTF
|
||||
fi;
|
||||
exit 0
|
|
@ -1,13 +0,0 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- ../../../../../airshipctl/manifests/function/workers-capm3
|
||||
|
||||
patchesJson6902:
|
||||
- target:
|
||||
group: bootstrap.cluster.x-k8s.io
|
||||
version: v1alpha3
|
||||
kind: KubeadmConfigTemplate
|
||||
name: worker-1
|
||||
path: vm-infra-bridge.yaml
|
|
@ -1,2 +0,0 @@
|
|||
resources:
|
||||
- vm-infra-bridge.yaml
|
|
@ -1,49 +0,0 @@
|
|||
apiVersion: airshipit.org/v1alpha1
|
||||
kind: ReplacementTransformer
|
||||
metadata:
|
||||
name: vm-infra-bridge-replacements
|
||||
annotations:
|
||||
config.kubernetes.io/function: |-
|
||||
container:
|
||||
image: localhost/replacement-transformer
|
||||
replacements:
|
||||
- source:
|
||||
objref:
|
||||
kind: VariableCatalogue
|
||||
name: vm-networking
|
||||
fieldref: spec.vm_infra_bridge.host_oam_interface
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmConfigTemplate
|
||||
fieldrefs:
|
||||
- "spec.template.spec.files[path=/usr/bin/vm-infra-bridge.sh].content%REPLACEMENT_MGMT_INTF%"
|
||||
- source:
|
||||
objref:
|
||||
kind: VariableCatalogue
|
||||
name: vm-networking
|
||||
fieldref: spec.vm_infra_bridge.vm_interface
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmConfigTemplate
|
||||
fieldrefs:
|
||||
- "spec.template.spec.files[path=/usr/bin/vm-infra-bridge.sh].content%REPLACEMENT_VM_INFRA_INTF%"
|
||||
- source:
|
||||
objref:
|
||||
kind: VariableCatalogue
|
||||
name: vm-networking
|
||||
fieldref: spec.vm_infra_bridge.vm_network
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmConfigTemplate
|
||||
fieldrefs:
|
||||
- "spec.template.spec.files[path=/usr/bin/vm-infra-bridge.sh].content%REPLACEMENT_VM_NETWORK%"
|
||||
- source:
|
||||
objref:
|
||||
kind: VariableCatalogue
|
||||
name: vm-networking
|
||||
fieldref: spec.vm_infra_bridge.vm_network_subnet_mask
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmConfigTemplate
|
||||
fieldrefs:
|
||||
- "spec.template.spec.files[path=/usr/bin/vm-infra-bridge.sh].content%REPLACEMENT_VMNETWORK_SUBNET_MASK%"
|
|
@ -1,64 +0,0 @@
|
|||
- op: add
|
||||
path: "/spec/template/spec/preKubeadmCommands/-"
|
||||
value:
|
||||
systemctl enable --now vm-infra-bridge.service
|
||||
- op: add
|
||||
path: "/spec/template/spec/files/-"
|
||||
value:
|
||||
path: /etc/systemd/system/vm-infra-bridge.service
|
||||
permissions: "0644"
|
||||
owner: root:root
|
||||
content: |
|
||||
[Unit]
|
||||
Description=Service to setup vm-infra-bridge and NAT using iptables
|
||||
Wants=network-online.target
|
||||
After=network.target network-online.target
|
||||
|
||||
[Service]
|
||||
User=root
|
||||
WorkingDirectory=/usr/bin
|
||||
ExecStart=/usr/bin/vm-infra-bridge.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
- op: add
|
||||
path: "/spec/template/spec/files/-"
|
||||
value:
|
||||
path: /usr/bin/vm-infra-bridge.sh
|
||||
permissions: "0744"
|
||||
owner: root:root
|
||||
content: |
|
||||
#!/bin/bash
|
||||
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
|
||||
export DEBCONF_NONINTERACTIVE_SEEN=true
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# activate ip_forwarding
|
||||
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
|
||||
|
||||
# retrieve the last octet as the vm-bridge ip addresses will follow
|
||||
# the pattern of <first three octet from the VM_NETWORK>:<last octet from the oam
|
||||
# IP's last octet>
|
||||
octet=$(ip addr show dev REPLACEMENT_MGMT_INTF | grep 'inet ' | awk 'NR==1{print $2}' | awk -F "/" '{print $1}' | awk -F "." '{print $4}')
|
||||
# Given the CIDR for oam network is /26 (with 62 possible hosts), the below modulo 44 division
|
||||
# is to ensure that the octet is within the range of the OAM last octet.
|
||||
# TODO : Need to make the modulo value configurable for future release.
|
||||
mgmtoctet=$(($octet % 44))
|
||||
vm_infra_ip_address=$(awk -F"." '{print $1"."$2"."$3"."}'<<<"REPLACEMENT_VM_NETWORK")${mgmtoctet}
|
||||
echo "Going to use ${vm_infra_ip_address}"
|
||||
# convert the subnet information to CIDR format
|
||||
vm_infra_ip_cidr=$(awk -F. '{
|
||||
split($0, octets)
|
||||
for (i in octets) {
|
||||
mask += 8 - log(2**8 - octets[i])/log(2);
|
||||
}
|
||||
print "/" mask
|
||||
}' <<< "REPLACEMENT_VMNETWORK_SUBNET_MASK")
|
||||
# add bridge if it doesn't exist
|
||||
if ! brctl show | grep -q vm-infra-bridge; then
|
||||
brctl addbr vm-infra-bridge
|
||||
ip link set vm-infra-bridge up
|
||||
ip addr add ${vm_infra_ip_address}${vm_infra_ip_cidr} dev vm-infra-bridge
|
||||
brctl addif vm-infra-bridge REPLACEMENT_VM_INFRA_INTF
|
||||
fi;
|
||||
exit 0
|
|
@ -1,31 +0,0 @@
|
|||
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3
|
||||
kind: KubeadmConfigTemplate
|
||||
metadata:
|
||||
name: worker-1
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
joinConfiguration:
|
||||
nodeRegistration:
|
||||
name: '{{ ds.meta_data.name }}'
|
||||
kubeletExtraArgs:
|
||||
node-labels: 'metal3.io/uuid={{ ds.meta_data.uuid }},node-type=worker'
|
||||
provider-id: 'metal3://{{ ds.meta_data.uuid }}'
|
||||
feature-gates: "IPv6DualStack=true"
|
||||
files:
|
||||
- path: "/etc/systemd/system/docker.service.d/http-proxy.conf"
|
||||
content: |
|
||||
[Service]
|
||||
Environment="HTTP_PROXY=REPLACEMENT_HTTP_PROXY"
|
||||
Environment="HTTPS_PROXY=REPLACEMENT_HTTPS_PROXY"
|
||||
Environment="NO_PROXY=REPLACEMENT_NO_PROXY"
|
||||
preKubeadmCommands:
|
||||
# Restart docker to apply any proxy settings
|
||||
- export HOME=/root
|
||||
- systemctl daemon-reload
|
||||
- systemctl restart docker
|
||||
users:
|
||||
- name: deployer
|
||||
sshAuthorizedKeys:
|
||||
- REPLACE_HOST_SSH_KEY
|
||||
sudo: ALL=(ALL) NOPASSWD:ALL
|
|
@ -1,4 +1,2 @@
|
|||
resources:
|
||||
- kubeadmconfigtemplate.yaml
|
||||
- machinedeployment.yaml
|
||||
- metal3machinetemplate.yaml
|
||||
- ../../../../airshipctl/manifests/function/workers-capm3
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
apiVersion: cluster.x-k8s.io/v1alpha3
|
||||
kind: MachineDeployment
|
||||
metadata:
|
||||
name: worker-1
|
||||
labels:
|
||||
cluster.x-k8s.io/cluster-name: target-cluster
|
||||
spec:
|
||||
clusterName: target-cluster
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
cluster.x-k8s.io/cluster-name: target-cluster
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
cluster.x-k8s.io/cluster-name: target-cluster
|
||||
spec:
|
||||
clusterName: target-cluster
|
||||
version: v1.18.3
|
||||
bootstrap:
|
||||
configRef:
|
||||
name: worker-1
|
||||
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3
|
||||
kind: KubeadmConfigTemplate
|
||||
infrastructureRef:
|
||||
name: worker-1
|
||||
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
|
||||
kind: Metal3MachineTemplate
|
||||
---
|
|
@ -1,10 +0,0 @@
|
|||
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
|
||||
kind: Metal3MachineTemplate
|
||||
metadata:
|
||||
name: worker-1
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
image:
|
||||
url: http://REPLACEMENT_PROVISIONING_IP:80/images/data-plane.qcow2
|
||||
checksum: http://REPLACEMENT_PROVISIONING_IP:80/images/data-plane.qcow2.md5sum
|
|
@ -1,3 +1,2 @@
|
|||
resources:
|
||||
- workers-env-vars.yaml
|
||||
- metal3machinetemplate_vars.yaml
|
||||
- ../../../../../airshipctl/manifests/function/workers-capm3/replacements
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
# These rules inject env vars into the workers.
|
||||
apiVersion: airshipit.org/v1alpha1
|
||||
kind: ReplacementTransformer
|
||||
metadata:
|
||||
name: metal3machientemplate-replacements
|
||||
annotations:
|
||||
config.kubernetes.io/function: |-
|
||||
container:
|
||||
image: localhost/replacement-transformer
|
||||
replacements:
|
||||
- source:
|
||||
objref:
|
||||
name: networking
|
||||
fieldref: spec.ironic.provisioningIp
|
||||
target:
|
||||
objref:
|
||||
kind: Metal3MachineTemplate
|
||||
name: worker-1
|
||||
fieldrefs:
|
||||
- "spec.template.spec.image.url%REPLACEMENT_PROVISIONING_IP%"
|
||||
- "spec.template.spec.image.checksum%REPLACEMENT_PROVISIONING_IP%"
|
|
@ -1,41 +0,0 @@
|
|||
# These rules inject env vars into the workers.
|
||||
apiVersion: airshipit.org/v1alpha1
|
||||
kind: ReplacementTransformer
|
||||
metadata:
|
||||
name: workers-env-vars-replacements
|
||||
annotations:
|
||||
config.kubernetes.io/function: |-
|
||||
container:
|
||||
image: localhost/replacement-transformer
|
||||
replacements:
|
||||
# Replace the proxy vars
|
||||
- source:
|
||||
objref:
|
||||
name: env-vars-catalogue
|
||||
fieldref: env.HTTP_PROXY
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmConfigTemplate
|
||||
name: worker-1
|
||||
fieldrefs:
|
||||
- "spec.template.spec.files[path=/etc/systemd/system/docker.service.d/http-proxy.conf].content%REPLACEMENT_HTTP_PROXY%"
|
||||
- source:
|
||||
objref:
|
||||
name: env-vars-catalogue
|
||||
fieldref: env.HTTPS_PROXY
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmConfigTemplate
|
||||
name: worker-1
|
||||
fieldrefs:
|
||||
- "spec.template.spec.files[path=/etc/systemd/system/docker.service.d/http-proxy.conf].content%REPLACEMENT_HTTPS_PROXY%"
|
||||
- source:
|
||||
objref:
|
||||
name: env-vars-catalogue
|
||||
fieldref: env.NO_PROXY
|
||||
target:
|
||||
objref:
|
||||
kind: KubeadmConfigTemplate
|
||||
name: worker-1
|
||||
fieldrefs:
|
||||
- "spec.template.spec.files[path=/etc/systemd/system/docker.service.d/http-proxy.conf].content%REPLACEMENT_NO_PROXY%"
|
|
@ -2,8 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||
kind: Kustomization
|
||||
resources:
|
||||
- ../../catalogues
|
||||
- ../../../../../function/vm-infra-bridge/dataplane
|
||||
- ../../../../../function/workers-capm3
|
||||
|
||||
transformers:
|
||||
- ../../../../../function/vm-infra-bridge/dataplane/replacements
|
||||
- ../../../../../function/workers-capm3/replacements
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../../../../function/k8scontrol-vm-infra
|
||||
- ../../../../function/k8scontrol-ha
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../../../../../function/k8scontrol-vm-infra/replacements
|
||||
- ../../../../../function/k8scontrol-ha/replacements
|
||||
|
|
|
@ -4,4 +4,3 @@ resources:
|
|||
- ../../../../../../airshipctl/manifests/function/airshipctl-base-catalogues
|
||||
- ../../../../function/treasuremap-base-catalogues
|
||||
- subcluster-networking.yaml
|
||||
- vm-networking.yaml
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
apiVersion: airshipit.org/v1alpha1
|
||||
kind: VariableCatalogue
|
||||
metadata:
|
||||
name: vm-networking
|
||||
labels:
|
||||
airshipit.org/deploy-k8s: "false"
|
||||
spec:
|
||||
vm_infra_bridge:
|
||||
host_oam_interface: bond0.61
|
||||
vm_interface: bond0.66
|
||||
vm_network: 192.168.0.0
|
||||
vm_network_subnet_mask: 255.255.240.0
|
Loading…
Reference in New Issue