Skip to content

Commit

Permalink
Verify shared virtual machines upon creation and whilest updating
Browse files Browse the repository at this point in the history
  • Loading branch information
jggoebel committed Sep 17, 2024
1 parent 6b1d30d commit 4849922
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
21 changes: 21 additions & 0 deletions v3/pkg/util/verify.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,24 @@ func VerifyTaskContent(vm_tasks []hfv1.VirtualMachineTasks, request proto.Messag
}
return nil
}

func VerifySharedVirtualMachineContent(virtual_machines []hfv1.SharedVirtualMachine, request proto.Message) error {
//Verify that name, description and command are not empty
for _, virtual_machine := range virtual_machines {
if virtual_machine.Name == "" {
glog.Errorf("error: Name (of virtual_machines) is not specified")
return hferrors.GrpcError(codes.InvalidArgument, "name for virtual_machines property is not specified", request)
}

if virtual_machine.Environment == "" {
glog.Errorf("error: Environment (of virtual_machine %s) is not specified", virtual_machine.Name)
return hferrors.GrpcError(codes.InvalidArgument, "name for virtual_machines property is not specified for "+virtual_machine.Name, request)
}

if virtual_machine.VMTemplate == "" {
glog.Errorf("error VMTemplate (of virtual_machine %s) is not specified", virtual_machine.Name)
return hferrors.GrpcError(codes.InvalidArgument, "name for virtual_machines property is not specified for "+virtual_machine.Name, request)
}
}
return nil
}
8 changes: 8 additions & 0 deletions v3/services/scheduledeventsvc/internal/grpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,10 @@ func (s *GrpcScheduledEventServer) CreateScheduledEvent(ctx context.Context, req
if err != nil {
return &generalpb.ResourceId{}, hferrors.GrpcParsingError(req, "shared_vms_raw")
}
err = util.VerifySharedVirtualMachineContent(sharedVms, req)
if err != nil {
return &generalpb.ResourceId{}, err
}
event.Spec.SharedVirtualMachines = sharedVms
}

Expand Down Expand Up @@ -305,6 +309,10 @@ func (s *GrpcScheduledEventServer) UpdateScheduledEvent(ctx context.Context, req
if err != nil {
return hferrors.GrpcParsingError(req, "shared_vms_raw")
}
err = util.VerifySharedVirtualMachineContent(sharedVms, req)
if err != nil {
return err
}
event.Spec.SharedVirtualMachines = sharedVms
}

Expand Down

0 comments on commit 4849922

Please sign in to comment.