You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
returnfmt.Errorf("worker group %s has idleTimeoutSeconds set, but autoscaler version is not v2. Please set .spec.autoscalerOptions.version to v2", workerGroup.GroupName)
"should accept worker group with valid idleTimeoutSeconds": {
1833
+
spec: rayv1.RayClusterSpec{
1834
+
EnableInTreeAutoscaling: ptr.To(true),
1835
+
AutoscalerOptions: &rayv1.AutoscalerOptions{
1836
+
Version: ptr.To(rayv1.AutoscalerVersionV2),
1837
+
},
1838
+
HeadGroupSpec: rayv1.HeadGroupSpec{
1839
+
Template: podTemplateSpec(nil, nil),
1840
+
},
1841
+
WorkerGroupSpecs: []rayv1.WorkerGroupSpec{
1842
+
{
1843
+
GroupName: "worker-group-1",
1844
+
Template: podTemplateSpec(nil, nil),
1845
+
IdleTimeoutSeconds: ptr.To(int32(60)),
1846
+
MinReplicas: ptr.To(int32(0)),
1847
+
MaxReplicas: ptr.To(int32(10)),
1848
+
},
1849
+
},
1850
+
},
1851
+
expectedErr: "",
1852
+
},
1853
+
"should reject negative idleTimeoutSeconds": {
1854
+
spec: rayv1.RayClusterSpec{
1855
+
EnableInTreeAutoscaling: ptr.To(true),
1856
+
AutoscalerOptions: &rayv1.AutoscalerOptions{
1857
+
Version: ptr.To(rayv1.AutoscalerVersionV2),
1858
+
},
1859
+
HeadGroupSpec: rayv1.HeadGroupSpec{
1860
+
Template: podTemplateSpec(nil, nil),
1861
+
},
1862
+
WorkerGroupSpecs: []rayv1.WorkerGroupSpec{
1863
+
{
1864
+
GroupName: "worker-group-1",
1865
+
Template: podTemplateSpec(nil, nil),
1866
+
IdleTimeoutSeconds: ptr.To(int32(-10)),
1867
+
MinReplicas: ptr.To(int32(0)),
1868
+
MaxReplicas: ptr.To(int32(10)),
1869
+
},
1870
+
},
1871
+
},
1872
+
expectedErr: "idleTimeoutSeconds must be non-negative, got -10",
1873
+
},
1874
+
"should accept zero idleTimeoutSeconds": {
1875
+
spec: rayv1.RayClusterSpec{
1876
+
EnableInTreeAutoscaling: ptr.To(true),
1877
+
AutoscalerOptions: &rayv1.AutoscalerOptions{
1878
+
Version: ptr.To(rayv1.AutoscalerVersionV2),
1879
+
},
1880
+
HeadGroupSpec: rayv1.HeadGroupSpec{
1881
+
Template: podTemplateSpec(nil, nil),
1882
+
},
1883
+
WorkerGroupSpecs: []rayv1.WorkerGroupSpec{
1884
+
{
1885
+
GroupName: "worker-group-1",
1886
+
Template: podTemplateSpec(nil, nil),
1887
+
IdleTimeoutSeconds: ptr.To(int32(0)),
1888
+
MinReplicas: ptr.To(int32(0)),
1889
+
MaxReplicas: ptr.To(int32(10)),
1890
+
},
1891
+
},
1892
+
},
1893
+
expectedErr: "",
1894
+
},
1895
+
"should reject idleTimeoutSeconds when autoscaler version is not v2": {
1896
+
spec: rayv1.RayClusterSpec{
1897
+
EnableInTreeAutoscaling: ptr.To(true),
1898
+
AutoscalerOptions: &rayv1.AutoscalerOptions{
1899
+
Version: ptr.To(rayv1.AutoscalerVersionV1),
1900
+
},
1901
+
HeadGroupSpec: rayv1.HeadGroupSpec{
1902
+
Template: podTemplateSpec(nil, nil),
1903
+
},
1904
+
WorkerGroupSpecs: []rayv1.WorkerGroupSpec{
1905
+
{
1906
+
GroupName: "worker-group-1",
1907
+
Template: podTemplateSpec(nil, nil),
1908
+
IdleTimeoutSeconds: ptr.To(int32(60)),
1909
+
MinReplicas: ptr.To(int32(0)),
1910
+
MaxReplicas: ptr.To(int32(10)),
1911
+
},
1912
+
},
1913
+
},
1914
+
expectedErr: "worker group worker-group-1 has idleTimeoutSeconds set, but autoscaler version is not v2. Please set .spec.autoscalerOptions.version to v2",
1915
+
},
1916
+
"should reject idleTimeoutSeconds when autoscaler version is not set": {
1917
+
spec: rayv1.RayClusterSpec{
1918
+
EnableInTreeAutoscaling: ptr.To(true),
1919
+
HeadGroupSpec: rayv1.HeadGroupSpec{
1920
+
Template: podTemplateSpec(nil, nil),
1921
+
},
1922
+
WorkerGroupSpecs: []rayv1.WorkerGroupSpec{
1923
+
{
1924
+
GroupName: "worker-group-1",
1925
+
Template: podTemplateSpec(nil, nil),
1926
+
IdleTimeoutSeconds: ptr.To(int32(60)),
1927
+
MinReplicas: ptr.To(int32(0)),
1928
+
MaxReplicas: ptr.To(int32(10)),
1929
+
},
1930
+
},
1931
+
},
1932
+
expectedErr: "worker group worker-group-1 has idleTimeoutSeconds set, but autoscaler version is not v2. Please set .spec.autoscalerOptions.version to v2",
1933
+
},
1934
+
"should reject idleTimeoutSeconds when AutoscalerOptions is nil": {
1935
+
spec: rayv1.RayClusterSpec{
1936
+
EnableInTreeAutoscaling: ptr.To(true),
1937
+
AutoscalerOptions: nil,
1938
+
HeadGroupSpec: rayv1.HeadGroupSpec{
1939
+
Template: podTemplateSpec(nil, nil),
1940
+
},
1941
+
WorkerGroupSpecs: []rayv1.WorkerGroupSpec{
1942
+
{
1943
+
GroupName: "worker-group-1",
1944
+
Template: podTemplateSpec(nil, nil),
1945
+
IdleTimeoutSeconds: ptr.To(int32(60)),
1946
+
MinReplicas: ptr.To(int32(0)),
1947
+
MaxReplicas: ptr.To(int32(10)),
1948
+
},
1949
+
},
1950
+
},
1951
+
expectedErr: "worker group worker-group-1 has idleTimeoutSeconds set, but autoscaler version is not v2. Please set .spec.autoscalerOptions.version to v2",
1952
+
},
1953
+
"should accept worker group without idleTimeoutSeconds and without autoscaler v2": {
0 commit comments