44 "encoding/json"
55 "log/slog"
66 "net/http"
7- "os"
87
98 stove8sv1beta1 "bud.studio/stove8s/api/v1beta1"
109 "bud.studio/stove8s/internal/k8s"
@@ -37,26 +36,22 @@ func (rs Resource) CreateAsync(id uuid.UUID, data *CreateReq) {
3736 }
3837 rs .jobs [id ] = & status
3938
40- var dumpFile * os.File
41- on_err_exit := func () {
42- status .State = stove8sv1beta1 .Failed
43-
44- err := dumpFile .Close ()
45- if err != nil {
46- slog .Error ("Closing checkpointDump file" , "err" , err )
47- }
48- }
49-
5039 img , dumpFile , dumpLayer , err := oci .BuildImage (data .CheckpointDumpPath )
5140 if err != nil {
5241 slog .Error ("Building oci image" , "err" , err )
53- on_err_exit ()
42+ status . State = stove8sv1beta1 . Failed
5443 return
5544 }
45+ defer func () {
46+ err := dumpFile .Close ()
47+ if err != nil {
48+ slog .Error ("Closing checkpointDump file" , "err" , err )
49+ }
50+ }()
5651 ref , err := name .ParseReference (data .ImageReference )
5752 if err != nil {
5853 slog .Error ("Creating reference" , "err" , err )
59- on_err_exit ()
54+ status . State = stove8sv1beta1 . Failed
6055 return
6156 }
6257
@@ -71,7 +66,7 @@ func (rs Resource) CreateAsync(id uuid.UUID, data *CreateReq) {
7166 )
7267 if err != nil {
7368 slog .Error ("Getting image push secret" , "err" , err )
74- on_err_exit ()
69+ status . State = stove8sv1beta1 . Failed
7570 return
7671 }
7772
@@ -82,8 +77,8 @@ func (rs Resource) CreateAsync(id uuid.UUID, data *CreateReq) {
8277 remote .WithAuth (auth ),
8378 )
8479 if err != nil {
85- slog .Error ("Pushing layer to remote" , "err" , err )
86- on_err_exit ()
80+ slog .Error ("Pushing CRIU dump layer to remote" , "err" , err )
81+ status . State = stove8sv1beta1 . Failed
8782 return
8883 } else {
8984 slog .Info ("Pushed CRIU dump" , "image" , data .ImageReference )
@@ -96,7 +91,7 @@ func (rs Resource) CreateAsync(id uuid.UUID, data *CreateReq) {
9691 )
9792 if err != nil {
9893 slog .Error ("Pushing image to remote" , "err" , err )
99- on_err_exit ()
94+ status . State = stove8sv1beta1 . Failed
10095 return
10196 } else {
10297 slog .Info ("Pushed image" , "image" , data .ImageReference )
0 commit comments