@@ -596,11 +596,16 @@ func TestCreateCSVRequirementsMetCRD(t *testing.T) {
596
596
},
597
597
}
598
598
599
- // Create dependency first (CRD)
599
+ // Create CSV first, knowing it will fail
600
+ cleanupCSV , err := createCSV (t , c , crc , csv , testNamespace , true , false )
601
+ require .NoError (t , err )
602
+ defer cleanupCSV ()
603
+
604
+ fetchedCSV , err := fetchCSV (t , crc , csv .Name , csvPendingChecker )
605
+ require .NoError (t , err )
606
+
600
607
crd := extv1beta1.CustomResourceDefinition {
601
- ObjectMeta : metav1.ObjectMeta {
602
- Name : crdName ,
603
- },
608
+ ObjectMeta : metav1.ObjectMeta {Name : crdName },
604
609
Spec : extv1beta1.CustomResourceDefinitionSpec {
605
610
Group : "cluster.com" ,
606
611
Version : "v1alpha1" ,
@@ -613,6 +618,12 @@ func TestCreateCSVRequirementsMetCRD(t *testing.T) {
613
618
Scope : "Namespaced" ,
614
619
},
615
620
}
621
+ crd .SetOwnerReferences ([]metav1.OwnerReference {{
622
+ Name : fetchedCSV .GetName (),
623
+ APIVersion : v1alpha1 .ClusterServiceVersionAPIVersion ,
624
+ Kind : v1alpha1 .ClusterServiceVersionKind ,
625
+ UID : fetchedCSV .GetUID (),
626
+ }})
616
627
cleanupCRD , err := createCRD (c , crd )
617
628
require .NoError (t , err )
618
629
@@ -714,39 +725,12 @@ func TestCreateCSVRequirementsMetCRD(t *testing.T) {
714
725
_ , err = c .CreateClusterRoleBinding (& nonResourceClusterRoleBinding )
715
726
require .NoError (t , err , "could not create ClusterRoleBinding" )
716
727
717
- cleanupCSV , err := createCSV (t , c , crc , csv , testNamespace , true , false )
718
- require .NoError (t , err )
719
- defer cleanupCSV ()
720
-
721
- fmt .Println ("checking for deployment" )
722
- // Poll for deployment to be ready
723
- err = wait .Poll (pollInterval , pollDuration , func () (bool , error ) {
724
- dep , err := c .GetDeployment (testNamespace , depName )
725
- if k8serrors .IsNotFound (err ) {
726
- fmt .Printf ("deployment %s not found" , depName )
727
- return false , nil
728
- } else if err != nil {
729
- fmt .Printf ("unexpected error fetching deployment %s" , depName )
730
- return false , err
731
- }
732
- if dep .Status .UpdatedReplicas == * (dep .Spec .Replicas ) &&
733
- dep .Status .Replicas == * (dep .Spec .Replicas ) &&
734
- dep .Status .AvailableReplicas == * (dep .Spec .Replicas ) {
735
- fmt .Printf ("deployment ready" )
736
- return true , nil
737
- }
738
- fmt .Printf ("deployment not ready" )
739
- return false , nil
740
- })
741
- require .NoError (t , err )
742
-
743
- fetchedCSV , err := fetchCSV (t , crc , csv .Name , csvSucceededChecker )
728
+ // Wait for CSV success
729
+ _ , err = fetchCSV (t , crc , csv .Name , csvSucceededChecker )
744
730
require .NoError (t , err )
745
731
746
- // Fetch cluster service version again to check for unnecessary control loops
747
- sameCSV , err := fetchCSV (t , crc , csv .Name , csvSucceededChecker )
732
+ fetchedCSV , err = fetchCSV (t , crc , csv .Name , csvSucceededChecker )
748
733
require .NoError (t , err )
749
- compareResources (t , fetchedCSV , sameCSV )
750
734
751
735
// Delete CRD
752
736
cleanupCRD ()
@@ -760,7 +744,7 @@ func TestCreateCSVRequirementsMetCRD(t *testing.T) {
760
744
require .NoError (t , err )
761
745
defer cleanupCRD ()
762
746
763
- // Wait for CSV success
747
+ // Wait for CSV success again
764
748
fetchedCSV , err = fetchCSV (t , crc , csv .Name , csvSucceededChecker )
765
749
require .NoError (t , err )
766
750
}
@@ -1009,12 +993,12 @@ func TestCreateCSVWithOwnedAPIService(t *testing.T) {
1009
993
// Induce a cert rotation
1010
994
fetchedCSV .Status .CertsLastUpdated = metav1 .Now ()
1011
995
fetchedCSV .Status .CertsRotateAt = metav1 .Now ()
1012
- fetchedCSV , err = crc .OperatorsV1alpha1 ().ClusterServiceVersions (operatorNamespace ).UpdateStatus (fetchedCSV )
996
+ fetchedCSV , err = crc .OperatorsV1alpha1 ().ClusterServiceVersions (testNamespace ).UpdateStatus (fetchedCSV )
1013
997
require .NoError (t , err )
1014
998
1015
999
_ , err = fetchCSV (t , crc , csv .Name , func (csv * v1alpha1.ClusterServiceVersion ) bool {
1016
1000
// Should create deployment
1017
- dep , err = c .GetDeployment (operatorNamespace , depName )
1001
+ dep , err = c .GetDeployment (testNamespace , depName )
1018
1002
require .NoError (t , err )
1019
1003
1020
1004
// Should have a new ca hash annotation
0 commit comments