diff --git a/neurons/validators/Dockerfile b/neurons/validators/Dockerfile index fb873be..3749348 100644 --- a/neurons/validators/Dockerfile +++ b/neurons/validators/Dockerfile @@ -47,6 +47,6 @@ RUN echo "export PYTHONPATH=$PYTHONPATH" >> ~/.bash_profile COPY --from=base-image /root/app/ /root/app/ COPY --from=base-image /opt/pypackages/ /opt/pypackages/ -LABEL version="3.3.28" +LABEL version="3.4.0" CMD ["bash", "run.sh"] diff --git a/neurons/validators/Dockerfile.runner b/neurons/validators/Dockerfile.runner index 5d21ce2..94cfd70 100644 --- a/neurons/validators/Dockerfile.runner +++ b/neurons/validators/Dockerfile.runner @@ -3,7 +3,7 @@ WORKDIR /root/validator COPY docker-compose.app.yml docker-compose.yml COPY entrypoint.sh /entrypoint.sh -LABEL version="3.3.28" +LABEL version="3.4.0" RUN chmod u+x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] diff --git a/neurons/validators/src/clients/compute_client.py b/neurons/validators/src/clients/compute_client.py index 09adae7..878b2c6 100644 --- a/neurons/validators/src/clients/compute_client.py +++ b/neurons/validators/src/clients/compute_client.py @@ -13,7 +13,7 @@ ContainerCreateRequest, ContainerDeleteRequest, FailedContainerRequest, - DuplicateContainersResponse, + DuplicateExecutorsResponse, ContainerStartRequest, ContainerStopRequest, ContainerBaseRequest, @@ -24,7 +24,7 @@ ExecutorSpecRequest, LogStreamRequest, RentedMachineRequest, - DuplicateContainersRequest, + DuplicateExecutorsRequest, ) from pydantic import BaseModel from websockets.asyncio.client import ClientConnection @@ -407,7 +407,7 @@ async def poll_rented_machines(self): extra=self.logging_extra, ) ) - await self.send_model(DuplicateContainersRequest()) + await self.send_model(DuplicateExecutorsRequest()) await asyncio.sleep(10 * 60) else: @@ -460,26 +460,26 @@ async def handle_message(self, raw_msg: str | bytes): return try: - response = pydantic.TypeAdapter(DuplicateContainersResponse).validate_json(raw_msg) + response = pydantic.TypeAdapter(DuplicateExecutorsResponse).validate_json(raw_msg) except pydantic.ValidationError as exc: logger.error( _m( - "could not parse raw message as DuplicateContainersResponse", + "could not parse raw message as DuplicateExecutorsResponse", extra={**self.logging_extra, "error": str(exc), "raw_msg": raw_msg}, ) ) else: logger.info( _m( - "Duplicated containers", - extra={**self.logging_extra, "machines": response.containers}, + "Duplicated executors", + extra={**self.logging_extra, "executors": len(response.executors)}, ) ) redis_service = self.miner_service.redis_service await redis_service.delete(DUPLICATED_MACHINE_SET) - for container_id, details_list in response.containers.items(): + for _, details_list in response.executors.items(): for detail in details_list: executor_id = detail.get("executor_id") miner_hotkey = detail.get("miner_hotkey") diff --git a/neurons/validators/src/payload_models/payloads.py b/neurons/validators/src/payload_models/payloads.py index b78787a..1847015 100644 --- a/neurons/validators/src/payload_models/payloads.py +++ b/neurons/validators/src/payload_models/payloads.py @@ -50,7 +50,7 @@ class ContainerRequestType(enum.Enum): ContainerStartRequest = "ContainerStartRequest" ContainerStopRequest = "ContainerStopRequest" ContainerDeleteRequest = "ContainerDeleteRequest" - DuplicateContainersResponse = "DuplicateContainersResponse" + DuplicateExecutorsResponse = "DuplicateExecutorsResponse" class ContainerBaseRequest(BaseRequest): @@ -140,6 +140,6 @@ class FailedContainerRequest(ContainerBaseResponse): error_code: FailedContainerErrorCodes | None = None -class DuplicateContainersResponse(BaseModel): - message_type: ContainerRequestType = ContainerRequestType.DuplicateContainersResponse - containers: dict[str, list] +class DuplicateExecutorsResponse(BaseModel): + message_type: ContainerRequestType = ContainerRequestType.DuplicateExecutorsResponse + executors: dict[str, list] diff --git a/neurons/validators/src/protocol/vc_protocol/validator_requests.py b/neurons/validators/src/protocol/vc_protocol/validator_requests.py index 64eed07..88a4428 100644 --- a/neurons/validators/src/protocol/vc_protocol/validator_requests.py +++ b/neurons/validators/src/protocol/vc_protocol/validator_requests.py @@ -13,7 +13,7 @@ class RequestType(enum.Enum): ExecutorSpecRequest = "ExecutorSpecRequest" RentedMachineRequest = "RentedMachineRequest" LogStreamRequest = "LogStreamRequest" - DuplicateContainersRequest = "DuplicateContainersRequest" + DuplicateExecutorsRequest = "DuplicateExecutorsRequest" class BaseValidatorRequest(BaseRequest): @@ -73,5 +73,5 @@ class LogStreamRequest(BaseValidatorRequest): logs: list[dict] -class DuplicateContainersRequest(BaseValidatorRequest): - message_type: RequestType = RequestType.DuplicateContainersRequest +class DuplicateExecutorsRequest(BaseValidatorRequest): + message_type: RequestType = RequestType.DuplicateExecutorsRequest