Skip to content

Commit

Permalink
add envVars
Browse files Browse the repository at this point in the history
  • Loading branch information
Elbehery committed Oct 11, 2024
1 parent 0d230af commit d874214
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 9 deletions.
6 changes: 3 additions & 3 deletions pkg/cmd/backuprestore/backupserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ func (b *backupServer) Validate() error {
klog.Infof("@Mustafa: before cronSchedule")
cronSchedule, err := cron.ParseStandard(b.schedule)
if err != nil {
klog.Infof("@Mustafa: cronSchedule [%v] : err [%w]", cronSchedule, err)
klog.Infof("@Mustafa: cronSchedule [%v] : err [%v]", cronSchedule, err)
return fmt.Errorf("error parsing backup schedule %v: %w", b.schedule, err)
}
b.cronSchedule = cronSchedule
Expand All @@ -110,15 +110,15 @@ func (b *backupServer) Validate() error {
b.backupOptions.backupDir = backupVolume
err = b.backupOptions.Validate()
if err != nil {
klog.Infof("@Mustafa: backupOptions.Validate() err [%w]", err)
klog.Infof("@Mustafa: backupOptions.Validate() err [%v]", err)
return fmt.Errorf("error validating backup %v: %w", b.backupOptions, err)
}
klog.Infof("@Mustafa: after backupOptions.Validate()")

klog.Infof("@Mustafa: before pruneOpts.Validate()")
err = b.PruneOpts.Validate()
if err != nil {
klog.Infof("@Mustafa: pruneOpts.Validate() err [%w]", err)
klog.Infof("@Mustafa: pruneOpts.Validate() err [%v]", err)
return fmt.Errorf("error validating prune args %v: %w", b.PruneOpts, err)
}
klog.Infof("@Mustafa: after pruneOpts.Validate()")
Expand Down
2 changes: 0 additions & 2 deletions pkg/cmd/backuprestore/fileioutils.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ import (
"time"

"k8s.io/klog/v2"

"k8s.io/klog/v2"
)

func dirExists(dirname string) (bool, error) {
Expand Down
25 changes: 22 additions & 3 deletions pkg/operator/periodicbackupcontroller/periodicbackupcontroller.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import (
"strings"
"time"

"github.com/openshift/cluster-etcd-operator/pkg/etcdenvvar"

clientv1 "k8s.io/client-go/listers/core/v1"

backupv1alpha1 "github.com/openshift/api/config/v1alpha1"
Expand Down Expand Up @@ -51,6 +53,7 @@ type PeriodicBackupController struct {
backupVarGetter backuphelpers.BackupVar
featureGateAccessor featuregates.FeatureGateAccess
kubeInformers v1helpers.KubeInformersForNamespaces
envVarGetter etcdenvvar.EnvVar
}

func NewPeriodicBackupController(
Expand All @@ -63,7 +66,8 @@ func NewPeriodicBackupController(
accessor featuregates.FeatureGateAccess,
backupVarGetter backuphelpers.BackupVar,
backupsInformer factory.Informer,
kubeInformers v1helpers.KubeInformersForNamespaces) factory.Controller {
kubeInformers v1helpers.KubeInformersForNamespaces,
envVarGetter etcdenvvar.EnvVar) factory.Controller {

c := &PeriodicBackupController{
operatorClient: operatorClient,
Expand All @@ -74,6 +78,7 @@ func NewPeriodicBackupController(
backupVarGetter: backupVarGetter,
featureGateAccessor: accessor,
kubeInformers: kubeInformers,
envVarGetter: envVarGetter,
}

syncer := health.NewDefaultCheckingSyncWrapper(c.sync)
Expand Down Expand Up @@ -117,7 +122,7 @@ func (c *PeriodicBackupController) sync(ctx context.Context, _ factory.SyncConte
return err
}

_, err = c.kubeClient.AppsV1().DaemonSets(operatorclient.TargetNamespace).Create(ctx, deployBackupServerDaemonSet(endpoints), v1.CreateOptions{})
_, err = c.kubeClient.AppsV1().DaemonSets(operatorclient.TargetNamespace).Create(ctx, deployBackupServerDaemonSet(c.envVarGetter.GetEnvVars(), endpoints), v1.CreateOptions{})
if err != nil {
return fmt.Errorf("PeriodicBackupController could not create [defaultBackupDeployment]: %w", err)
}
Expand Down Expand Up @@ -316,7 +321,7 @@ func newCronJob() (*batchv1.CronJob, error) {
return obj.(*batchv1.CronJob), nil
}

func deployBackupServerDaemonSet(endpoints string) *appv1.DaemonSet {
func deployBackupServerDaemonSet(envVars map[string]string, endpoints string) *appv1.DaemonSet {
deploy := appv1.DaemonSet{
ObjectMeta: v1.ObjectMeta{
Name: backupServerDaemonSet,
Expand Down Expand Up @@ -376,6 +381,7 @@ func deployBackupServerDaemonSet(endpoints string) *appv1.DaemonSet {
"--maxNumberOfBackups=3",
fmt.Sprintf("--endpoints=%s", endpoints),
},
Env: getEnvVars(envVars),
VolumeMounts: []corev1.VolumeMount{
{Name: "data-dir", MountPath: "/var/lib/etcd"},
{Name: "config-dir", MountPath: "/etc/kubernetes"},
Expand Down Expand Up @@ -411,3 +417,16 @@ func getEtcdEndpoints(ctx context.Context, client kubernetes.Interface) (string,

return strings.Join(endpoints, ","), nil
}

func getEnvVars(m map[string]string) []corev1.EnvVar {
var res []corev1.EnvVar

for k, v := range m {
res = append(res, corev1.EnvVar{
Name: k,
Value: v,
})
}

return res
}
3 changes: 2 additions & 1 deletion pkg/operator/starter.go
Original file line number Diff line number Diff line change
Expand Up @@ -476,7 +476,8 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
featureGateAccessor,
backupVar,
configBackupInformer,
kubeInformersForNamespaces)
kubeInformersForNamespaces,
envVarController)

backupController := backupcontroller.NewBackupController(
AlivenessChecker,
Expand Down

0 comments on commit d874214

Please sign in to comment.