This is for installing a fix for Whereabouts to avoid a race condition which could cause duplicate IPs when used at scale.
NOTE: If you also have the CNO running, it's possible that if the CNO upgrades Whereabouts -- it may clobber this installation. In which case, you must run these steps (or a subset of them) over again (particular the creation of the daemonset-install.yaml
.
Firstly, create the addition RBAC, using the included rbac.yaml
file with:
oc create -f rbac.yaml
Create the daemonset-install.yaml
text file as shown in this gist, and create with:
oc create -f daemonset-install.yaml
Verify it by looking for pods named whereabouts-*
such as:
oc get pods -n openshift-multus
Create the net-attach-def yaml file as provided, net-attach-def.yaml
.
NOTE you must change the value of the master
parameter to match a real network interface name on all machines.
Then create with oc create -f net-attach-def.yaml
Create the replica set yaml, replica-set.yaml
.
Edit the replica set yaml number of replicas to match your desired number of replicas, e.g. change replicas: 3
to say replicas: 200
NOTE You must create the net-attach-def, and the replica set in the same namespace.
You may check for the number of pods that have gone into a running state with:
watch -n1 "oc get pods -o wide | grep Running | wc -l"
This command executes ip a
in each pod named like whereabouts-test-*
, and then sorts those IP addresses
NOTE Change inet 198
to match part of the IP address in the range
parameter in the net-attach-def as created earlier.
oc get pods | grep whereabouts-test | awk '{print $1}' | xargs -I {} oc exec -t {} -- ip a | grep "inet 198" | awk '{print $2}' | sort | uniq | wc -l
This should output the same number as the number of replicas
If the number is less than the number of replicas, there is a duplicated IP address.