@@ -19,6 +19,10 @@ package util
1919
2020import (
2121 "fmt"
22+ "sort"
23+ "strconv"
24+ "strings"
25+
2226 solr "github.com/apache/solr-operator/api/v1beta1"
2327 appsv1 "k8s.io/api/apps/v1"
2428 corev1 "k8s.io/api/core/v1"
@@ -28,9 +32,6 @@ import (
2832 "k8s.io/apimachinery/pkg/util/intstr"
2933 "k8s.io/utils/pointer"
3034 "k8s.io/utils/ptr"
31- "sort"
32- "strconv"
33- "strings"
3435)
3536
3637const (
8485// replicas: the number of replicas for the SolrCloud instance
8586// storage: the size of the storage for the SolrCloud instance (e.g. 100Gi)
8687// zkConnectionString: the connectionString of the ZK instance to connect to
87- func GenerateStatefulSet (solrCloud * solr.SolrCloud , solrCloudStatus * solr.SolrCloudStatus , hostNameIPs map [string ]string , reconcileConfigInfo map [string ]string , tls * TLSCerts , security * SecurityConfig ) * appsv1.StatefulSet {
88+ func GenerateStatefulSet (solrCloud * solr.SolrCloud , solrCloudStatus * solr.SolrCloudStatus , hostNameIPs map [string ]string , reconcileConfigInfo map [string ]string , tls * TLSCerts , security * SecurityConfig , isOpenShift bool ) * appsv1.StatefulSet {
8889 terminationGracePeriod := int64 (60 )
8990 shareProcessNamespace := false
9091 solrPodPort := solrCloud .Spec .SolrAddressability .PodPort
@@ -549,19 +550,20 @@ func GenerateStatefulSet(solrCloud *solr.SolrCloud, solrCloudStatus *solr.SolrCl
549550 Spec : corev1.PodSpec {
550551 TerminationGracePeriodSeconds : & terminationGracePeriod ,
551552 ShareProcessNamespace : & shareProcessNamespace ,
552- SecurityContext : & corev1.PodSecurityContext {
553- FSGroup : & defaultFSGroup ,
554- },
555- Volumes : solrVolumes ,
556- InitContainers : initContainers ,
557- HostAliases : hostAliases ,
558- Containers : containers ,
559- ReadinessGates : podReadinessGates ,
553+ SecurityContext : & corev1.PodSecurityContext {},
554+ Volumes : solrVolumes ,
555+ InitContainers : initContainers ,
556+ HostAliases : hostAliases ,
557+ Containers : containers ,
558+ ReadinessGates : podReadinessGates ,
560559 },
561560 },
562561 VolumeClaimTemplates : pvcs ,
563562 },
564563 }
564+ if ! isOpenShift {
565+ stateful .Spec .Template .Spec .SecurityContext .FSGroup = & defaultFSGroup
566+ }
565567 if solrCloud .UsesHeadlessService () {
566568 stateful .Spec .Template .Spec .Subdomain = solrCloud .HeadlessServiceName ()
567569 }
@@ -598,7 +600,7 @@ func GenerateStatefulSet(solrCloud *solr.SolrCloud, solrCloudStatus *solr.SolrCl
598600
599601 if customPodOptions .PodSecurityContext != nil {
600602 stateful .Spec .Template .Spec .SecurityContext = customPodOptions .PodSecurityContext
601- if stateful .Spec .Template .Spec .SecurityContext .FSGroup == nil {
603+ if stateful .Spec .Template .Spec .SecurityContext .FSGroup == nil && ! isOpenShift {
602604 stateful .Spec .Template .Spec .SecurityContext .FSGroup = & defaultFSGroup
603605 }
604606 }
0 commit comments