@@ -774,7 +774,15 @@ func (s *modelUpgradeSuite) TestFindToolsIAAS(c *gc.C) {
774
774
})
775
775
}
776
776
777
+ func (s * modelUpgradeSuite ) TestFindToolsCAASReleasedDefault (c * gc.C ) {
778
+ s .assertFindToolsCAASReleased (c , "" , "amd64" )
779
+ }
780
+
777
781
func (s * modelUpgradeSuite ) TestFindToolsCAASReleased (c * gc.C ) {
782
+ s .assertFindToolsCAASReleased (c , "arm64" , "arm64" )
783
+ }
784
+
785
+ func (s * modelUpgradeSuite ) assertFindToolsCAASReleased (c * gc.C , wantArch , expectArch string ) {
778
786
ctrl , api := s .getModelUpgraderAPI (c )
779
787
defer ctrl .Finish ()
780
788
@@ -786,13 +794,17 @@ func (s *modelUpgradeSuite) TestFindToolsCAASReleased(c *gc.C) {
786
794
{Version : version .MustParseBinary ("2.9.9-ubuntu-amd64" )},
787
795
{Version : version .MustParseBinary ("2.9.10-ubuntu-amd64" )},
788
796
{Version : version .MustParseBinary ("2.9.11-ubuntu-amd64" )},
797
+ {Version : version .MustParseBinary ("2.9.9-ubuntu-arm64" )},
798
+ {Version : version .MustParseBinary ("2.9.10-ubuntu-arm64" )},
799
+ {Version : version .MustParseBinary ("2.9.11-ubuntu-arm64" )},
789
800
}
790
801
s .PatchValue (& coreos .HostOS , func () coreos.OSType { return coreos .Ubuntu })
791
802
792
803
gomock .InOrder (
793
804
s .toolsFinder .EXPECT ().FindAgents (common.FindAgentsParams {
794
805
MajorVersion : 2 , MinorVersion : 9 ,
795
806
ModelType : state .ModelTypeCAAS ,
807
+ Arch : wantArch ,
796
808
}).Return (simpleStreams , nil ),
797
809
s .registryProvider .EXPECT ().Tags ("jujud-operator" ).Return (coretools.Versions {
798
810
image .NewImageInfo (version .MustParse ("2.9.8" )),
@@ -802,20 +814,21 @@ func (s *modelUpgradeSuite) TestFindToolsCAASReleased(c *gc.C) {
802
814
image .NewImageInfo (version .MustParse ("2.9.11" )),
803
815
image .NewImageInfo (version .MustParse ("2.9.12" )), // skip: it's not released in simplestream yet.
804
816
}, nil ),
805
- s .registryProvider .EXPECT ().GetArchitecture ("jujud-operator" , "2.9.9" ).Return ("amd64" , nil ),
806
- s .registryProvider .EXPECT ().GetArchitecture ("jujud-operator" , "2.9.10.1" ).Return ("amd64" , nil ),
807
- s .registryProvider .EXPECT ().GetArchitecture ("jujud-operator" , "2.9.10" ).Return ("amd64" , nil ),
808
- s .registryProvider .EXPECT ().GetArchitecture ("jujud-operator" , "2.9.11" ).Return ("amd64" , nil ),
817
+ s .registryProvider .EXPECT ().GetArchitectures ("jujud-operator" , "2.9.9" ).Return ([] string { "amd64" , "arm64" } , nil ),
818
+ s .registryProvider .EXPECT ().GetArchitectures ("jujud-operator" , "2.9.10.1" ).Return ([] string { "amd64" , "arm64" } , nil ),
819
+ s .registryProvider .EXPECT ().GetArchitectures ("jujud-operator" , "2.9.10" ).Return ([] string { "amd64" , "arm64" } , nil ),
820
+ s .registryProvider .EXPECT ().GetArchitectures ("jujud-operator" , "2.9.11" ).Return ([] string { "amd64" , "arm64" } , nil ),
809
821
s .registryProvider .EXPECT ().Close ().Return (nil ),
810
822
)
811
823
812
- result , err := api .FindAgents (common.FindAgentsParams {MajorVersion : 2 , MinorVersion : 9 , ModelType : state .ModelTypeCAAS })
824
+ result , err := api .FindAgents (common.FindAgentsParams {
825
+ MajorVersion : 2 , MinorVersion : 9 , ModelType : state .ModelTypeCAAS , Arch : wantArch })
813
826
c .Assert (err , jc .ErrorIsNil )
814
827
c .Assert (result , gc .DeepEquals , coretools.Versions {
815
- & coretools.Tools {Version : version .MustParseBinary ("2.9.9-ubuntu-amd64" )},
816
- & coretools.Tools {Version : version .MustParseBinary ("2.9.10.1-ubuntu-amd64" )},
817
- & coretools.Tools {Version : version .MustParseBinary ("2.9.10-ubuntu-amd64" )},
818
- & coretools.Tools {Version : version .MustParseBinary ("2.9.11-ubuntu-amd64" )},
828
+ & coretools.Tools {Version : version .MustParseBinary ("2.9.9-ubuntu-" + expectArch )},
829
+ & coretools.Tools {Version : version .MustParseBinary ("2.9.10.1-ubuntu-" + expectArch )},
830
+ & coretools.Tools {Version : version .MustParseBinary ("2.9.10-ubuntu-" + expectArch )},
831
+ & coretools.Tools {Version : version .MustParseBinary ("2.9.11-ubuntu-" + expectArch )},
819
832
})
820
833
}
821
834
@@ -845,7 +858,7 @@ func (s *modelUpgradeSuite) TestFindToolsCAASReleasedExact(c *gc.C) {
845
858
image .NewImageInfo (version .MustParse ("2.9.11" )),
846
859
image .NewImageInfo (version .MustParse ("2.9.12" )),
847
860
}, nil ),
848
- s .registryProvider .EXPECT ().GetArchitecture ("jujud-operator" , "2.9.10" ).Return ("amd64" , nil ),
861
+ s .registryProvider .EXPECT ().GetArchitectures ("jujud-operator" , "2.9.10" ).Return ([] string { "amd64" } , nil ),
849
862
s .registryProvider .EXPECT ().Close ().Return (nil ),
850
863
)
851
864
@@ -887,11 +900,11 @@ func (s *modelUpgradeSuite) TestFindToolsCAASNonReleased(c *gc.C) {
887
900
image .NewImageInfo (version .MustParse ("2.9.12" )),
888
901
image .NewImageInfo (version .MustParse ("2.9.13" )), // skip: it's not released in simplestream yet.
889
902
}, nil ),
890
- s .registryProvider .EXPECT ().GetArchitecture ("jujud-operator" , "2.9.9" ).Return ("amd64" , nil ),
891
- s .registryProvider .EXPECT ().GetArchitecture ("jujud-operator" , "2.9.10.1" ).Return ("amd64" , nil ),
892
- s .registryProvider .EXPECT ().GetArchitecture ("jujud-operator" , "2.9.10" ).Return ("amd64" , nil ),
893
- s .registryProvider .EXPECT ().GetArchitecture ("jujud-operator" , "2.9.11" ).Return ("amd64" , nil ),
894
- s .registryProvider .EXPECT ().GetArchitecture ("jujud-operator" , "2.9.12" ).Return ("" , errors .NotFoundf ("2.9.12" )), // This can only happen on a non-official registry account.
903
+ s .registryProvider .EXPECT ().GetArchitectures ("jujud-operator" , "2.9.9" ).Return ([] string { "amd64" , "arm64" } , nil ),
904
+ s .registryProvider .EXPECT ().GetArchitectures ("jujud-operator" , "2.9.10.1" ).Return ([] string { "amd64" , "arm64" } , nil ),
905
+ s .registryProvider .EXPECT ().GetArchitectures ("jujud-operator" , "2.9.10" ).Return ([] string { "amd64" , "arm64" } , nil ),
906
+ s .registryProvider .EXPECT ().GetArchitectures ("jujud-operator" , "2.9.11" ).Return ([] string { "amd64" , "arm64" } , nil ),
907
+ s .registryProvider .EXPECT ().GetArchitectures ("jujud-operator" , "2.9.12" ).Return (nil , errors .NotFoundf ("2.9.12" )), // This can only happen on a non-official registry account.
895
908
s .registryProvider .EXPECT ().Close ().Return (nil ),
896
909
)
897
910
0 commit comments