2626import com .iexec .commons .containers .DockerRunRequest ;
2727import com .iexec .commons .containers .DockerRunResponse ;
2828import com .iexec .commons .poco .task .TaskDescription ;
29- import com .iexec .sms .api .TeeSessionGenerationResponse ;
3029import com .iexec .sms .api .config .TeeAppProperties ;
3130import com .iexec .sms .api .config .TeeServicesProperties ;
3231import com .iexec .worker .compute .ComputeExitCauseService ;
3332import com .iexec .worker .compute .ComputeStage ;
3433import com .iexec .worker .config .WorkerConfigurationService ;
3534import com .iexec .worker .docker .DockerService ;
3635import com .iexec .worker .metric .ComputeDurationsService ;
37- import com .iexec .worker .sgx .SgxService ;
3836import com .iexec .worker .tee .TeeService ;
3937import com .iexec .worker .tee .TeeServicesManager ;
4038import com .iexec .worker .tee .TeeServicesPropertiesService ;
4745import java .nio .file .attribute .BasicFileAttributes ;
4846import java .time .Duration ;
4947import java .util .Collection ;
50- import java .util .Collections ;
5148import java .util .List ;
5249import java .util .Optional ;
5350import java .util .concurrent .atomic .AtomicBoolean ;
@@ -61,23 +58,19 @@ public class PostComputeService {
6158 private final WorkerConfigurationService workerConfigService ;
6259 private final DockerService dockerService ;
6360 private final TeeServicesManager teeServicesManager ;
64- private final SgxService sgxService ;
6561 private final ComputeExitCauseService computeExitCauseService ;
6662 private final TeeServicesPropertiesService teeServicesPropertiesService ;
6763 private final ComputeDurationsService postComputeDurationsService ;
6864
69- public PostComputeService (
70- WorkerConfigurationService workerConfigService ,
71- DockerService dockerService ,
72- TeeServicesManager teeServicesManager ,
73- SgxService sgxService ,
74- ComputeExitCauseService computeExitCauseService ,
75- TeeServicesPropertiesService teeServicesPropertiesService ,
76- ComputeDurationsService postComputeDurationsService ) {
65+ public PostComputeService (final WorkerConfigurationService workerConfigService ,
66+ final DockerService dockerService ,
67+ final TeeServicesManager teeServicesManager ,
68+ final ComputeExitCauseService computeExitCauseService ,
69+ final TeeServicesPropertiesService teeServicesPropertiesService ,
70+ final ComputeDurationsService postComputeDurationsService ) {
7771 this .workerConfigService = workerConfigService ;
7872 this .dockerService = dockerService ;
7973 this .teeServicesManager = teeServicesManager ;
80- this .sgxService = sgxService ;
8174 this .computeExitCauseService = computeExitCauseService ;
8275 this .teeServicesPropertiesService = teeServicesPropertiesService ;
8376 this .postComputeDurationsService = postComputeDurationsService ;
@@ -162,45 +155,42 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
162155 }
163156
164157 public PostComputeResponse runTeePostCompute (final TaskDescription taskDescription ) {
165- String chainTaskId = taskDescription .getChainTaskId ();
158+ final String chainTaskId = taskDescription .getChainTaskId ();
166159
167- TeeServicesProperties properties =
168- teeServicesPropertiesService .getTeeServicesProperties (chainTaskId );
160+ final TeeServicesProperties properties = teeServicesPropertiesService .getTeeServicesProperties (chainTaskId );
169161
170162 final TeeAppProperties postComputeProperties = properties .getPostComputeProperties ();
171- String postComputeImage = postComputeProperties .getImage ();
163+ final String postComputeImage = postComputeProperties .getImage ();
172164 if (!dockerService .getClient ().isImagePresent (postComputeImage )) {
173165 log .error ("Tee post-compute image not found locally [chainTaskId:{}]" ,
174166 chainTaskId );
175167 return PostComputeResponse .builder ()
176168 .exitCauses (List .of (new WorkflowError (ReplicateStatusCause .POST_COMPUTE_IMAGE_MISSING )))
177169 .build ();
178170 }
179- TeeService teeService = teeServicesManager .getTeeService (taskDescription .getTeeFramework ());
180- List <String > env = teeService
181- .buildPostComputeDockerEnv (taskDescription );
182- List <Bind > binds = Stream .of (
183- Collections .singletonList (dockerService .getIexecOutBind (chainTaskId )),
171+ final TeeService teeService = teeServicesManager .getTeeService (taskDescription .getTeeFramework ());
172+ final List <String > env = teeService .buildPostComputeDockerEnv (taskDescription );
173+ final List <Bind > binds = Stream .of (
174+ List .of (dockerService .getIexecOutBind (chainTaskId )),
184175 teeService .getAdditionalBindings ())
185176 .flatMap (Collection ::stream )
186177 .map (Bind ::parse )
187178 .toList ();
188179
189- HostConfig hostConfig = HostConfig .newHostConfig ()
180+ final HostConfig hostConfig = HostConfig .newHostConfig ()
190181 .withBinds (binds )
191- .withDevices (sgxService . getSgxDevices ())
182+ .withDevices (teeService . getDevices ())
192183 .withNetworkMode (workerConfigService .getDockerNetworkName ());
193- DockerRunRequest request = DockerRunRequest .builder ()
184+ final DockerRunRequest request = DockerRunRequest .builder ()
194185 .hostConfig (hostConfig )
195186 .chainTaskId (chainTaskId )
196187 .containerName (getTaskTeePostComputeContainerName (chainTaskId ))
197188 .imageUri (postComputeImage )
198189 .entrypoint (postComputeProperties .getEntrypoint ())
199190 .maxExecutionTime (taskDescription .getMaxExecutionTime ())
200191 .env (env )
201- .sgxDriverMode (sgxService .getSgxDriverMode ())
202192 .build ();
203- DockerRunResponse dockerResponse = dockerService .run (request );
193+ final DockerRunResponse dockerResponse = dockerService .run (request );
204194 final Duration executionDuration = dockerResponse .getExecutionDuration ();
205195 if (executionDuration != null ) {
206196 postComputeDurationsService .addDurationForTask (chainTaskId , executionDuration .toMillis ());
0 commit comments