diff --git a/go.mod b/go.mod index 96752e294..1a2e57bc5 100644 --- a/go.mod +++ b/go.mod @@ -5,8 +5,8 @@ go 1.21 require ( github.com/Azure/azure-kusto-go v0.14.0 github.com/Azure/azure-sdk-for-go v68.0.0+incompatible - github.com/Azure/azure-sdk-for-go-extensions v0.1.4 - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 + github.com/Azure/azure-sdk-for-go-extensions v0.1.5 + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.0.0 github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.1.0 @@ -32,7 +32,7 @@ require ( github.com/stretchr/testify v1.8.4 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.26.0 - golang.org/x/crypto v0.14.0 + golang.org/x/crypto v0.16.0 k8s.io/api v0.28.3 k8s.io/apiextensions-apiserver v0.28.3 k8s.io/apimachinery v0.28.3 @@ -47,7 +47,7 @@ require ( require ( contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d // indirect contrib.go.opencensus.io/exporter/prometheus v0.4.2 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1 // indirect github.com/Azure/go-armbalancer v0.0.2 // indirect github.com/Azure/go-autorest v14.2.0+incompatible // indirect github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect @@ -66,7 +66,7 @@ require ( github.com/deckarep/golang-set v1.8.0 // indirect github.com/emicklei/go-restful/v3 v3.11.0 // indirect github.com/evanphx/json-patch/v5 v5.7.0 // indirect - github.com/felixge/httpsnoop v1.0.3 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect @@ -113,17 +113,17 @@ require ( github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.5 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 // indirect - go.opentelemetry.io/otel v1.19.0 // indirect - go.opentelemetry.io/otel/metric v1.19.0 // indirect - go.opentelemetry.io/otel/trace v1.19.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 // indirect + go.opentelemetry.io/otel v1.21.0 // indirect + go.opentelemetry.io/otel/metric v1.21.0 // indirect + go.opentelemetry.io/otel/trace v1.21.0 // indirect go.uber.org/automaxprocs v1.5.3 // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect - golang.org/x/net v0.17.0 // indirect + golang.org/x/net v0.19.0 // indirect golang.org/x/oauth2 v0.13.0 // indirect golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.14.0 // indirect - golang.org/x/term v0.13.0 // indirect + golang.org/x/sys v0.15.0 // indirect + golang.org/x/term v0.15.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.4.0 // indirect golang.org/x/tools v0.14.0 // indirect diff --git a/go.sum b/go.sum index 873759a1e..a4d781a82 100644 --- a/go.sum +++ b/go.sum @@ -39,14 +39,14 @@ github.com/Azure/azure-kusto-go v0.14.0 h1:5XVmjh5kVgsm2scpsWisJ6Q1ZgWHJcIOPCZC1 github.com/Azure/azure-kusto-go v0.14.0/go.mod h1:wSmXIsQwBVPHDNsSQsX98nuc12VyvxoNHQa2q9t1Ce0= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go-extensions v0.1.4 h1:XNT7IWmj4u3AfSag3t2mFupHT59J58pknX+daqprjm8= -github.com/Azure/azure-sdk-for-go-extensions v0.1.4/go.mod h1:dJfn8QUzuvyO4hGZ8pkROwd7/VQzDG8ER2SRk+V0afY= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 h1:fb8kj/Dh4CSwgsOzHeZY4Xh68cFVbzXx+ONXGMY//4w= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0/go.mod h1:uReU2sSxZExRPBAg3qKzmAucSi51+SP1OhohieR821Q= +github.com/Azure/azure-sdk-for-go-extensions v0.1.5 h1:iGNv4we/Mst2hPcaZOynmCJJGNsPyN4YNV1YTzaGCb8= +github.com/Azure/azure-sdk-for-go-extensions v0.1.5/go.mod h1:27StPiXJp6Xzkq2AQL7gPK7VC0hgmCnUKlco1dO1jaM= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1 h1:lGlwhPtrX6EVml1hO0ivjkUxsSyl4dsiw9qcA1k/3IQ= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1/go.mod h1:RKUqNu35KJYcVG/fqTRqmuXJZYNhYkBrnC/hX7yGbTA= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1 h1:LNHhpdK7hzUcx/k1LIcuh5k7k1LGIWLQfCjaneSj7Fc= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.3.1/go.mod h1:uE9zaUfEQT/nbQjVi2IblCG9iaLtZsuYZ8ne+PuQ02M= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 h1:d81/ng9rET2YqdVkVwkb6EXeRrLJIwyGnJcAlAWKwhs= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1 h1:6oNBlSdi1QqM1PNW7FPA6xOGA5UNsXnkaYZz9vdPGhA= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.0.0 h1:/Di3vB4sNeQ+7A8efjUVENvyB945Wruvstucqp7ZArg= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute v1.0.0/go.mod h1:gM3K25LQlsET3QR+4V74zxCsFAy0r6xMNN9n80SZn+4= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.1.0 h1:Sg/D8VuUQ+bw+FOYJF+xRKcwizCOP13HL0Se8pWNBzE= @@ -142,8 +142,8 @@ github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.7.0 h1:nJqP7uwL84RJInrohHfW0Fx3awjbm8qZeFv0nW9SYGc= github.com/evanphx/json-patch/v5 v5.7.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= -github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= -github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -427,14 +427,14 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 h1:x8Z78aZx8cOF0+Kkazoc7lwUNMGy0LrzEMxTm4BbTxg= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0/go.mod h1:62CPTSry9QZtOaSsE3tOzhx6LzDhHnXJ6xHeMNNiM6Q= -go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= -go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= -go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= -go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= -go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg= -go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 h1:aFJWCqJMNjENlcleuuOkGAPH82y0yULBScfXcIEdS24= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo= +go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc= +go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= +go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4= +go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= +go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc= +go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8= go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= @@ -455,8 +455,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= +golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -532,8 +532,8 @@ golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -605,13 +605,13 @@ golang.org/x/sys v0.0.0-20220708085239-5a0f0661e09d/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= -golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= +golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/pkg/fake/azureresourcegraphapi.go b/pkg/fake/azureresourcegraphapi.go index e3fa4d07f..f6cd1cee3 100644 --- a/pkg/fake/azureresourcegraphapi.go +++ b/pkg/fake/azureresourcegraphapi.go @@ -39,7 +39,7 @@ type AzureResourceGraphBehavior struct { } // assert that the fake implements the interface -var _ instance.AzureResourceGraphAPI = (*AzureResourceGraphAPI)(nil) +var _ instance.AzureResourceGraphAPI = &AzureResourceGraphAPI{} type AzureResourceGraphAPI struct { AzureResourceGraphBehavior diff --git a/pkg/fake/communityimageversionsapi.go b/pkg/fake/communityimageversionsapi.go index c9d8f265c..860874f22 100644 --- a/pkg/fake/communityimageversionsapi.go +++ b/pkg/fake/communityimageversionsapi.go @@ -30,7 +30,7 @@ type CommunityGalleryImageVersionsAPI struct { } // assert that the fake implements the interface -var _ imagefamily.CommunityGalleryImageVersionsAPI = (*CommunityGalleryImageVersionsAPI)(nil) +var _ imagefamily.CommunityGalleryImageVersionsAPI = &CommunityGalleryImageVersionsAPI{} // NewListPager returns a new pager to return the next page of CommunityGalleryImageVersionsClientListResponse func (c *CommunityGalleryImageVersionsAPI) NewListPager(_ string, _ string, _ string, _ *armcompute.CommunityGalleryImageVersionsClientListOptions) *runtime.Pager[armcompute.CommunityGalleryImageVersionsClientListResponse] { diff --git a/pkg/fake/networkinterfaceapi.go b/pkg/fake/networkinterfaceapi.go index 87817fc57..4537b0beb 100644 --- a/pkg/fake/networkinterfaceapi.go +++ b/pkg/fake/networkinterfaceapi.go @@ -47,7 +47,7 @@ type NetworkInterfacesBehavior struct { } // assert that the fake implements the interface -var _ instance.NetworkInterfacesAPI = (*NetworkInterfacesAPI)(nil) +var _ instance.NetworkInterfacesAPI = &NetworkInterfacesAPI{} type NetworkInterfacesAPI struct { // instance.NetworkInterfacesAPI diff --git a/pkg/fake/pricingapi.go b/pkg/fake/pricingapi.go index 146e4eb55..3a8f1f377 100644 --- a/pkg/fake/pricingapi.go +++ b/pkg/fake/pricingapi.go @@ -36,6 +36,9 @@ type PricingBehavior struct { ProductsPricePage AtomicPtr[client.ProductsPricePage] } +// assert that the fake implements the interface +var _ client.PricingAPI = &PricingAPI{} + func (p *PricingAPI) Reset() { p.NextError.Reset() p.ProductsPricePage.Reset() diff --git a/pkg/fake/virtualmachineextensionsapi.go b/pkg/fake/virtualmachineextensionsapi.go index e118117d9..be8539695 100644 --- a/pkg/fake/virtualmachineextensionsapi.go +++ b/pkg/fake/virtualmachineextensionsapi.go @@ -40,7 +40,7 @@ type VirtualMachineExtensionsBehavior struct { } // assert that ComputeAPI implements ARMComputeAPI -var _ instance.VirtualMachineExtensionsAPI = (*VirtualMachineExtensionsAPI)(nil) +var _ instance.VirtualMachineExtensionsAPI = &VirtualMachineExtensionsAPI{} type VirtualMachineExtensionsAPI struct { // instance.VirtualMachineExtensionsAPI diff --git a/pkg/fake/virtualmachinesapi.go b/pkg/fake/virtualmachinesapi.go index 2066f20de..722b4966a 100644 --- a/pkg/fake/virtualmachinesapi.go +++ b/pkg/fake/virtualmachinesapi.go @@ -66,7 +66,7 @@ type VirtualMachinesBehavior struct { } // assert that the fake implements the interface -var _ instance.VirtualMachinesAPI = (*VirtualMachinesAPI)(nil) +var _ instance.VirtualMachinesAPI = &VirtualMachinesAPI{} type VirtualMachinesAPI struct { // TODO: document the implications of embedding vs. not embedding the interface here diff --git a/pkg/operator/operator.go b/pkg/operator/operator.go index 866c6c02c..f496e6ee3 100644 --- a/pkg/operator/operator.go +++ b/pkg/operator/operator.go @@ -54,10 +54,10 @@ type Operator struct { } func NewOperator(ctx context.Context, operator *operator.Operator) (context.Context, *Operator) { - azConfig, err := GetAzConfig() + azConfig, err := GetAZConfig() lo.Must0(err, "creating Azure config") // TODO: I assume we prefer this over the cleaner azConfig := lo.Must(GetAzConfig()), as this has a helpful error message? - azClient, err := instance.CreateAzClient(ctx, azConfig) + azClient, err := instance.CreateAZClient(ctx, azConfig) lo.Must0(err, "creating Azure client") unavailableOfferingsCache := azurecache.NewUnavailableOfferings() @@ -125,7 +125,7 @@ func NewOperator(ctx context.Context, operator *operator.Operator) (context.Cont } } -func GetAzConfig() (*auth.Config, error) { +func GetAZConfig() (*auth.Config, error) { cfg, err := auth.BuildAzureConfig() if err != nil { return nil, err diff --git a/pkg/providers/instance/azure_client.go b/pkg/providers/instance/azure_client.go index 64f0da769..0fb7a6a0b 100644 --- a/pkg/providers/instance/azure_client.go +++ b/pkg/providers/instance/azure_client.go @@ -94,7 +94,7 @@ func NewAZClientFromAPI( } } -func CreateAzClient(ctx context.Context, cfg *auth.Config) (*AZClient, error) { +func CreateAZClient(ctx context.Context, cfg *auth.Config) (*AZClient, error) { // Defaulting env to Azure Public Cloud. env := azure.PublicCloud var err error @@ -132,7 +132,7 @@ func NewAZClient(ctx context.Context, cfg *auth.Config, env *azure.Environment) } opts := armopts.DefaultArmOpts() - extClient, err := armcompute.NewVirtualMachineExtensionsClient(cfg.SubscriptionID, cred, opts) + extensionsClient, err := armcompute.NewVirtualMachineExtensionsClient(cfg.SubscriptionID, cred, opts) if err != nil { return nil, err } @@ -178,14 +178,11 @@ func NewAZClient(ctx context.Context, cfg *auth.Config, env *azure.Environment) // TODO Move this over to track 2 when skewer is migrated skuClient := skuclient.NewSkuClient(ctx, cfg, env) - return &AZClient{ - networkInterfacesClient: interfacesClient, - virtualMachinesClient: virtualMachinesClient, - virtualMachinesExtensionClient: extClient, - azureResourceGraphClient: azureResourceGraphClient, - - ImageVersionsClient: imageVersionsClient, - SKUClient: skuClient, - LoadBalancersClient: loadBalancersClient, - }, nil + return NewAZClientFromAPI(virtualMachinesClient, + azureResourceGraphClient, + extensionsClient, + interfacesClient, + loadBalancersClient, + imageVersionsClient, + skuClient), nil } diff --git a/pkg/providers/instance/instance.go b/pkg/providers/instance/instance.go index 6aaf9f87b..ca5bf238d 100644 --- a/pkg/providers/instance/instance.go +++ b/pkg/providers/instance/instance.go @@ -73,8 +73,6 @@ var ( ZonalAllocationFailureReason = "ZonalAllocationFailure" SKUNotAvailableReason = "SKUNotAvailable" - SKUNotAvailableErrorCode = "SkuNotAvailable" - SubscriptionQuotaReachedTTL = 1 * time.Hour SKUNotAvailableSpotTTL = 1 * time.Hour SKUNotAvailableOnDemandTTL = 23 * time.Hour @@ -417,12 +415,6 @@ func (p *Provider) launchInstance( return resp, instanceType, nil } -// isSKUNotAvailable - to be moved to azure-sdk-for-go-extensions -func isSKUNotAvailable(err error) bool { - azErr := sdkerrors.IsResponseError(err) - return azErr != nil && azErr.ErrorCode == SKUNotAvailableErrorCode -} - func (p *Provider) handleResponseErrors(ctx context.Context, instanceType *corecloudprovider.InstanceType, zone, capacityType string, err error) error { if sdkerrors.SKUFamilyQuotaHasBeenReached(err) { // Subscription quota has been reached for this VM SKU, mark the instance type as unavailable in all zones available to the offering @@ -443,7 +435,7 @@ func (p *Provider) handleResponseErrors(ctx context.Context, instanceType *corec } return fmt.Errorf("subscription level %s vCPU quota for %s has been reached (may try provision an alternative instance type)", capacityType, instanceType.Name) } - if isSKUNotAvailable(err) { + if sdkerrors.IsSKUNotAvailable(err) { // https://aka.ms/azureskunotavailable: either not available for a location or zone, or out of capacity for Spot. // We only expect to observe the Spot case, not location or zone restrictions, because: // - SKUs with location restriction are already filtered out via sku.HasLocationRestriction diff --git a/pkg/providers/instancetype/suite_test.go b/pkg/providers/instancetype/suite_test.go index 1e737ddac..67639dd07 100644 --- a/pkg/providers/instancetype/suite_test.go +++ b/pkg/providers/instancetype/suite_test.go @@ -60,7 +60,6 @@ import ( "github.com/Azure/karpenter/pkg/apis/v1alpha2" "github.com/Azure/karpenter/pkg/cloudprovider" "github.com/Azure/karpenter/pkg/fake" - "github.com/Azure/karpenter/pkg/providers/instance" "github.com/Azure/karpenter/pkg/providers/instancetype" "github.com/Azure/karpenter/pkg/providers/loadbalancer" "github.com/Azure/karpenter/pkg/test" @@ -630,7 +629,7 @@ var _ = Describe("InstanceType Provider", func() { AssertUnavailable := func(sku string, capacityType string) { // fake a SKU not available error azureEnv.VirtualMachinesAPI.VirtualMachinesBehavior.VirtualMachineCreateOrUpdateBehavior.Error.Set( - &azcore.ResponseError{ErrorCode: instance.SKUNotAvailableErrorCode}, + &azcore.ResponseError{ErrorCode: sdkerrors.SKUNotAvailableErrorCode}, ) coretest.ReplaceRequirements(nodePool, v1.NodeSelectorRequirement{Key: v1.LabelInstanceTypeStable, Operator: v1.NodeSelectorOpIn, Values: []string{sku}}, diff --git a/pkg/utils/gpu.go b/pkg/utils/gpu.go index e66fbdbfb..a6b657139 100644 --- a/pkg/utils/gpu.go +++ b/pkg/utils/gpu.go @@ -23,11 +23,11 @@ import ( // TODO: Get these from agentbaker const ( Nvidia470CudaDriverVersion = "cuda-470.82.01" - Nvidia525CudaDriverVersion = "cuda-525.85.12" + Nvidia535CudaDriverVersion = "cuda-535.54.03" Nvidia535GridDriverVersion = "grid-535.54.03" AKSGPUGridSHA = "sha-20ffa2" - AKSGPUCudaSHA = "sha-e8873b" + AKSGPUCudaSHA = "sha-ff213d" ) func GetAKSGPUImageSHA(size string) string { @@ -146,7 +146,7 @@ func GetGPUDriverVersion(size string) string { if isStandardNCv1(size) { return Nvidia470CudaDriverVersion } - return Nvidia525CudaDriverVersion + return Nvidia535CudaDriverVersion } func isStandardNCv1(size string) bool { diff --git a/pkg/utils/gpu_test.go b/pkg/utils/gpu_test.go index 71e683fa7..40a70db21 100644 --- a/pkg/utils/gpu_test.go +++ b/pkg/utils/gpu_test.go @@ -55,9 +55,9 @@ func TestGetGPUDriverVersion(t *testing.T) { }{ {"GRID Driver - NV Series v5", "standard_nv6ads_a10_v5", Nvidia535GridDriverVersion}, {"CUDA Driver - NC Series v1", "standard_nc6s", Nvidia470CudaDriverVersion}, - {"CUDA Driver - NC Series v2", "standard_nc6s_v2", Nvidia525CudaDriverVersion}, - {"Unknown SKU", "unknown_sku", Nvidia525CudaDriverVersion}, - {"CUDA Driver - NC Series v3", "standard_nc6s_v3", Nvidia525CudaDriverVersion}, + {"CUDA Driver - NC Series v2", "standard_nc6s_v2", Nvidia535CudaDriverVersion}, + {"Unknown SKU", "unknown_sku", Nvidia535CudaDriverVersion}, + {"CUDA Driver - NC Series v3", "standard_nc6s_v3", Nvidia535CudaDriverVersion}, {"GRID Driver - A10", "standard_nc8ads_a10_v4", Nvidia535GridDriverVersion}, } diff --git a/skaffold.yaml b/skaffold.yaml index cc0eb94c4..a2115e19b 100644 --- a/skaffold.yaml +++ b/skaffold.yaml @@ -9,7 +9,7 @@ build: paths: - '**/*.go' - '**/*.gtpl' - #flags: ['-tags', 'ccp'] + #flags: ['-tags', 'ccp'] manifests: helm: releases: @@ -29,10 +29,10 @@ manifests: drift: true azure: clusterName: karpenter - clusterEndpoint: https://karpenter-tallaxes-azure-k-26fe00-j3imiwu5.hcp.westus2.staging.azmk8s.io:443 - kubeletClientTLSBootstrapToken: "" # TODO: get this from the cluster + clusterEndpoint: "Please run make az-all" + kubeletClientTLSBootstrapToken: "Please run make az-all" # TODO: get this from the cluster # TODO: autogenerate - sshPublicKey: "" + sshPublicKey: "Please run make az-all" networkPlugin: "azure" # TODO: get this from the cluster networkPolicy: "" replicas: 1 # for better debugging experience @@ -46,23 +46,23 @@ manifests: batchMaxDuration: 10s # 60s is a good value for large runs (500+ nodes) env: - name: ARM_SUBSCRIPTION_ID - value: "" + value: "Please run make az-all" - name: LOCATION value: westus2 - name: ARM_USE_MANAGED_IDENTITY_EXTENSION value: "true" - name: ARM_USER_ASSIGNED_IDENTITY_ID - value: "" + value: "Please run make az-all" - name: AZURE_NODE_RESOURCE_GROUP - value: "" + value: "Please run make az-all" - name: AZURE_SUBNET_ID # the id of subnet to create network interfaces on - value: "" + value: "Please run make az-all" - name: LEADER_ELECT # disable leader election for better debugging experience value: "false" - name: AZURE_VNET_NAME - value: "" + value: "Please run make az-all" - name: AZURE_SUBNET_NAME - value: "" + value: "Please run make az-all" # disable HTTP/2 to reduce ARM throttling on large-scale tests; # with this in place write (and read) QPS can be increased too #- name: GODEBUG