@@ -44,7 +44,7 @@ func (r *DatabaseReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
44
44
// Request object not found, could have been deleted after reconcile request.
45
45
// Owned objects are automatically garbage collected. For additional cleanup logic use finalizers.
46
46
// Return and don't requeue
47
- log .Info ("Database resource not found. Ignoring since object must be deleted" )
47
+ // log.Info("Database resource not found. Ignoring since object must be deleted")
48
48
return ctrl.Result {}, nil
49
49
}
50
50
// Error reading the object - requeue the request.
@@ -60,6 +60,10 @@ func (r *DatabaseReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
60
60
log .Info ("Connected to database server" )
61
61
62
62
hasDatabase , err := db .HasDatabase (database .Spec .Database )
63
+ if err != nil {
64
+ return ctrl.Result {}, err
65
+ }
66
+
63
67
if ! hasDatabase {
64
68
log .Info ("Create new database: '" + database .Spec .Database + "'" )
65
69
@@ -70,10 +74,14 @@ func (r *DatabaseReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
70
74
}
71
75
72
76
hasDatabaseUserWithAccess , err := db .HasDatabaseUserWithAccess (database .Spec .Username , database .Spec .Database )
77
+ if err != nil {
78
+ return ctrl.Result {}, err
79
+ }
80
+
73
81
if ! hasDatabaseUserWithAccess {
74
82
log .Info ("Create new user '" + database .Spec .Username + "' with access to the database '" + database .Spec .Database + "'" )
75
83
76
- err = db .UpdateDatabaseUser (database .Spec .Username , database .Spec .Password , database .Spec .Database )
84
+ err = db .CreateDatabaseUser (database .Spec .Username , database .Spec .Password , database .Spec .Database )
77
85
if err != nil {
78
86
return ctrl.Result {}, err
79
87
}
@@ -163,6 +171,34 @@ func (r *DatabaseReconciler) finalizeDatabase(log logr.Logger, database *anbrate
163
171
return err
164
172
}
165
173
174
+ hasDatabaseUserWithAccess , err := db .HasDatabaseUserWithAccess (database .Spec .Username , database .Spec .Database )
175
+ if err != nil {
176
+ return err
177
+ }
178
+
179
+ if hasDatabaseUserWithAccess {
180
+ log .Info ("Remove user '" + database .Spec .Username + "' and its access to the database '" + database .Spec .Database + "'" )
181
+
182
+ err = db .DeleteDatabaseUser (database .Spec .Username , database .Spec .Database )
183
+ if err != nil {
184
+ return err
185
+ }
186
+ }
187
+
188
+ hasDatabase , err := db .HasDatabase (database .Spec .Database )
189
+ if err != nil {
190
+ return err
191
+ }
192
+
193
+ if hasDatabase {
194
+ log .Info ("Remove database: '" + database .Spec .Database + "'" )
195
+
196
+ err = db .DeleteDatabase (database .Spec .Database )
197
+ if err != nil {
198
+ return err
199
+ }
200
+ }
201
+
166
202
err = db .DeleteDatabase (database .Spec .Database )
167
203
if err != nil {
168
204
return err
@@ -173,7 +209,7 @@ func (r *DatabaseReconciler) finalizeDatabase(log logr.Logger, database *anbrate
173
209
return err
174
210
}
175
211
176
- log .Info ("Successfully removed database: '" + database .Spec .Database + "'" )
212
+ log .Info ("Database: '" + database . Spec . Database + "' and user : '" + database .Spec .Username + "' removed " )
177
213
return nil
178
214
}
179
215
0 commit comments