Skip to content

Commit d9e40ae

Browse files
author
Valeriy Khorunzhin
committed
fix with vmop restore
Signed-off-by: Valeriy Khorunzhin <valeriy.khorunzhin@flant.com>
1 parent 38e2ec4 commit d9e40ae

3 files changed

Lines changed: 13 additions & 3 deletions

File tree

images/virtualization-artifact/pkg/controller/service/restorer/secret_restorer.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,10 @@ func (r SecretRestorer) setVirtualMachineBlockDeviceAttachments(ctx context.Cont
180180
}
181181

182182
func (r SecretRestorer) setVirtualMachineIPAddress(ctx context.Context, secret *corev1.Secret, vm *v1alpha2.VirtualMachine, keepIPAddress v1alpha2.KeepIPAddress) error {
183+
if vm.Status.VirtualMachineIPAddress == "" {
184+
return nil
185+
}
186+
183187
vmip, err := object.FetchObject(ctx, types.NamespacedName{
184188
Namespace: vm.Namespace,
185189
Name: vm.Status.VirtualMachineIPAddress,

images/virtualization-artifact/pkg/controller/service/restorer/snapshot_resources.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,19 @@ func (r *SnapshotResources) Prepare(ctx context.Context) error {
129129
macAddressNamesByAddress[vmmac.Status.Address] = vmmac.Name
130130
}
131131

132+
hasMainNetwork := len(vm.Spec.Networks) > 0 && vm.Spec.Networks[0].Type == v1alpha2.NetworksTypeMain
133+
132134
for i := range vm.Spec.Networks {
133135
ns := &vm.Spec.Networks[i]
134136
if ns.Type == v1alpha2.NetworksTypeMain {
135137
continue
136138
}
137139

138-
ns.VirtualMachineMACAddressName = macAddressNamesByAddress[macAddressOrder[i-1]]
140+
delta := 0
141+
if hasMainNetwork {
142+
delta = 1
143+
}
144+
ns.VirtualMachineMACAddressName = macAddressNamesByAddress[macAddressOrder[i-delta]]
139145
}
140146
} else {
141147
for i := range vm.Spec.Networks {

images/virtualization-artifact/pkg/controller/vmsnapshot/internal/life_cycle.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -804,7 +804,7 @@ func (h LifeCycleHandler) fillStatusResources(ctx context.Context, vmSnapshot *v
804804
Name: vm.Name,
805805
})
806806

807-
if vmSnapshot.Spec.KeepIPAddress == v1alpha2.KeepIPAddressAlways {
807+
if vmSnapshot.Spec.KeepIPAddress == v1alpha2.KeepIPAddressAlways && vm.Status.VirtualMachineIPAddress != "" {
808808
vmip, err := object.FetchObject(ctx, types.NamespacedName{
809809
Namespace: vm.Namespace,
810810
Name: vm.Status.VirtualMachineIPAddress,
@@ -824,7 +824,7 @@ func (h LifeCycleHandler) fillStatusResources(ctx context.Context, vmSnapshot *v
824824
})
825825
}
826826

827-
if len(vm.Spec.Networks) > 1 {
827+
if len(vm.Spec.Networks) > 0 {
828828
for _, ns := range vm.Status.Networks {
829829
if ns.Type == v1alpha2.NetworksTypeMain {
830830
continue

0 commit comments

Comments
 (0)