Skip to content

Commit 7e4a96a

Browse files
committed
DO NOT MERGE, dependency for PR review
Must remove after merging the following PRs: - longhorn/go-common-libs/pull/122 - longhorn/backupstore/pull/250 - longhorn/longhorn-engine/pull/1533
1 parent 7d7f645 commit 7e4a96a

File tree

52 files changed

+798
-527
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+798
-527
lines changed

go.mod

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ require (
8585
golang.org/x/net v0.42.0
8686
golang.org/x/sys v0.34.0
8787
golang.org/x/time v0.12.0
88-
google.golang.org/grpc v1.73.0
88+
google.golang.org/grpc v1.74.0
8989
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c
9090
gopkg.in/yaml.v2 v2.4.0
9191
k8s.io/api v0.33.2
@@ -95,7 +95,7 @@ require (
9595
k8s.io/client-go v0.33.2
9696
k8s.io/kubernetes v1.33.2
9797
k8s.io/metrics v0.33.2
98-
k8s.io/mount-utils v0.33.2
98+
k8s.io/mount-utils v0.33.3
9999
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
100100
sigs.k8s.io/controller-runtime v0.21.0
101101
)
@@ -114,7 +114,7 @@ require (
114114
github.com/x448/float16 v0.8.4 // indirect
115115
github.com/yusufpapurcu/wmi v1.2.4 // indirect
116116
golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc // indirect
117-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
117+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
118118
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
119119
gopkg.in/yaml.v3 v3.0.1 // indirect
120120
sigs.k8s.io/randfill v1.0.0 // indirect
@@ -134,7 +134,7 @@ require (
134134
github.com/felixge/httpsnoop v1.0.4 // indirect
135135
github.com/gammazero/deque v1.0.0 // indirect
136136
github.com/gammazero/workerpool v1.1.3 // indirect
137-
github.com/go-logr/logr v1.4.2 // indirect
137+
github.com/go-logr/logr v1.4.3 // indirect
138138
github.com/go-openapi/jsonpointer v0.21.0 // indirect
139139
github.com/go-openapi/jsonreference v0.21.0 // indirect
140140
github.com/go-openapi/swag v0.23.0 // indirect
@@ -165,12 +165,12 @@ require (
165165
github.com/russross/blackfriday/v2 v2.1.0 // indirect
166166
github.com/slok/goresilience v0.2.0 // indirect
167167
github.com/spf13/pflag v1.0.5 // indirect
168-
go.opentelemetry.io/otel v1.35.0 // indirect
169-
go.opentelemetry.io/otel/trace v1.35.0 // indirect
168+
go.opentelemetry.io/otel v1.36.0 // indirect
169+
go.opentelemetry.io/otel/trace v1.36.0 // indirect
170170
go.uber.org/atomic v1.11.0 // indirect
171171
go.uber.org/multierr v1.11.0
172172
golang.org/x/crypto v0.40.0 // indirect
173-
golang.org/x/oauth2 v0.28.0 // indirect
173+
golang.org/x/oauth2 v0.30.0 // indirect
174174
golang.org/x/sync v0.16.0
175175
golang.org/x/term v0.33.0 // indirect
176176
golang.org/x/text v0.27.0
@@ -188,3 +188,9 @@ require (
188188
sigs.k8s.io/structured-merge-diff/v4 v4.7.0
189189
sigs.k8s.io/yaml v1.4.0 // indirect
190190
)
191+
192+
replace github.com/longhorn/go-common-libs => github.com/COLDTURNIP/longhorn-go-common-libs v0.0.0-20250718014604-aa4c0c7ca10d
193+
194+
replace github.com/longhorn/backupstore => github.com/COLDTURNIP/longhorn-backupstore v0.0.0-20250718065324-849563782471
195+
196+
replace github.com/longhorn/longhorn-engine => github.com/COLDTURNIP/longhorn-engine v0.0.0-20250718093343-43a5b32d76a6

go.sum

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
22
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
33
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
4+
github.com/COLDTURNIP/longhorn-backupstore v0.0.0-20250718065324-849563782471 h1:Gr8chf3x2IgFjbN/7eTlODhzlQs3NghAayXbl1m3d5E=
5+
github.com/COLDTURNIP/longhorn-backupstore v0.0.0-20250718065324-849563782471/go.mod h1:LU3YHX+v0/ful6kYH9jH57Jux+tFQB1SR0y+JNVEaHQ=
6+
github.com/COLDTURNIP/longhorn-engine v0.0.0-20250718093343-43a5b32d76a6 h1:4wUIAIj8NfB3WQB2xjVyKrKzxlF1kBuj5JP5Kt7nMDU=
7+
github.com/COLDTURNIP/longhorn-engine v0.0.0-20250718093343-43a5b32d76a6/go.mod h1:/UBSDXKi0gg3Cl2p91u+k4XJf1a4KomXrjxPV1QMe4s=
8+
github.com/COLDTURNIP/longhorn-go-common-libs v0.0.0-20250718014604-aa4c0c7ca10d h1:uWEsN+8vsWayzkDFIWhunfkRO7O19qpcVyBXIksGuoc=
9+
github.com/COLDTURNIP/longhorn-go-common-libs v0.0.0-20250718014604-aa4c0c7ca10d/go.mod h1:WJowu2xRMEZ2B9K+SPQCUQpFoiC6yZiAHLZx2cR34QE=
410
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
511
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
612
github.com/avast/retry-go v3.0.0+incompatible h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHSxpiH9JdtuBj0=
@@ -43,8 +49,8 @@ github.com/gammazero/workerpool v1.1.3 h1:WixN4xzukFoN0XSeXF6puqEqFTl2mECI9S6W44
4349
github.com/gammazero/workerpool v1.1.3/go.mod h1:wPjyBLDbyKnUn2XwwyD3EEwo9dHutia9/fwNmSHWACc=
4450
github.com/go-co-op/gocron v1.37.0 h1:ZYDJGtQ4OMhTLKOKMIch+/CY70Brbb1dGdooLEhh7b0=
4551
github.com/go-co-op/gocron v1.37.0/go.mod h1:3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY=
46-
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
47-
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
52+
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
53+
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
4854
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
4955
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
5056
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
@@ -111,16 +117,10 @@ github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhn
111117
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
112118
github.com/longhorn/backing-image-manager v1.9.0 h1:DwKvJjGsMg4bHfMjLhKw+WVcUCB3C5/nTTku1SYOMdA=
113119
github.com/longhorn/backing-image-manager v1.9.0/go.mod h1:E+9hHsjjMLUtIuUuTJyAaZjJ0EQ/LcxphkC7MzMMnlA=
114-
github.com/longhorn/backupstore v0.0.0-20250624115502-f6e828377c27 h1:Kf9L7JbsTqfUG+WrwahxfLO28xwrWmN/43Ukl143ns4=
115-
github.com/longhorn/backupstore v0.0.0-20250624115502-f6e828377c27/go.mod h1:+sMmPD1PWsFGhHiytIYODa3vfDuXFdJsw9eNxOST9I0=
116-
github.com/longhorn/go-common-libs v0.0.0-20250712065607-11215ac4de96 h1:+SN5T/B6WvJjlzKWDqswziq9k11XOxK27KlCTrbalW0=
117-
github.com/longhorn/go-common-libs v0.0.0-20250712065607-11215ac4de96/go.mod h1:WJowu2xRMEZ2B9K+SPQCUQpFoiC6yZiAHLZx2cR34QE=
118120
github.com/longhorn/go-iscsi-helper v0.0.0-20250713130221-69ce6f3960fa h1:J0DyOSate7Vf+zlHYB5WrCTWJfshEsSJDp161GjBmhI=
119121
github.com/longhorn/go-iscsi-helper v0.0.0-20250713130221-69ce6f3960fa/go.mod h1:fN9H878mLjAqSbPxEXpOCwvTlt43h+/CZxXrQlX/iMQ=
120122
github.com/longhorn/go-spdk-helper v0.0.3-0.20250712161648-42d38592f838 h1:j3PgIRQihtn7R94mnVyTvc8YStYKH7JumiEI2yP4YQI=
121123
github.com/longhorn/go-spdk-helper v0.0.3-0.20250712161648-42d38592f838/go.mod h1:QOzb0AX/CUcVtf5h6DMyr0W/7EkQrjKn2N593t35UWs=
122-
github.com/longhorn/longhorn-engine v1.9.0 h1:NSQNwAFQZdF+nywTJbyW0qJBKIWPE6J2Vy0qWCsup4I=
123-
github.com/longhorn/longhorn-engine v1.9.0/go.mod h1:dvVqPWauvH2hrMlI6sDd3y8wsA4wsAtCX7WB+JwcbwA=
124124
github.com/longhorn/longhorn-instance-manager v1.10.0-dev-20250629.0.20250711075830-f3729b840178 h1:JO7uffDjHufJZZxvXLdoLpIWUl1/QszoZlx9dzCRNKY=
125125
github.com/longhorn/longhorn-instance-manager v1.10.0-dev-20250629.0.20250711075830-f3729b840178/go.mod h1:dLZTouISlm8sUpSDDb4xbnSEbZOBnKCVFMf46Ybpr44=
126126
github.com/longhorn/longhorn-share-manager v1.9.0 h1:t6WnF9CzN7ivNJD9iHKjyci13Uy1Z9nWO8xDudYMtys=
@@ -231,16 +231,16 @@ github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo
231231
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
232232
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
233233
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
234-
go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
235-
go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
236-
go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M=
237-
go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE=
238-
go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
239-
go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=
240-
go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o=
241-
go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w=
242-
go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs=
243-
go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
234+
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
235+
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
236+
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
237+
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
238+
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
239+
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
240+
go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
241+
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
242+
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
243+
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
244244
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
245245
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
246246
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
@@ -268,8 +268,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
268268
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
269269
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
270270
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
271-
golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc=
272-
golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
271+
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
272+
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
273273
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
274274
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
275275
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -304,10 +304,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
304304
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
305305
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
306306
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
307-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
308-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
309-
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
310-
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
307+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
308+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
309+
google.golang.org/grpc v1.74.0 h1:sxRSkyLxlceWQiqDofxDot3d4u7DyoHPc7SBXMj8gGY=
310+
google.golang.org/grpc v1.74.0/go.mod h1:NZUaK8dAMUfzhK6uxZ+9511LtOrk73UGWOFoNvz7z+s=
311311
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
312312
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
313313
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

upgrade/v19xto1100/upgrade.go

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
package v18xto190
2+
3+
import (
4+
"github.com/pkg/errors"
5+
6+
apierrors "k8s.io/apimachinery/pkg/api/errors"
7+
clientset "k8s.io/client-go/kubernetes"
8+
9+
"github.com/longhorn/longhorn-manager/types"
10+
11+
longhorn "github.com/longhorn/longhorn-manager/k8s/pkg/apis/longhorn/v1beta2"
12+
lhclientset "github.com/longhorn/longhorn-manager/k8s/pkg/client/clientset/versioned"
13+
upgradeutil "github.com/longhorn/longhorn-manager/upgrade/util"
14+
)
15+
16+
const (
17+
upgradeLogPrefix = "upgrade from v1.8.x to v1.9.0: "
18+
)
19+
20+
type listAndUpdateFunc func(namespace string, lhClient *lhclientset.Clientset, resourceMaps map[string]interface{}) error
21+
type typedListAndUpdateFunc[K any] func(namespace string, lhClient *lhclientset.Clientset, resourceMaps map[string]interface{}) (map[string]*K, error)
22+
23+
func listAndUpdateResources[K any](listUpdateFunc typedListAndUpdateFunc[K]) listAndUpdateFunc {
24+
return func(namespace string, lhClient *lhclientset.Clientset, resourceMaps map[string]interface{}) error {
25+
_, err := listUpdateFunc(namespace, lhClient, resourceMaps)
26+
return err
27+
}
28+
}
29+
30+
func UpgradeResources(namespace string, lhClient *lhclientset.Clientset, kubeClient *clientset.Clientset, resourceMaps map[string]interface{}) error {
31+
if resourceMaps == nil {
32+
return errors.New("resourceMaps cannot be nil")
33+
}
34+
35+
if err := updateCRs(namespace, lhClient, kubeClient, resourceMaps); err != nil {
36+
return err
37+
}
38+
39+
return nil
40+
}
41+
42+
func updateCRs(namespace string, lhClient *lhclientset.Clientset, kubeClient *clientset.Clientset, resourceMaps map[string]interface{}) (err error) {
43+
// From v1.9.0, the v1beta1 API is deprecated, and v1beta2 is the storage version. Load all resource and write back into v1beta2.
44+
45+
updates := map[string]listAndUpdateFunc{
46+
types.LonghornKindSetting: listAndUpdateResources(upgradeutil.ListAndUpdateSettingsInProvidedCache),
47+
types.LonghornKindNode: listAndUpdateResources(upgradeutil.ListAndUpdateNodesInProvidedCache),
48+
types.LonghornKindInstanceManager: listAndUpdateResources(upgradeutil.ListAndUpdateInstanceManagersInProvidedCache),
49+
types.LonghornKindShareManager: listAndUpdateResources(upgradeutil.ListAndUpdateShareManagersInProvidedCache),
50+
types.LonghornKindEngine: listAndUpdateResources(upgradeutil.ListAndUpdateEnginesInProvidedCache),
51+
types.LonghornKindEngineImage: listAndUpdateResources(upgradeutil.ListAndUpdateEngineImagesInProvidedCache),
52+
types.LonghornKindReplica: listAndUpdateResources(upgradeutil.ListAndUpdateReplicasInProvidedCache),
53+
types.LonghornKindVolume: listAndUpdateResources(upgradeutil.ListAndUpdateVolumesInProvidedCache),
54+
types.LonghornKindBackupVolume: listAndUpdateResources(upgradeutil.ListAndUpdateBackupVolumesInProvidedCache),
55+
types.LonghornKindBackup: listAndUpdateResources(upgradeutil.ListAndUpdateBackupsInProvidedCache),
56+
types.LonghornKindBackupTarget: listAndUpdateResources(upgradeutil.ListAndUpdateBackupTargetsInProvidedCache),
57+
types.LonghornKindBackingImageManager: listAndUpdateResources(upgradeutil.ListAndUpdateBackingImageManagersInProvidedCache),
58+
types.LonghornKindBackingImageDataSource: listAndUpdateResources(upgradeutil.ListAndUpdateBackingImageDataSourcesInProvidedCache),
59+
types.LonghornKindBackingImage: listAndUpdateResources(upgradeutil.ListAndUpdateBackingImagesInProvidedCache),
60+
types.LonghornKindRecurringJob: listAndUpdateResources(upgradeutil.ListAndUpdateRecurringJobsInProvidedCache),
61+
}
62+
for resourceKind, listUpdateFunc := range updates {
63+
if err := listUpdateFunc(namespace, lhClient, resourceMaps); err != nil {
64+
return errors.Wrapf(err, upgradeLogPrefix+"failed to list all existing Longhorn %s during the %s upgrade", resourceKind, resourceKind)
65+
}
66+
}
67+
68+
if err := upgradeVolumes(namespace, lhClient, resourceMaps); err != nil {
69+
return err
70+
}
71+
72+
return nil
73+
}
74+
75+
func upgradeVolumes(namespace string, lhClient *lhclientset.Clientset, resourceMaps map[string]interface{}) (err error) {
76+
defer func() {
77+
err = errors.Wrapf(err, upgradeLogPrefix+"upgrade volume failed")
78+
}()
79+
80+
volumesMap, err := upgradeutil.ListAndUpdateVolumesInProvidedCache(namespace, lhClient, resourceMaps)
81+
if err != nil {
82+
if apierrors.IsNotFound(err) {
83+
return nil
84+
}
85+
return errors.Wrapf(err, "failed to list all existing Longhorn volumes during the volume upgrade")
86+
}
87+
88+
for _, v := range volumesMap {
89+
if v.Spec.OfflineRebuilding == "" {
90+
v.Spec.OfflineRebuilding = longhorn.VolumeOfflineRebuildingIgnored
91+
}
92+
}
93+
94+
return nil
95+
}

vendor/github.com/go-logr/logr/.golangci.yaml

Lines changed: 9 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/longhorn/backupstore/Dockerfile.dapper

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/longhorn/backupstore/backupstore.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/longhorn/backupstore/config.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)