mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-18 20:58:06 +00:00
fix node serialization (#1627)
* fix node serialization * remove intermediate variable * mypy fix
This commit is contained in:
@ -30,8 +30,7 @@ def get(req: func.HttpRequest) -> func.HttpResponse:
|
||||
if isinstance(node, Error):
|
||||
return not_ok(node, context=request.machine_id)
|
||||
|
||||
node_tasks = NodeTasks.get_by_machine_id(request.machine_id)
|
||||
node.tasks = [(t.task_id, t.state) for t in node_tasks]
|
||||
node.tasks = [n for n in NodeTasks.get_by_machine_id(request.machine_id)]
|
||||
node.messages = [
|
||||
x.message for x in NodeMessage.get_messages(request.machine_id)
|
||||
]
|
||||
|
@ -4,7 +4,7 @@
|
||||
# Licensed under the MIT License.
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Any, Dict, Generic, List, Optional, Tuple, TypeVar, Union
|
||||
from typing import Any, Dict, Generic, List, Optional, TypeVar, Union
|
||||
from uuid import UUID, uuid4
|
||||
|
||||
from pydantic import BaseModel, Field, root_validator, validator
|
||||
@ -561,6 +561,12 @@ class NodeCommand(EnumModel):
|
||||
stop_if_free: Optional[NodeCommandStopIfFree]
|
||||
|
||||
|
||||
class NodeTasks(BaseModel):
|
||||
machine_id: UUID
|
||||
task_id: UUID
|
||||
state: NodeTaskState = Field(default=NodeTaskState.init)
|
||||
|
||||
|
||||
class NodeCommandEnvelope(BaseModel):
|
||||
command: NodeCommand
|
||||
message_id: str
|
||||
@ -576,7 +582,7 @@ class Node(BaseModel):
|
||||
machine_id: UUID
|
||||
state: NodeState = Field(default=NodeState.init)
|
||||
scaleset_id: Optional[UUID] = None
|
||||
tasks: Optional[List[Tuple[UUID, NodeTaskState]]] = None
|
||||
tasks: Optional[List[NodeTasks]] = None
|
||||
messages: Optional[List[NodeCommand]] = None
|
||||
heartbeat: Optional[datetime]
|
||||
version: str = Field(default="1.0.0")
|
||||
@ -590,12 +596,6 @@ class ScalesetSummary(BaseModel):
|
||||
state: ScalesetState
|
||||
|
||||
|
||||
class NodeTasks(BaseModel):
|
||||
machine_id: UUID
|
||||
task_id: UUID
|
||||
state: NodeTaskState = Field(default=NodeTaskState.init)
|
||||
|
||||
|
||||
class AutoScaleConfig(BaseModel):
|
||||
image: str
|
||||
max_size: int = Field(default=1000, le=1000, ge=0) # max size of pool
|
||||
|
Reference in New Issue
Block a user