...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package remotecluster
17
18 import (
19 corev1 "k8s.io/api/core/v1"
20
21 "github.com/chaos-mesh/chaos-mesh/api/v1alpha1"
22 )
23
24 func setRemoteClusterCondition(obj *v1alpha1.RemoteCluster, typ v1alpha1.RemoteClusterConditionType, status corev1.ConditionStatus, reason string) {
25 conditionMap := map[v1alpha1.RemoteClusterConditionType]v1alpha1.RemoteClusterCondition{
26 v1alpha1.RemoteClusterConditionInstalled: {Type: v1alpha1.RemoteClusterConditionInstalled, Status: corev1.ConditionFalse},
27 v1alpha1.RemoteClusterConditionReady: {Type: v1alpha1.RemoteClusterConditionReady, Status: corev1.ConditionFalse},
28 }
29
30 for _, condition := range obj.Status.Conditions {
31 conditionMap[condition.Type] = condition
32 }
33
34 conditionMap[typ] = v1alpha1.RemoteClusterCondition{Type: typ, Status: status, Reason: reason}
35
36 conditions := make([]v1alpha1.RemoteClusterCondition, 0, len(conditionMap))
37 for _, condition := range conditionMap {
38 conditions = append(conditions, condition)
39 }
40
41 obj.Status.Conditions = conditions
42 }
43