mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-17 04:18:07 +00:00
set pool_id on node creation (#1049)
This commit is contained in:
@ -102,7 +102,8 @@ def post(req: func.HttpRequest) -> func.HttpResponse:
|
|||||||
node.delete()
|
node.delete()
|
||||||
|
|
||||||
node = Node.create(
|
node = Node.create(
|
||||||
pool_name=registration_request.pool_name,
|
pool_id=pool.pool_id,
|
||||||
|
pool_name=pool.name,
|
||||||
machine_id=registration_request.machine_id,
|
machine_id=registration_request.machine_id,
|
||||||
scaleset_id=registration_request.scaleset_id,
|
scaleset_id=registration_request.scaleset_id,
|
||||||
version=registration_request.version,
|
version=registration_request.version,
|
||||||
|
@ -48,6 +48,7 @@ class Node(BASE_NODE, ORMMixin):
|
|||||||
def create(
|
def create(
|
||||||
cls,
|
cls,
|
||||||
*,
|
*,
|
||||||
|
pool_id: UUID,
|
||||||
pool_name: PoolName,
|
pool_name: PoolName,
|
||||||
machine_id: UUID,
|
machine_id: UUID,
|
||||||
scaleset_id: Optional[UUID],
|
scaleset_id: Optional[UUID],
|
||||||
@ -55,6 +56,7 @@ class Node(BASE_NODE, ORMMixin):
|
|||||||
new: bool = False,
|
new: bool = False,
|
||||||
) -> "Node":
|
) -> "Node":
|
||||||
node = cls(
|
node = cls(
|
||||||
|
pool_id=pool_id,
|
||||||
pool_name=pool_name,
|
pool_name=pool_name,
|
||||||
machine_id=machine_id,
|
machine_id=machine_id,
|
||||||
scaleset_id=scaleset_id,
|
scaleset_id=scaleset_id,
|
||||||
@ -78,11 +80,14 @@ class Node(BASE_NODE, ORMMixin):
|
|||||||
def search_states(
|
def search_states(
|
||||||
cls,
|
cls,
|
||||||
*,
|
*,
|
||||||
|
pool_id: Optional[UUID] = None,
|
||||||
scaleset_id: Optional[UUID] = None,
|
scaleset_id: Optional[UUID] = None,
|
||||||
states: Optional[List[NodeState]] = None,
|
states: Optional[List[NodeState]] = None,
|
||||||
pool_name: Optional[PoolName] = None,
|
pool_name: Optional[PoolName] = None,
|
||||||
) -> List["Node"]:
|
) -> List["Node"]:
|
||||||
query: QueryFilter = {}
|
query: QueryFilter = {}
|
||||||
|
if pool_id:
|
||||||
|
query["pool_id"] = [pool_id]
|
||||||
if scaleset_id:
|
if scaleset_id:
|
||||||
query["scaleset_id"] = [scaleset_id]
|
query["scaleset_id"] = [scaleset_id]
|
||||||
if states:
|
if states:
|
||||||
@ -95,6 +100,7 @@ class Node(BASE_NODE, ORMMixin):
|
|||||||
def search_outdated(
|
def search_outdated(
|
||||||
cls,
|
cls,
|
||||||
*,
|
*,
|
||||||
|
pool_id: Optional[UUID] = None,
|
||||||
scaleset_id: Optional[UUID] = None,
|
scaleset_id: Optional[UUID] = None,
|
||||||
states: Optional[List[NodeState]] = None,
|
states: Optional[List[NodeState]] = None,
|
||||||
pool_name: Optional[PoolName] = None,
|
pool_name: Optional[PoolName] = None,
|
||||||
@ -102,6 +108,8 @@ class Node(BASE_NODE, ORMMixin):
|
|||||||
num_results: Optional[int] = None,
|
num_results: Optional[int] = None,
|
||||||
) -> List["Node"]:
|
) -> List["Node"]:
|
||||||
query: QueryFilter = {}
|
query: QueryFilter = {}
|
||||||
|
if pool_id:
|
||||||
|
query["pool_id"] = [pool_id]
|
||||||
if scaleset_id:
|
if scaleset_id:
|
||||||
query["scaleset_id"] = [scaleset_id]
|
query["scaleset_id"] = [scaleset_id]
|
||||||
if states:
|
if states:
|
||||||
|
@ -291,6 +291,8 @@ class Scaleset(BASE_SCALESET, ORMMixin):
|
|||||||
|
|
||||||
# result = 'did I modify the scaleset in azure'
|
# result = 'did I modify the scaleset in azure'
|
||||||
def cleanup_nodes(self) -> bool:
|
def cleanup_nodes(self) -> bool:
|
||||||
|
from .pools import Pool
|
||||||
|
|
||||||
logging.info(
|
logging.info(
|
||||||
SCALESET_LOG_PREFIX + "cleaning up nodes. scaleset_id:%s", self.scaleset_id
|
SCALESET_LOG_PREFIX + "cleaning up nodes. scaleset_id:%s", self.scaleset_id
|
||||||
)
|
)
|
||||||
@ -302,6 +304,16 @@ class Scaleset(BASE_SCALESET, ORMMixin):
|
|||||||
self.halt()
|
self.halt()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
pool = Pool.get_by_name(self.pool_name)
|
||||||
|
if isinstance(pool, Error):
|
||||||
|
logging.error(
|
||||||
|
"unable to find pool during cleanup: %s - %s",
|
||||||
|
self.scaleset_id,
|
||||||
|
pool,
|
||||||
|
)
|
||||||
|
self.set_failed(pool)
|
||||||
|
return True
|
||||||
|
|
||||||
Node.reimage_long_lived_nodes(self.scaleset_id)
|
Node.reimage_long_lived_nodes(self.scaleset_id)
|
||||||
|
|
||||||
to_reimage = []
|
to_reimage = []
|
||||||
@ -346,6 +358,7 @@ class Scaleset(BASE_SCALESET, ORMMixin):
|
|||||||
# Note, using `new=True` makes it such that if a node already has
|
# Note, using `new=True` makes it such that if a node already has
|
||||||
# checked in, this won't overwrite it.
|
# checked in, this won't overwrite it.
|
||||||
Node.create(
|
Node.create(
|
||||||
|
pool_id=pool.pool_id,
|
||||||
pool_name=self.pool_name,
|
pool_name=self.pool_name,
|
||||||
machine_id=machine_id,
|
machine_id=machine_id,
|
||||||
scaleset_id=self.scaleset_id,
|
scaleset_id=self.scaleset_id,
|
||||||
|
Reference in New Issue
Block a user