Improve error handling in status configmap
This commit is contained in:
parent
060b6c2284
commit
7c5679baaf
|
|
@ -93,6 +93,9 @@ func WriteStatusConfigMap(kubeClient kube_client.Interface, msg string, logRecor
|
||||||
configMap, getStatusError = maps.Get(StatusConfigMapName, metav1.GetOptions{})
|
configMap, getStatusError = maps.Get(StatusConfigMapName, metav1.GetOptions{})
|
||||||
if getStatusError == nil {
|
if getStatusError == nil {
|
||||||
configMap.Data["status"] = statusMsg
|
configMap.Data["status"] = statusMsg
|
||||||
|
if configMap.ObjectMeta.Annotations == nil {
|
||||||
|
configMap.ObjectMeta.Annotations = make(map[string]string)
|
||||||
|
}
|
||||||
configMap.ObjectMeta.Annotations[ConfigMapLastUpdatedKey] = fmt.Sprintf("%v", statusUpdateTime)
|
configMap.ObjectMeta.Annotations[ConfigMapLastUpdatedKey] = fmt.Sprintf("%v", statusUpdateTime)
|
||||||
configMap, writeStatusError = maps.Update(configMap)
|
configMap, writeStatusError = maps.Update(configMap)
|
||||||
} else if kube_errors.IsNotFound(getStatusError) {
|
} else if kube_errors.IsNotFound(getStatusError) {
|
||||||
|
|
@ -110,10 +113,10 @@ func WriteStatusConfigMap(kubeClient kube_client.Interface, msg string, logRecor
|
||||||
}
|
}
|
||||||
configMap, writeStatusError = maps.Create(configMap)
|
configMap, writeStatusError = maps.Create(configMap)
|
||||||
} else {
|
} else {
|
||||||
errMsg = "Failed to retrieve status configmap for update"
|
errMsg = fmt.Sprintf("Failed to retrieve status configmap for update: %v", getStatusError)
|
||||||
}
|
}
|
||||||
if writeStatusError != nil {
|
if writeStatusError != nil {
|
||||||
errMsg = "Failed to write status configmap"
|
errMsg = fmt.Sprintf("Failed to write status configmap: %v", writeStatusError)
|
||||||
}
|
}
|
||||||
if errMsg != "" {
|
if errMsg != "" {
|
||||||
glog.Error(errMsg)
|
glog.Error(errMsg)
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,6 @@ func setUpTest(t *testing.T) *testInfo {
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Namespace: StatusConfigMapNamespace,
|
Namespace: StatusConfigMapNamespace,
|
||||||
Name: StatusConfigMapName,
|
Name: StatusConfigMapName,
|
||||||
Annotations: map[string]string{},
|
|
||||||
},
|
},
|
||||||
Data: map[string]string{},
|
Data: map[string]string{},
|
||||||
},
|
},
|
||||||
|
|
@ -112,6 +111,7 @@ func TestWriteStatusConfigMapError(t *testing.T) {
|
||||||
ti.getError = errors.New("stuff bad")
|
ti.getError = errors.New("stuff bad")
|
||||||
result, err := WriteStatusConfigMap(ti.client, "TEST_MSG", nil)
|
result, err := WriteStatusConfigMap(ti.client, "TEST_MSG", nil)
|
||||||
assert.NotNil(t, err)
|
assert.NotNil(t, err)
|
||||||
|
assert.Contains(t, err.Error(), "stuff bad")
|
||||||
assert.Nil(t, result)
|
assert.Nil(t, result)
|
||||||
assert.True(t, ti.getCalled)
|
assert.True(t, ti.getCalled)
|
||||||
assert.False(t, ti.updateCalled)
|
assert.False(t, ti.updateCalled)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue