@@ -95,11 +95,9 @@ func (m *Migrator) MigrateIfNeeded(target *EtcdVersionPair) error {
95
95
}
96
96
return nil
97
97
case current .storageVersion == storageEtcd2 && target .storageVersion == storageEtcd3 :
98
- klog .Info ("upgrading from etcd2 storage to etcd3 storage" )
99
- current , err = m .etcd2ToEtcd3Upgrade (current , target )
98
+ return fmt .Errorf ("upgrading from etcd2 storage to etcd3 storage is not supported" )
100
99
case current .version .Major == 3 && target .version .Major == 2 :
101
- klog .Info ("downgrading from etcd 3.x to 2.x" )
102
- current , err = m .rollbackToEtcd2 (current , target )
100
+ return fmt .Errorf ("downgrading from etcd 3.x to 2.x is not supported" )
103
101
case current .version .Major == target .version .Major && current .version .Minor < target .version .Minor :
104
102
stepVersion := m .cfg .supportedVersions .NextVersionPair (current )
105
103
klog .Infof ("upgrading etcd from %s to %s" , current , stepVersion )
@@ -114,18 +112,6 @@ func (m *Migrator) MigrateIfNeeded(target *EtcdVersionPair) error {
114
112
}
115
113
}
116
114
117
- func (m * Migrator ) backupEtcd2 (current * EtcdVersion ) error {
118
- backupDir := fmt .Sprintf ("%s/%s" , m .dataDirectory , "migration-backup" )
119
- klog .Info ("Backup etcd before starting migration" )
120
- err := os .Mkdir (backupDir , 0666 )
121
- if err != nil {
122
- return fmt .Errorf ("failed to create backup directory before starting migration: %v" , err )
123
- }
124
- m .client .Backup (current , backupDir )
125
- klog .Infof ("Backup done in %s" , backupDir )
126
- return nil
127
- }
128
-
129
115
func (m * Migrator ) rollbackEtcd3MinorVersion (current * EtcdVersionPair , target * EtcdVersionPair ) (* EtcdVersionPair , error ) {
130
116
if target .version .Minor != current .version .Minor - 1 {
131
117
return nil , fmt .Errorf ("rollback from %s to %s not supported, only rollbacks to the previous minor version are supported" , current .version , target .version )
@@ -191,56 +177,6 @@ func (m *Migrator) rollbackEtcd3MinorVersion(current *EtcdVersionPair, target *E
191
177
return target , nil
192
178
}
193
179
194
- func (m * Migrator ) rollbackToEtcd2 (current * EtcdVersionPair , target * EtcdVersionPair ) (* EtcdVersionPair , error ) {
195
- if ! (current .version .Major == 3 && current .version .Minor == 0 && target .version .Major == 2 && target .version .Minor == 2 ) {
196
- return nil , fmt .Errorf ("etcd3 -> etcd2 downgrade is supported only between 3.0.x and 2.2.x, got current %s target %s" , current , target )
197
- }
198
- klog .Info ("Backup and remove all existing v2 data" )
199
- err := m .dataDirectory .Backup ()
200
- if err != nil {
201
- return nil , err
202
- }
203
- err = RollbackV3ToV2 (m .dataDirectory .path , time .Hour )
204
- if err != nil {
205
- return nil , fmt .Errorf ("rollback to etcd 2.x failed: %v" , err )
206
- }
207
- return target , nil
208
-
209
- }
210
-
211
- func (m * Migrator ) etcd2ToEtcd3Upgrade (current * EtcdVersionPair , target * EtcdVersionPair ) (* EtcdVersionPair , error ) {
212
- if current .storageVersion != storageEtcd2 || target .version .Major != 3 || target .storageVersion != storageEtcd3 {
213
- return nil , fmt .Errorf ("etcd2 to etcd3 upgrade is supported only for x.x.x/etcd2 to 3.0.x/etcd3, got current %s target %s" , current , target )
214
- }
215
- runner := m .newServer ()
216
-
217
- klog .Info ("Performing etcd2 -> etcd3 migration" )
218
- err := m .client .Migrate (target .version )
219
- if err != nil {
220
- return nil , err
221
- }
222
- klog .Info ("Attaching leases to TTL entries" )
223
-
224
- // Now attach lease to all keys.
225
- // To do it, we temporarily start etcd on a random port (so that
226
- // apiserver actually cannot access it).
227
- err = runner .Start (target .version )
228
- if err != nil {
229
- return nil , err
230
- }
231
- defer func () {
232
- err = runner .Stop ()
233
- }()
234
-
235
- // Create a lease and attach all keys to it.
236
- err = m .client .AttachLease (1 * time .Hour )
237
- if err != nil {
238
- return nil , err
239
- }
240
-
241
- return target , err
242
- }
243
-
244
180
func (m * Migrator ) minorVersionUpgrade (current * EtcdVersionPair , target * EtcdVersionPair ) (* EtcdVersionPair , error ) {
245
181
runner := m .newServer ()
246
182
0 commit comments