@@ -1347,6 +1347,10 @@ func TestGeneratePolicySetsWithPlacement(t *testing.T) {
13471347
13481348 p .applyDefaults (map [string ]interface {}{})
13491349
1350+ if err := p .assertValidConfig (); err != nil {
1351+ t .Fatal (err .Error ())
1352+ }
1353+
13501354 expected := `
13511355---
13521356apiVersion: policy.open-cluster-management.io/v1
@@ -1389,25 +1393,26 @@ spec:
13891393 policies:
13901394 - policy-app-config
13911395---
1392- apiVersion: cluster .open-cluster-management.io/v1alpha1
1393- kind: Placement
1396+ apiVersion: apps .open-cluster-management.io/v1
1397+ kind: PlacementRule
13941398metadata:
13951399 name: my-placement-rule
13961400 namespace: my-policies
13971401spec:
1398- predicates:
1399- - requiredClusterSelector:
1400- labelSelector:
1401- matchExpressions: []
1402+ clusterConditions:
1403+ - status: "True"
1404+ type: ManagedClusterConditionAvailable
1405+ clusterSelector:
1406+ matchExpressions: []
14021407---
14031408apiVersion: policy.open-cluster-management.io/v1
14041409kind: PlacementBinding
14051410metadata:
14061411 name: my-placement-binding
14071412 namespace: my-policies
14081413placementRef:
1409- apiGroup: cluster .open-cluster-management.io
1410- kind: Placement
1414+ apiGroup: apps .open-cluster-management.io
1415+ kind: PlacementRule
14111416 name: my-placement-rule
14121417subjects:
14131418 - apiGroup: policy.open-cluster-management.io
@@ -1458,6 +1463,9 @@ func TestGeneratePolicySetsWithPolicyPlacement(t *testing.T) {
14581463 }
14591464
14601465 p .applyDefaults (map [string ]interface {}{})
1466+ if err := p .assertValidConfig (); err != nil {
1467+ t .Fatal (err .Error ())
1468+ }
14611469 p .Policies [0 ].GeneratePlacementWhenInSet = true
14621470
14631471 expected := `
@@ -1502,40 +1510,42 @@ spec:
15021510 policies:
15031511 - policy-app-config
15041512---
1505- apiVersion: cluster .open-cluster-management.io/v1alpha1
1506- kind: Placement
1513+ apiVersion: apps .open-cluster-management.io/v1
1514+ kind: PlacementRule
15071515metadata:
15081516 name: my-placement
15091517 namespace: my-policies
15101518spec:
1511- predicates:
1512- - requiredClusterSelector:
1513- labelSelector:
1514- matchExpressions: []
1519+ clusterConditions:
1520+ - status: "True"
1521+ type: ManagedClusterConditionAvailable
1522+ clusterSelector:
1523+ matchExpressions: []
15151524---
1516- apiVersion: cluster .open-cluster-management.io/v1alpha1
1517- kind: Placement
1525+ apiVersion: apps .open-cluster-management.io/v1
1526+ kind: PlacementRule
15181527metadata:
15191528 name: policyset-placement
15201529 namespace: my-policies
15211530spec:
1522- predicates:
1523- - requiredClusterSelector:
1524- labelSelector:
1525- matchExpressions:
1526- - key: my
1527- operator: In
1528- values:
1529- - app
1531+ clusterConditions:
1532+ - status: "True"
1533+ type: ManagedClusterConditionAvailable
1534+ clusterSelector:
1535+ matchExpressions:
1536+ - key: my
1537+ operator: In
1538+ values:
1539+ - app
15301540---
15311541apiVersion: policy.open-cluster-management.io/v1
15321542kind: PlacementBinding
15331543metadata:
15341544 name: binding-policy-app-config
15351545 namespace: my-policies
15361546placementRef:
1537- apiGroup: cluster .open-cluster-management.io
1538- kind: Placement
1547+ apiGroup: apps .open-cluster-management.io
1548+ kind: PlacementRule
15391549 name: my-placement
15401550subjects:
15411551 - apiGroup: policy.open-cluster-management.io
@@ -1548,8 +1558,8 @@ metadata:
15481558 name: my-placement-binding
15491559 namespace: my-policies
15501560placementRef:
1551- apiGroup: cluster .open-cluster-management.io
1552- kind: Placement
1561+ apiGroup: apps .open-cluster-management.io
1562+ kind: PlacementRule
15531563 name: policyset-placement
15541564subjects:
15551565 - apiGroup: policy.open-cluster-management.io
0 commit comments