@@ -11,6 +11,7 @@ import (
1111 configv1client "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1"
1212 "k8s.io/apimachinery/pkg/api/meta"
1313 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
14+ "k8s.io/apimachinery/pkg/util/sets"
1415 "k8s.io/apimachinery/pkg/util/wait"
1516 "k8s.io/client-go/rest"
1617
@@ -40,6 +41,10 @@ var _ = g.Describe(`[Jira:"Cluster Version Operator"] cluster-version-operator`,
4041 o .Expect (util .SkipIfMicroshift (ctx , c )).To (o .BeNil ())
4142
4243 cv , err := configClient .ClusterVersions ().Get (ctx , external .DefaultClusterVersionName , metav1.GetOptions {})
44+ if du := cv .Spec .DesiredUpdate ; du != nil {
45+ logger .WithValues ("AcceptRisks" , du .AcceptRisks ).Info ("Accept risks before testing" )
46+ o .Expect (du .AcceptRisks ).To (o .BeEmpty (), "found accept risks" )
47+ }
4348 backup = * cv .Spec .DeepCopy ()
4449 o .Expect (err ).NotTo (o .HaveOccurred ())
4550 })
@@ -76,9 +81,14 @@ var _ = g.Describe(`[Jira:"Cluster Version Operator"] cluster-version-operator`,
7681
7782 g .By ("Checking that no conditional updates are recommended" )
7883 var acceptRisks []configv1.AcceptRisk
84+ names := sets .New [string ]()
7985 for _ , cu := range cv .Status .ConditionalUpdates {
8086 o .Expect (cu .RiskNames ).NotTo (o .BeEmpty ())
8187 for _ , name := range cu .RiskNames {
88+ if names .Has (name ) {
89+ continue
90+ }
91+ names .Insert (name )
8292 acceptRisks = append (acceptRisks , configv1.AcceptRisk {Name : name })
8393 }
8494 o .Expect (cu .Risks ).NotTo (o .BeEmpty ())
@@ -88,6 +98,7 @@ var _ = g.Describe(`[Jira:"Cluster Version Operator"] cluster-version-operator`,
8898 }
8999
90100 g .By ("Accepting all risks" )
101+ o .Expect (acceptRisks ).NotTo (o .BeEmpty ())
91102 if cv .Spec .DesiredUpdate == nil {
92103 cv .Spec .DesiredUpdate = & configv1.Update {
93104 Image : cv .Status .Desired .Image ,
0 commit comments