Skip to content

Commit dc745d7

Browse files
committed
fixes several ansible test failures and flaws
- Fixes bug where reconcile attempted to update status after running finalizer - Stops depending on grepping for a log statement for a test to pass - Disables debug log mode by default - Ensures no errors appear in log at end of e2e test run - logs cache miss at INFO instead of ERROR - adds sleep statement to tolerate operator-framework#818 in e2e tests
1 parent 5c2aaa0 commit dc745d7

File tree

5 files changed

+30
-5
lines changed

5 files changed

+30
-5
lines changed

hack/tests/e2e-ansible.sh

+17-1
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,18 @@ then
7272
exit 1
7373
fi
7474

75+
# TODO remove when this issue is fixed: https://github.com/operator-framework/operator-sdk/issues/818
76+
sleep 1
77+
78+
# make a configmap that the finalizer should remove
79+
kubectl create configmap deleteme
80+
trap_add 'kubectl delete --ignore-not-found configmap deleteme' EXIT
81+
7582
kubectl delete -f ${DIR2}/deploy/crds/ansible_v1alpha1_memcached_cr.yaml --wait=true
76-
if ! kubectl logs deployment/memcached-operator | grep "this is a finalizer";
83+
# if the finalizer did not delete the configmap...
84+
if kubectl get configmap deleteme;
7785
then
86+
echo FAIL: the finalizer did not delete the configmap
7887
kubectl logs deployment/memcached-operator
7988
exit 1
8089
fi
@@ -86,5 +95,12 @@ then
8695
exit 1
8796
fi
8897

98+
if kubectl logs deployment/memcached-operator | grep -i error;
99+
then
100+
echo FAIL: the operator log includes errors
101+
kubectl logs deployment/memcached-operator
102+
exit 1
103+
fi
104+
89105
popd
90106
popd

pkg/ansible/controller/reconcile.go

+4
Original file line numberDiff line numberDiff line change
@@ -186,9 +186,13 @@ func (r *AnsibleOperatorReconciler) Reconcile(request reconcile.Request) (reconc
186186
if err != nil {
187187
return reconcileResult, err
188188
}
189+
return reconcileResult, nil
189190
}
190191
if r.ManageStatus {
191192
err = r.markDone(u, statusEvent, failureMessages)
193+
if err != nil {
194+
logger.Error(err, "failed to mark status done")
195+
}
192196
}
193197
return reconcileResult, err
194198
}

pkg/ansible/proxy/proxy.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ func CacheResponseHandler(h http.Handler, informerCache cache.Cache, restMapper
9393
if err != nil {
9494
// break here in case resource doesn't exist in cache but exists on APIserver
9595
// This is very unlikely but provides user with expected 404
96-
log.Error(err, "didn't find object in cache")
96+
log.Info(fmt.Sprintf("cache miss: %v, %v", k, obj))
9797
break
9898
}
9999

Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
1-
- debug:
2-
msg: "this is a finalizer"
1+
- name: delete configmap for test
2+
k8s:
3+
kind: ConfigMap
4+
api_version: v1
5+
name: deleteme
6+
namespace: default
7+
state: absent

test/ansible-operator/cmd/ansible-operator/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func printVersion() {
3939
func main() {
4040
flag.Parse()
4141

42-
logf.SetLogger(logf.ZapLogger(true))
42+
logf.SetLogger(logf.ZapLogger(false))
4343

4444
namespace, err := k8sutil.GetWatchNamespace()
4545
if err != nil {

0 commit comments

Comments
 (0)