Merge pull request #533 from fluxcd/log-tmp-cleanup-error

Log the error when tmp cleanup fails
This commit is contained in:
Stefan Prodan 2022-01-07 10:56:15 +02:00 committed by GitHub
commit 4b14870e08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 27 additions and 4 deletions

View File

@ -1,3 +1,4 @@
//go:build !ignore_autogenerated
// +build !ignore_autogenerated // +build !ignore_autogenerated
/* /*

View File

@ -177,14 +177,21 @@ func (r *BucketReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr
} }
func (r *BucketReconciler) reconcile(ctx context.Context, bucket sourcev1.Bucket) (sourcev1.Bucket, error) { func (r *BucketReconciler) reconcile(ctx context.Context, bucket sourcev1.Bucket) (sourcev1.Bucket, error) {
log := ctrl.LoggerFrom(ctx)
var err error var err error
var sourceBucket sourcev1.Bucket var sourceBucket sourcev1.Bucket
tempDir, err := os.MkdirTemp("", bucket.Name) tempDir, err := os.MkdirTemp("", bucket.Name)
if err != nil { if err != nil {
err = fmt.Errorf("tmp dir error: %w", err) err = fmt.Errorf("tmp dir error: %w", err)
return sourcev1.BucketNotReady(bucket, sourcev1.StorageOperationFailedReason, err.Error()), err return sourcev1.BucketNotReady(bucket, sourcev1.StorageOperationFailedReason, err.Error()), err
} }
defer os.RemoveAll(tempDir) defer func() {
if err := os.RemoveAll(tempDir); err != nil {
log.Error(err, "failed to remove working directory", "path", tempDir)
}
}()
if bucket.Spec.Provider == sourcev1.GoogleBucketProvider { if bucket.Spec.Provider == sourcev1.GoogleBucketProvider {
sourceBucket, err = r.reconcileWithGCP(ctx, bucket, tempDir) sourceBucket, err = r.reconcileWithGCP(ctx, bucket, tempDir)
if err != nil { if err != nil {

View File

@ -220,13 +220,19 @@ func (r *GitRepositoryReconciler) checkDependencies(repository sourcev1.GitRepos
} }
func (r *GitRepositoryReconciler) reconcile(ctx context.Context, repository sourcev1.GitRepository) (sourcev1.GitRepository, error) { func (r *GitRepositoryReconciler) reconcile(ctx context.Context, repository sourcev1.GitRepository) (sourcev1.GitRepository, error) {
log := ctrl.LoggerFrom(ctx)
// create tmp dir for the Git clone // create tmp dir for the Git clone
tmpGit, err := os.MkdirTemp("", repository.Name) tmpGit, err := os.MkdirTemp("", repository.Name)
if err != nil { if err != nil {
err = fmt.Errorf("tmp dir error: %w", err) err = fmt.Errorf("tmp dir error: %w", err)
return sourcev1.GitRepositoryNotReady(repository, sourcev1.StorageOperationFailedReason, err.Error()), err return sourcev1.GitRepositoryNotReady(repository, sourcev1.StorageOperationFailedReason, err.Error()), err
} }
defer os.RemoveAll(tmpGit) defer func() {
if err := os.RemoveAll(tmpGit); err != nil {
log.Error(err, "failed to remove working directory", "path", tmpGit)
}
}()
// Configure auth options using secret // Configure auth options using secret
var authOpts *git.AuthOptions var authOpts *git.AuthOptions

View File

@ -209,7 +209,11 @@ func (r *HelmChartReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
r.recordReadiness(ctx, chart) r.recordReadiness(ctx, chart)
return ctrl.Result{Requeue: true}, err return ctrl.Result{Requeue: true}, err
} }
defer os.RemoveAll(workDir) defer func() {
if err := os.RemoveAll(workDir); err != nil {
log.Error(err, "failed to remove working directory", "path", workDir)
}
}()
// Perform the reconciliation for the chart source type // Perform the reconciliation for the chart source type
var reconciledChart sourcev1.HelmChart var reconciledChart sourcev1.HelmChart

View File

@ -173,6 +173,7 @@ func (r *HelmRepositoryReconciler) Reconcile(ctx context.Context, req ctrl.Reque
} }
func (r *HelmRepositoryReconciler) reconcile(ctx context.Context, repo sourcev1.HelmRepository) (sourcev1.HelmRepository, error) { func (r *HelmRepositoryReconciler) reconcile(ctx context.Context, repo sourcev1.HelmRepository) (sourcev1.HelmRepository, error) {
log := ctrl.LoggerFrom(ctx)
clientOpts := []helmgetter.Option{ clientOpts := []helmgetter.Option{
helmgetter.WithURL(repo.Spec.URL), helmgetter.WithURL(repo.Spec.URL),
helmgetter.WithTimeout(repo.Spec.Timeout.Duration), helmgetter.WithTimeout(repo.Spec.Timeout.Duration),
@ -196,7 +197,11 @@ func (r *HelmRepositoryReconciler) reconcile(ctx context.Context, repo sourcev1.
err = fmt.Errorf("failed to create temporary working directory for credentials: %w", err) err = fmt.Errorf("failed to create temporary working directory for credentials: %w", err)
return sourcev1.HelmRepositoryNotReady(repo, sourcev1.AuthenticationFailedReason, err.Error()), err return sourcev1.HelmRepositoryNotReady(repo, sourcev1.AuthenticationFailedReason, err.Error()), err
} }
defer os.RemoveAll(authDir) defer func() {
if err := os.RemoveAll(authDir); err != nil {
log.Error(err, "failed to remove working directory", "path", authDir)
}
}()
opts, err := getter.ClientOptionsFromSecret(authDir, secret) opts, err := getter.ClientOptionsFromSecret(authDir, secret)
if err != nil { if err != nil {