Shutdown Source VM (PAUSED) on successfull migration + blackened all .py files
This commit is contained in:
parent
29e938dc74
commit
9bdf4d2180
31 changed files with 1307 additions and 638 deletions
|
|
@ -7,8 +7,13 @@
|
|||
from ucloud.common.request import RequestEntry, RequestType
|
||||
from ucloud.shared import shared
|
||||
from ucloud.settings import settings
|
||||
from .helper import (get_suitable_host, dead_host_mitigation, dead_host_detection,
|
||||
assign_host, NoSuitableHostFound)
|
||||
from .helper import (
|
||||
get_suitable_host,
|
||||
dead_host_mitigation,
|
||||
dead_host_detection,
|
||||
assign_host,
|
||||
NoSuitableHostFound,
|
||||
)
|
||||
from . import logger
|
||||
|
||||
|
||||
|
|
@ -16,8 +21,14 @@ def main():
|
|||
pending_vms = []
|
||||
|
||||
for request_iterator in [
|
||||
shared.etcd_client.get_prefix(settings['etcd']['request_prefix'], value_in_json=True),
|
||||
shared.etcd_client.watch_prefix(settings['etcd']['request_prefix'], timeout=5, value_in_json=True),
|
||||
shared.etcd_client.get_prefix(
|
||||
settings["etcd"]["request_prefix"], value_in_json=True
|
||||
),
|
||||
shared.etcd_client.watch_prefix(
|
||||
settings["etcd"]["request_prefix"],
|
||||
timeout=5,
|
||||
value_in_json=True,
|
||||
),
|
||||
]:
|
||||
for request_event in request_iterator:
|
||||
request_entry = RequestEntry(request_event)
|
||||
|
|
@ -41,25 +52,39 @@ def main():
|
|||
# on our behalf.
|
||||
while pending_vms:
|
||||
pending_vm_entry = pending_vms.pop()
|
||||
r = RequestEntry.from_scratch(type="ScheduleVM",
|
||||
uuid=pending_vm_entry.uuid,
|
||||
hostname=pending_vm_entry.hostname,
|
||||
request_prefix=settings['etcd']['request_prefix'])
|
||||
r = RequestEntry.from_scratch(
|
||||
type="ScheduleVM",
|
||||
uuid=pending_vm_entry.uuid,
|
||||
hostname=pending_vm_entry.hostname,
|
||||
request_prefix=settings["etcd"][
|
||||
"request_prefix"
|
||||
],
|
||||
)
|
||||
shared.request_pool.put(r)
|
||||
|
||||
elif request_entry.type == RequestType.ScheduleVM:
|
||||
logger.debug("%s, %s", request_entry.key, request_entry.value)
|
||||
logger.debug(
|
||||
"%s, %s", request_entry.key, request_entry.value
|
||||
)
|
||||
|
||||
vm_entry = shared.vm_pool.get(request_entry.uuid)
|
||||
if vm_entry is None:
|
||||
logger.info("Trying to act on {} but it is deleted".format(request_entry.uuid))
|
||||
logger.info(
|
||||
"Trying to act on {} but it is deleted".format(
|
||||
request_entry.uuid
|
||||
)
|
||||
)
|
||||
continue
|
||||
shared.etcd_client.client.delete(request_entry.key) # consume Request
|
||||
shared.etcd_client.client.delete(
|
||||
request_entry.key
|
||||
) # consume Request
|
||||
|
||||
try:
|
||||
assign_host(vm_entry)
|
||||
except NoSuitableHostFound:
|
||||
vm_entry.add_log("Can't schedule VM. No Resource Left.")
|
||||
vm_entry.add_log(
|
||||
"Can't schedule VM. No Resource Left."
|
||||
)
|
||||
shared.vm_pool.put(vm_entry)
|
||||
|
||||
pending_vms.append(vm_entry)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue