mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-17 04:18:07 +00:00
simplify get/delete for scalesets (#468)
This commit is contained in:
@ -46,16 +46,17 @@ def list_vmss(name: UUID) -> Optional[List[str]]:
|
||||
def delete_vmss(name: UUID) -> bool:
|
||||
resource_group = get_base_resource_group()
|
||||
compute_client = get_compute_client()
|
||||
try:
|
||||
compute_client.virtual_machine_scale_sets.begin_delete(
|
||||
resource_group, str(name)
|
||||
)
|
||||
except ResourceNotFoundError:
|
||||
return True
|
||||
except CloudError as err:
|
||||
logging.error("cloud error deleting vmss: %s (%s)", name, err)
|
||||
response = compute_client.virtual_machine_scale_sets.begin_delete(
|
||||
resource_group, str(name)
|
||||
)
|
||||
|
||||
return False
|
||||
# https://docs.microsoft.com/en-us/python/api/azure-core/
|
||||
# azure.core.polling.lropoller?view=azure-python#status--
|
||||
#
|
||||
# status returns a str, however mypy thinks this is an Any.
|
||||
#
|
||||
# Checked by hand that the result is Succeeded in practice
|
||||
return bool(response.status() == "Succeeded")
|
||||
|
||||
|
||||
def get_vmss(name: UUID) -> Optional[Any]:
|
||||
@ -64,7 +65,7 @@ def get_vmss(name: UUID) -> Optional[Any]:
|
||||
compute_client = get_compute_client()
|
||||
try:
|
||||
return compute_client.virtual_machine_scale_sets.get(resource_group, str(name))
|
||||
except (ResourceNotFoundError, CloudError) as err:
|
||||
except ResourceNotFoundError as err:
|
||||
logging.debug("vm does not exist %s", err)
|
||||
|
||||
return None
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
import inspect
|
||||
import json
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
from typing import (
|
||||
@ -85,6 +86,11 @@ def process_state_update(obj: HasState) -> None:
|
||||
func = getattr(obj, obj.state.name, None)
|
||||
if func is None:
|
||||
return
|
||||
|
||||
get_keys = getattr(obj, "get_keys", None)
|
||||
if get_keys is not None:
|
||||
logging.info("processing state update: %s - %s", get_keys(), obj.state.name)
|
||||
|
||||
func()
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user