Skip to content

Commit 7aa216c

Browse files
committed
Overwrite the default affinity
Signed-off-by: clyang82 <chuyang@redhat.com>
1 parent acb908d commit 7aa216c

File tree

1 file changed

+62
-1
lines changed

1 file changed

+62
-1
lines changed

jsonnet/obs-operator.jsonnet

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,72 @@ local patchObs = obs {
6969
},
7070
},
7171
} else {}
72+
) + (
73+
if (v.kind == 'StatefulSet' || v.kind == 'Deployment') then {
74+
template+: {
75+
spec+:{
76+
affinity: {
77+
podAntiAffinity: {
78+
preferredDuringSchedulingIgnoredDuringExecution: [
79+
{
80+
podAffinityTerm: {
81+
labelSelector: {
82+
matchExpressions:[
83+
{
84+
key: 'app.kubernetes.io/name',
85+
operator: 'In',
86+
values: [
87+
v.metadata.labels['app.kubernetes.io/name'],
88+
],
89+
},
90+
{
91+
key: 'app.kubernetes.io/instance',
92+
operator: 'In',
93+
values: [
94+
v.metadata.labels['app.kubernetes.io/instance'],
95+
],
96+
},
97+
],
98+
},
99+
topologyKey: "kubernetes.io/hostname",
100+
},
101+
weight: 30,
102+
},
103+
{
104+
podAffinityTerm: {
105+
labelSelector: {
106+
matchExpressions:[
107+
{
108+
key: 'app.kubernetes.io/name',
109+
operator: 'In',
110+
values: [
111+
v.metadata.labels['app.kubernetes.io/name'],
112+
],
113+
},
114+
{
115+
key: 'app.kubernetes.io/instance',
116+
operator: 'In',
117+
values: [
118+
v.metadata.labels['app.kubernetes.io/instance'],
119+
],
120+
},
121+
],
122+
},
123+
topologyKey: "topology.kubernetes.io/zone",
124+
},
125+
weight: 70,
126+
},
127+
],
128+
},
129+
},
130+
},
131+
},
132+
} else {}
72133
) + (
73134
if (std.objectHas(obs.config, 'affinity') && (v.kind == 'StatefulSet' || v.kind == 'Deployment')) then {
74135
template+: {
75136
spec+:{
76-
affinity: obs.config.affinity,
137+
affinity+: obs.config.affinity,
77138
},
78139
},
79140
} else {}

0 commit comments

Comments
 (0)