44 "encoding/json"
55 "fmt"
66 "net"
7+ "strings"
78 "time"
89
910 "github.com/threefoldtech/tfexplorer/models/generated/workloads"
@@ -16,7 +17,7 @@ import (
1617)
1718
1819// ContainerToProvisionType converts TfgridReservationContainer1 to Container
19- func ContainerToProvisionType (c workloads.Container ) (Container , string , error ) {
20+ func ContainerToProvisionType (c workloads.Container , reservationID string ) (Container , string , error ) {
2021 container := Container {
2122 FList : c .Flist ,
2223 FlistStorage : c .HubUrl ,
@@ -42,6 +43,9 @@ func ContainerToProvisionType(c workloads.Container) (Container, string, error)
4243 }
4344
4445 for i , mount := range c .Volumes {
46+ if strings .HasPrefix (mount .VolumeId , "-" ) {
47+ mount .VolumeId = reservationID + mount .VolumeId
48+ }
4549 container .Mounts [i ] = Mount {
4650 VolumeID : mount .VolumeId ,
4751 Mountpoint : mount .Mountpoint ,
@@ -218,6 +222,8 @@ func WorkloadToProvisionType(w workloads.ReservationWorkload) (*provision.Reserv
218222 ToDelete : w .ToDelete ,
219223 }
220224
225+ reservationID := strings .Split (w .WorkloadId , "-" )[0 ]
226+
221227 var (
222228 data interface {}
223229 err error
@@ -240,7 +246,8 @@ func WorkloadToProvisionType(w workloads.ReservationWorkload) (*provision.Reserv
240246 return nil , err
241247 }
242248 case workloads.Container :
243- data , reservation .NodeID , err = ContainerToProvisionType (tmp )
249+
250+ data , reservation .NodeID , err = ContainerToProvisionType (tmp , reservationID )
244251 if err != nil {
245252 return nil , err
246253 }
0 commit comments