Skip to content

Commit 2134a10

Browse files
authored
Merge pull request #303 from xyphr/pod-label-selector
Added pod label length check and prefix check
2 parents 9a116b3 + 52f999f commit 2134a10

File tree

1 file changed

+32
-31
lines changed

1 file changed

+32
-31
lines changed

pkg/processor/processor.go

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -282,46 +282,47 @@ func (p *Processor) processPodEvent(c *v1.Pod) error {
282282
func (p *Processor) processDataPodEvent(c *v1.Pod) error {
283283
// Set the policy to retain
284284
name := c.Labels["component"]
285-
name = name[14:len(name)]
286-
287-
p.k8sclient.UpdateVolumeReclaimPolicy(p.clusters[fmt.Sprintf("%s-%s", name, c.ObjectMeta.Namespace)].ESCluster.Spec.Storage.VolumeReclaimPolicy, c.ObjectMeta.Namespace, name)
288-
285+
if len(name) > 14 && name[:14] == "elasticsearch-" {
286+
name = name[14:]
287+
p.k8sclient.UpdateVolumeReclaimPolicy(p.clusters[fmt.Sprintf("%s-%s", name, c.ObjectMeta.Namespace)].ESCluster.Spec.Storage.VolumeReclaimPolicy, c.ObjectMeta.Namespace, name)
288+
}
289289
return nil
290290
}
291291

292292
func (p *Processor) processMasterPodEvent(c *v1.Pod) error {
293293
name := c.Labels["component"]
294-
name = name[14:len(name)]
295-
// get all ready master nodes
296-
m, err := p.k8sclient.GetMasterNodes(c.ObjectMeta.Namespace, name)
297-
if err != nil {
298-
return err
299-
}
300-
readyMasterPods := 0
301-
for _, pod := range m.Items {
302-
for _, cond := range pod.Status.Conditions {
303-
if cond.Type == v1.PodReady && cond.Status == v1.ConditionTrue {
304-
readyMasterPods++
305-
}
306-
}
307-
}
308-
logrus.Debugf("Found %d ready master pods", readyMasterPods)
309-
// calc min master nodes
310-
minMasterNodes := elasticsearchutil.MinMasterNodes(readyMasterPods)
311-
// set min master node value in ES
312-
cluster, ok := p.clusters[fmt.Sprintf("%s-%s", name, c.ObjectMeta.Namespace)]
313-
if !ok {
314-
return fmt.Errorf("No elasticsearch cluster with name %s found", name)
315-
}
316-
esHost := cluster.ESCluster.Spec.Scheduler.ElasticURL
317-
if cluster.ESCluster.Spec.MasterNodeReplicas == readyMasterPods {
318-
logrus.Infof("All %d master nodes ready. Setting 'discovery.zen.minimum_master_nodes' to %d", readyMasterPods, minMasterNodes)
319-
err := elasticsearchutil.UpdateDiscoveryMinMasterNodes(esHost, minMasterNodes)
294+
if len(name) > 14 && name[:14] == "elasticsearch-" {
295+
name = name[14:]
296+
// get all ready master nodes
297+
m, err := p.k8sclient.GetMasterNodes(c.ObjectMeta.Namespace, name)
320298
if err != nil {
321299
return err
322300
}
301+
readyMasterPods := 0
302+
for _, pod := range m.Items {
303+
for _, cond := range pod.Status.Conditions {
304+
if cond.Type == v1.PodReady && cond.Status == v1.ConditionTrue {
305+
readyMasterPods++
306+
}
307+
}
308+
}
309+
logrus.Debugf("Found %d ready master pods", readyMasterPods)
310+
// calc min master nodes
311+
minMasterNodes := elasticsearchutil.MinMasterNodes(readyMasterPods)
312+
// set min master node value in ES
313+
cluster, ok := p.clusters[fmt.Sprintf("%s-%s", name, c.ObjectMeta.Namespace)]
314+
if !ok {
315+
return fmt.Errorf("No elasticsearch cluster with name %s found", name)
316+
}
317+
esHost := cluster.ESCluster.Spec.Scheduler.ElasticURL
318+
if cluster.ESCluster.Spec.MasterNodeReplicas == readyMasterPods {
319+
logrus.Infof("All %d master nodes ready. Setting 'discovery.zen.minimum_master_nodes' to %d", readyMasterPods, minMasterNodes)
320+
err := elasticsearchutil.UpdateDiscoveryMinMasterNodes(esHost, minMasterNodes)
321+
if err != nil {
322+
return err
323+
}
324+
}
323325
}
324-
325326
return nil
326327
}
327328

0 commit comments

Comments
 (0)