@@ -437,22 +437,8 @@ type ServiceExportStatus struct {
437
437
// +listMapKey=type
438
438
Conditions []metav1.Condition ` json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
439
439
}
440
-
441
- const (
442
- // ServiceExportValid means that the service referenced by this
443
- // service export has been recognized as valid by an mcs-controller.
444
- // This will be false if the service is found to be unexportable
445
- // (ExternalName, not found).
446
- ServiceExportValid = " Valid"
447
- // ServiceExportConflict means that there is a conflict between two
448
- // exports for the same Service. When "True", the condition message
449
- // should contain enough information to diagnose the conflict:
450
- // field(s) under contention, which cluster won, and why.
451
- // Users should not expect detailed per-cluster information in the
452
- // conflict message.
453
- ServiceExportConflict = " Conflict"
454
- )
455
440
```
441
+
456
442
``` yaml
457
443
apiVersion : multicluster.k8s.io/v1alpha1
458
444
kind : ServiceExport
@@ -461,17 +447,20 @@ metadata:
461
447
namespace : my-ns
462
448
status :
463
449
conditions :
464
- - type : Ready
450
+ - type : Valid
465
451
status : " True"
466
- message : " Service export is ready"
467
452
lastTransitionTime : " 2020-03-30T01:33:51Z"
468
- - type : Valid
453
+ reason : Valid
454
+ message : " The ServiceExport and its Service is exportable."
455
+ - type : Ready
469
456
status : " True"
470
- message : " Service export is valid"
471
457
lastTransitionTime : " 2020-03-30T01:33:55Z"
458
+ reason : Exported
459
+ message : " The service has been exported"
472
460
- type : Conflict
473
461
status : " True"
474
462
lastTransitionTime : " 2020-03-30T01:33:55Z"
463
+ reason : TypeConflict
475
464
message : " Conflicting type. Using \" ClusterSetIP\" from oldest service export in \" cluster-1\" . 2/5 clusters disagree."
476
465
` ` `
477
466
@@ -702,8 +691,8 @@ this cluster.
702
691
complicate deployments by even attempting to stretch them across clusters.
703
692
Instead, regular `ExternalName` type `Services` should be created in each
704
693
cluster individually. If a `ServiceExport` is created for an `ExternalName`
705
- service, a condition type `Valid` with a `false` status will be set on the
706
- ` ServiceExport` .
694
+ service, a condition type `Valid` with reason `InvalidServiceType` and
695
+ status `false` will be set on the `ServiceExport`.
707
696
708
697
# ### ClusterSetIP
709
698
@@ -1002,8 +991,8 @@ services. If these properties are out of sync for a subset of exported services,
1002
991
there is no clear way to determine how a service should be accessed.
1003
992
1004
993
Conflict resolution policy: **If any properties have conflicting values that can
1005
- not simply be merged, a `ServiceExportConflict ` condition will be set on all
1006
- `ServiceExport`s for the conflicted service with a description of the conflict.
994
+ not simply be merged, a `Conflict ` condition with a `true` status will be set
995
+ on all `ServiceExport`s for the conflicted service with a description of the conflict.
1007
996
The conflict will be resolved by assigning precedence based on each
1008
997
`ServiceExport`' s `creationTimestamp`, from oldest to newest.**
1009
998
0 commit comments