constants.py 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. # Copyright 2016 Cloudbase Solutions Srl
  2. # All Rights Reserved.
  3. DEFAULT_CORIOLIS_REGION_NAME = "Default Region"
  4. TRANSFER_SCENARIO_REPLICA = "replica"
  5. TRANSFER_SCENARIO_LIVE_MIGRATION = "live_migration"
  6. EXECUTION_STATUS_UNEXECUTED = "UNEXECUTED"
  7. EXECUTION_STATUS_RUNNING = "RUNNING"
  8. EXECUTION_STATUS_COMPLETED = "COMPLETED"
  9. EXECUTION_STATUS_ERROR = "ERROR"
  10. EXECUTION_STATUS_DEADLOCKED = "DEADLOCKED"
  11. EXECUTION_STATUS_CANCELED = "CANCELED"
  12. EXECUTION_STATUS_CANCELLING = "CANCELLING"
  13. EXECUTION_STATUS_CANCELED_FOR_DEBUGGING = "CANCELED_FOR_DEBUGGING"
  14. EXECUTION_STATUS_AWAITING_MINION_ALLOCATIONS = "AWAITING_MINION_ALLOCATIONS"
  15. EXECUTION_STATUS_ERROR_ALLOCATING_MINIONS = "ERROR_ALLOCATING_MINIONS"
  16. EXECUTION_STATUS_PENDING = "PENDING"
  17. ACTIVE_EXECUTION_STATUSES = [
  18. EXECUTION_STATUS_RUNNING,
  19. EXECUTION_STATUS_CANCELLING,
  20. EXECUTION_STATUS_AWAITING_MINION_ALLOCATIONS
  21. ]
  22. FINALIZED_EXECUTION_STATUSES = [
  23. EXECUTION_STATUS_COMPLETED,
  24. EXECUTION_STATUS_CANCELED,
  25. EXECUTION_STATUS_ERROR,
  26. EXECUTION_STATUS_CANCELED_FOR_DEBUGGING,
  27. EXECUTION_STATUS_DEADLOCKED,
  28. EXECUTION_STATUS_ERROR_ALLOCATING_MINIONS
  29. ]
  30. ALL_EXECUTION_STATUSES = (
  31. ACTIVE_EXECUTION_STATUSES +
  32. FINALIZED_EXECUTION_STATUSES
  33. )
  34. TASK_STATUS_SCHEDULED = "SCHEDULED"
  35. TASK_STATUS_PENDING = "PENDING"
  36. TASK_STATUS_STARTING = "STARTING"
  37. TASK_STATUS_UNSCHEDULED = "UNSCHEDULED"
  38. TASK_STATUS_RUNNING = "RUNNING"
  39. TASK_STATUS_COMPLETED = "COMPLETED"
  40. TASK_STATUS_ERROR = "ERROR"
  41. TASK_STATUS_FORCE_CANCELED = "FORCE_CANCELED"
  42. TASK_STATUS_FAILED_TO_CANCEL = "FAILED_TO_CANCEL"
  43. TASK_STATUS_CANCELED = "CANCELED"
  44. TASK_STATUS_CANCELED_AFTER_COMPLETION = "CANCELED_AFTER_COMPLETION"
  45. TASK_STATUS_CANCELLING = "CANCELLING"
  46. TASK_STATUS_CANCELLING_AFTER_COMPLETION = "CANCELLING_AFTER_COMPLETION"
  47. TASK_STATUS_CANCELED_FOR_DEBUGGING = "CANCELED_FOR_DEBUGGING"
  48. TASK_STATUS_CANCELED_FROM_DEADLOCK = "STRANDED_AFTER_DEADLOCK"
  49. TASK_STATUS_ON_ERROR_ONLY = "EXECUTE_ON_ERROR_ONLY"
  50. TASK_STATUS_FAILED_TO_SCHEDULE = "FAILED_TO_SCHEDULE"
  51. ACTIVE_TASK_STATUSES = [
  52. TASK_STATUS_PENDING,
  53. TASK_STATUS_STARTING,
  54. TASK_STATUS_RUNNING,
  55. TASK_STATUS_CANCELLING,
  56. TASK_STATUS_CANCELLING_AFTER_COMPLETION
  57. ]
  58. CANCELED_TASK_STATUSES = [
  59. TASK_STATUS_CANCELED,
  60. TASK_STATUS_UNSCHEDULED,
  61. TASK_STATUS_FORCE_CANCELED,
  62. TASK_STATUS_CANCELED_AFTER_COMPLETION,
  63. TASK_STATUS_CANCELED_FOR_DEBUGGING,
  64. TASK_STATUS_CANCELED_FROM_DEADLOCK,
  65. TASK_STATUS_FAILED_TO_SCHEDULE,
  66. TASK_STATUS_FAILED_TO_CANCEL
  67. ]
  68. # Statuses that indicate a non-error parent task completed its work and
  69. # may have created resources that on-error cleanup tasks must destroy.
  70. # CANCELED_AFTER_COMPLETION means the task ran to completion (result saved,
  71. # resources created) but was marked cancelled because a cancellation was
  72. # already in flight when the completion arrived.
  73. CLEANUP_TASK_TRIGGER_STATUSES = [
  74. TASK_STATUS_COMPLETED,
  75. TASK_STATUS_CANCELED_AFTER_COMPLETION,
  76. ]
  77. FINALIZED_TASK_STATUSES = [
  78. TASK_STATUS_COMPLETED,
  79. TASK_STATUS_ERROR,
  80. TASK_STATUS_UNSCHEDULED,
  81. TASK_STATUS_CANCELED,
  82. TASK_STATUS_FORCE_CANCELED,
  83. TASK_STATUS_CANCELED_FOR_DEBUGGING,
  84. TASK_STATUS_CANCELED_FROM_DEADLOCK,
  85. TASK_STATUS_CANCELED_AFTER_COMPLETION,
  86. TASK_STATUS_FAILED_TO_SCHEDULE,
  87. TASK_STATUS_FAILED_TO_CANCEL
  88. ]
  89. ALL_TASK_STATUSES = (
  90. ACTIVE_TASK_STATUSES +
  91. CANCELED_TASK_STATUSES +
  92. FINALIZED_TASK_STATUSES
  93. )
  94. TASK_TYPE_FINALIZE_INSTANCE_DEPLOYMENT = "FINALIZE_INSTANCE_DEPLOYMENT"
  95. TASK_TYPE_CLEANUP_FAILED_INSTANCE_DEPLOYMENT = (
  96. "CLEANUP_FAILED_INSTANCE_DEPLOYMENT")
  97. TASK_TYPE_DEPLOY_OS_MORPHING_RESOURCES = "DEPLOY_OS_MORPHING_RESOURCES"
  98. TASK_TYPE_OS_MORPHING = "OS_MORPHING"
  99. TASK_TYPE_DELETE_OS_MORPHING_RESOURCES = "DELETE_OS_MORPHING_RESOURCES"
  100. TASK_TYPE_GET_INSTANCE_INFO = "GET_INSTANCE_INFO"
  101. TASK_TYPE_DEPLOY_TRANSFER_DISKS = "DEPLOY_TRANSFER_DISKS"
  102. TASK_TYPE_DELETE_TRANSFER_SOURCE_DISK_SNAPSHOTS = (
  103. "DELETE_TRANSFER_SOURCE_DISK_SNAPSHOTS")
  104. TASK_TYPE_DELETE_TRANSFER_DISKS = "DELETE_TRANSFER_DISKS"
  105. TASK_TYPE_REPLICATE_DISKS = "REPLICATE_DISKS"
  106. TASK_TYPE_DEPLOY_TRANSFER_SOURCE_RESOURCES = "DEPLOY_TRANSFER_SOURCE_RESOURCES"
  107. TASK_TYPE_DELETE_TRANSFER_SOURCE_RESOURCES = "DELETE_TRANSFER_SOURCE_RESOURCES"
  108. TASK_TYPE_DEPLOY_TRANSFER_TARGET_RESOURCES = "DEPLOY_TRANSFER_TARGET_RESOURCES"
  109. TASK_TYPE_DELETE_TRANSFER_TARGET_RESOURCES = "DELETE_TRANSFER_TARGET_RESOURCES"
  110. TASK_TYPE_SHUTDOWN_INSTANCE = "SHUTDOWN_INSTANCE"
  111. TASK_TYPE_DEPLOY_INSTANCE_RESOURCES = "DEPLOY_INSTANCE_RESOURCES"
  112. TASK_TYPE_CREATE_TRANSFER_DISK_SNAPSHOTS = "CREATE_TRANSFER_DISK_SNAPSHOTS"
  113. TASK_TYPE_DELETE_TRANSFER_TARGET_DISK_SNAPSHOTS = (
  114. "DELETE_TRANSFER_TARGET_DISK_SNAPSHOTS")
  115. TASK_TYPE_RESTORE_TRANSFER_DISK_SNAPSHOTS = "RESTORE_TRANSFER_DISK_SNAPSHOTS"
  116. TASK_TYPE_GET_OPTIMAL_FLAVOR = "GET_OPTIMAL_FLAVOR"
  117. TASK_TYPE_VALIDATE_TRANSFER_SOURCE_INPUTS = "VALIDATE_TRANSFER_SOURCE_INPUTS"
  118. TASK_TYPE_VALIDATE_TRANSFER_DESTINATION_INPUTS = (
  119. "VALIDATE_TRANSFER_DESTINATION_INPUTS")
  120. TASK_TYPE_VALIDATE_DEPLOYMENT_INPUTS = "VALIDATE_DEPLOYMENT_INPUTS"
  121. TASK_TYPE_UPDATE_SOURCE_TRANSFER = "UPDATE_SOURCE_TRANSFER"
  122. TASK_TYPE_UPDATE_DESTINATION_TRANSFER = "UPDATE_DESTINATION_TRANSFER"
  123. TASK_TYPE_VALIDATE_SOURCE_MINION_POOL_OPTIONS = (
  124. "VALIDATE_SOURCE_MINION_POOL_ENVIRONMENT_OPTIONS")
  125. TASK_TYPE_VALIDATE_DESTINATION_MINION_POOL_OPTIONS = (
  126. "VALIDATE_DESTINATION_MINION_POOL_ENVIRONMENT_OPTIONS")
  127. TASK_TYPE_CREATE_SOURCE_MINION_MACHINE = "CREATE_SOURCE_MINION_MACHINE"
  128. TASK_TYPE_CREATE_DESTINATION_MINION_MACHINE = (
  129. "CREATE_DESTINATION_MINION_MACHINE")
  130. TASK_TYPE_DELETE_SOURCE_MINION_MACHINE = "DELETE_SOURCE_MINION_MACHINE"
  131. TASK_TYPE_DELETE_DESTINATION_MINION_MACHINE = (
  132. "DELETE_DESTINATION_MINION_MACHINE")
  133. TASK_TYPE_SET_UP_SOURCE_POOL_SHARED_RESOURCES = (
  134. "SET_UP_SOURCE_POOL_SHARED_RESOURCES")
  135. TASK_TYPE_SET_UP_DESTINATION_POOL_SHARED_RESOURCES = (
  136. "SET_UP_DESTINATION_POOL_SHARED_RESOURCES")
  137. TASK_TYPE_TEAR_DOWN_SOURCE_POOL_SHARED_RESOURCES = (
  138. "TEAR_DOWN_SOURCE_POOL_SHARED_RESOURCES")
  139. TASK_TYPE_TEAR_DOWN_DESTINATION_POOL_SHARED_RESOURCES = (
  140. "TEAR_DOWN_DESTINATION_POOL_SHARED_RESOURCES")
  141. TASK_TYPE_ATTACH_VOLUMES_TO_SOURCE_MINION = "ATTACH_VOLUMES_TO_SOURCE_MINION"
  142. TASK_TYPE_DETACH_VOLUMES_FROM_SOURCE_MINION = (
  143. "DETACH_VOLUMES_FROM_SOURCE_MINION")
  144. TASK_TYPE_ATTACH_VOLUMES_TO_DESTINATION_MINION = (
  145. "ATTACH_VOLUMES_TO_DESTINATION_MINION")
  146. TASK_TYPE_DETACH_VOLUMES_FROM_DESTINATION_MINION = (
  147. "DETACH_VOLUMES_FROM_DESTINATION_MINION")
  148. TASK_TYPE_ATTACH_VOLUMES_TO_OSMORPHING_MINION = (
  149. "ATTACH_VOLUMES_TO_OSMORPHING_MINION")
  150. TASK_TYPE_DETACH_VOLUMES_FROM_OSMORPHING_MINION = (
  151. "DETACH_VOLUMES_FROM_OSMORPHING_MINION")
  152. TASK_TYPE_VALIDATE_SOURCE_MINION_POOL_COMPATIBILITY = (
  153. "VALIDATE_SOURCE_MINION_POOL_COMPATIBILITY")
  154. TASK_TYPE_VALIDATE_DESTINATION_MINION_POOL_COMPATIBILITY = (
  155. "VALIDATE_DESTINATION_MINION_POOL_COMPATIBILITY")
  156. TASK_TYPE_VALIDATE_OSMORPHING_MINION_POOL_COMPATIBILITY = (
  157. "VALIDATE_OSMORPHING_MINION_POOL_COMPATIBILITY")
  158. TASK_TYPE_RELEASE_SOURCE_MINION = "RELEASE_SOURCE_MINION"
  159. TASK_TYPE_RELEASE_DESTINATION_MINION = "RELEASE_DESTINATION_MINION"
  160. TASK_TYPE_RELEASE_OSMORPHING_MINION = "RELEASE_OSMORPHING_MINION"
  161. TASK_TYPE_COLLECT_OSMORPHING_INFO = "COLLECT_OS_MORPHING_INFO"
  162. TASK_TYPE_HEALTHCHECK_SOURCE_MINION = "HEALTHCHECK_SOURCE_MINION"
  163. TASK_TYPE_HEALTHCHECK_DESTINATION_MINION = "HEALTHCHECK_DESTINATION_MINION"
  164. TASK_TYPE_POWER_ON_SOURCE_MINION = "POWER_ON_SOURCE_MINION"
  165. TASK_TYPE_POWER_OFF_SOURCE_MINION = "POWER_OFF_SOURCE_MINION"
  166. TASK_TYPE_POWER_ON_DESTINATION_MINION = "POWER_ON_DESTINATION_MINION"
  167. TASK_TYPE_POWER_OFF_DESTINATION_MINION = "POWER_OFF_DESTINATION_MINION"
  168. MINION_POOL_OPERATIONS_TASKS = [
  169. TASK_TYPE_VALIDATE_SOURCE_MINION_POOL_OPTIONS,
  170. TASK_TYPE_VALIDATE_DESTINATION_MINION_POOL_OPTIONS,
  171. TASK_TYPE_SET_UP_SOURCE_POOL_SHARED_RESOURCES,
  172. TASK_TYPE_TEAR_DOWN_SOURCE_POOL_SHARED_RESOURCES,
  173. TASK_TYPE_SET_UP_DESTINATION_POOL_SHARED_RESOURCES,
  174. TASK_TYPE_TEAR_DOWN_DESTINATION_POOL_SHARED_RESOURCES,
  175. TASK_TYPE_CREATE_SOURCE_MINION_MACHINE,
  176. TASK_TYPE_DELETE_SOURCE_MINION_MACHINE,
  177. TASK_TYPE_CREATE_DESTINATION_MINION_MACHINE,
  178. TASK_TYPE_DELETE_DESTINATION_MINION_MACHINE,
  179. TASK_TYPE_HEALTHCHECK_SOURCE_MINION,
  180. TASK_TYPE_HEALTHCHECK_DESTINATION_MINION,
  181. TASK_TYPE_POWER_ON_SOURCE_MINION,
  182. TASK_TYPE_POWER_OFF_SOURCE_MINION,
  183. TASK_TYPE_POWER_ON_DESTINATION_MINION,
  184. TASK_TYPE_POWER_OFF_DESTINATION_MINION
  185. ]
  186. TASK_PLATFORM_SOURCE = "source"
  187. TASK_PLATFORM_DESTINATION = "destination"
  188. TASK_PLATFORM_BILATERAL = "bilateral"
  189. PROVIDER_PLATFORM_SOURCE = "source"
  190. PROVIDER_PLATFORM_DESTINATION = "destination"
  191. PROVIDER_TYPE_TRANSFER_IMPORT = 4
  192. PROVIDER_TYPE_TRANSFER_EXPORT = 8
  193. PROVIDER_TYPE_ENDPOINT = 16
  194. PROVIDER_TYPE_ENDPOINT_INSTANCES = 32
  195. PROVIDER_TYPE_OS_MORPHING = 64
  196. PROVIDER_TYPE_ENDPOINT_NETWORKS = 128
  197. PROVIDER_TYPE_INSTANCE_FLAVOR = 256
  198. PROVIDER_TYPE_DESTINATION_ENDPOINT_OPTIONS = 512
  199. PROVIDER_TYPE_SETUP_LIBS = 1024
  200. PROVIDER_TYPE_VALIDATE_TRANSFER_EXPORT = 4096
  201. PROVIDER_TYPE_VALIDATE_TRANSFER_IMPORT = 16384
  202. PROVIDER_TYPE_ENDPOINT_STORAGE = 32768
  203. PROVIDER_TYPE_SOURCE_TRANSFER_UPDATE = 65536
  204. PROVIDER_TYPE_SOURCE_ENDPOINT_OPTIONS = 131072
  205. PROVIDER_TYPE_DESTINATION_TRANSFER_UPDATE = 262144
  206. PROVIDER_TYPE_SOURCE_MINION_POOL = 524288
  207. PROVIDER_TYPE_DESTINATION_MINION_POOL = 1048576
  208. PROVIDER_TYPE_ENDPOINT_INVENTORY_EXPORT = 2097152
  209. # NOTE(dvincze): These are deprecated, we should remove them,
  210. # and de-increment the rest
  211. PROVIDER_TYPE_VALIDATE_MIGRATION_EXPORT = 2048
  212. PROVIDER_TYPE_VALIDATE_MIGRATION_IMPORT = 8192
  213. PROVIDER_TYPE_IMPORT = 1
  214. PROVIDER_TYPE_EXPORT = 2
  215. DISK_FORMAT_VMDK = 'vmdk'
  216. DISK_FORMAT_RAW = 'raw'
  217. DISK_FORMAT_QCOW = "qcow"
  218. DISK_FORMAT_QCOW2 = 'qcow2'
  219. DISK_FORMAT_VHD = 'vhd'
  220. DISK_FORMAT_VHDX = 'vhdx'
  221. DISK_ALLOCATION_TYPE_STATIC = "static"
  222. DISK_ALLOCATION_TYPE_DYNAMIC = "dynamic"
  223. FIRMWARE_TYPE_BIOS = 'BIOS'
  224. FIRMWARE_TYPE_EFI = 'EFI'
  225. HYPERVISOR_VMWARE = "vmware"
  226. HYPERVISOR_HYPERV = "hyperv"
  227. HYPERVISOR_QEMU = "qemu"
  228. HYPERVISOR_KVM = "kvm"
  229. HYPERVISOR_XENSERVER = "xenserver"
  230. TASK_EVENT_INFO = "INFO"
  231. TASK_EVENT_WARNING = "WARNING"
  232. TASK_EVENT_ERROR = "ERROR"
  233. MINION_POOL_EVENT_INFO = "INFO"
  234. MINION_POOL_EVENT_WARNING = "WARNING"
  235. MINION_POOL_EVENT_ERROR = "ERROR"
  236. OS_TYPE_BSD = "bsd"
  237. OS_TYPE_LINUX = "linux"
  238. OS_TYPE_OS_X = "osx"
  239. OS_TYPE_SOLARIS = "solaris"
  240. OS_TYPE_WINDOWS = "windows"
  241. OS_TYPE_OTHER = "other"
  242. OS_TYPE_UNKNOWN = "unknown"
  243. DEFAULT_OS_TYPE = OS_TYPE_LINUX
  244. VALID_OS_TYPES = [OS_TYPE_BSD, OS_TYPE_LINUX,
  245. OS_TYPE_OS_X, OS_TYPE_SOLARIS, OS_TYPE_WINDOWS]
  246. TMP_DIRS_KEY = "__tmp_dirs"
  247. COMPRESSION_FORMAT_GZIP = "gzip"
  248. COMPRESSION_FORMAT_ZLIB = "zlib"
  249. VALID_COMPRESSION_FORMATS = [
  250. COMPRESSION_FORMAT_GZIP,
  251. COMPRESSION_FORMAT_ZLIB
  252. ]
  253. TRANSFER_ACTION_TYPE_DEPLOYMENT = "deployment"
  254. TRANSFER_ACTION_TYPE_TRANSFER = "transfer"
  255. EXECUTION_TYPE_TRANSFER_EXECUTION = "transfer_execution"
  256. EXECUTION_TYPE_TRANSFER_DISKS_DELETE = "transfer_disks_delete"
  257. EXECUTION_TYPE_DEPLOYMENT = "deployment"
  258. EXECUTION_TYPE_TRANSFER_UPDATE = "transfer_update"
  259. EXECUTION_TYPE_MINION_POOL_MAINTENANCE = "minion_pool_maintenance"
  260. EXECUTION_TYPE_MINION_POOL_UPDATE = "minion_pool_update"
  261. EXECUTION_TYPE_MINION_POOL_SET_UP_SHARED_RESOURCES = (
  262. "minion_pool_set_up_shared_resources")
  263. EXECUTION_TYPE_MINION_POOL_TEAR_DOWN_SHARED_RESOURCES = (
  264. "minion_pool_tear_down_shared_resources")
  265. EXECUTION_TYPE_MINION_POOL_ALLOCATE_MINIONS = "minion_pool_allocate_minions"
  266. EXECUTION_TYPE_MINION_POOL_DEALLOCATE_MINIONS = (
  267. "minion_pool_deallocate_minions")
  268. TASK_LOCK_NAME_FORMAT = "task-%s"
  269. TASKFLOW_LOCK_NAME_FORMAT = "taskflow-%s"
  270. EXECUTION_LOCK_NAME_FORMAT = "execution-%s"
  271. ENDPOINT_LOCK_NAME_FORMAT = "endpoint-%s"
  272. DEPLOYMENT_LOCK_NAME_FORMAT = "deployment-%s"
  273. TRANSFER_LOCK_NAME_FORMAT = "transfer-%s"
  274. SCHEDULE_LOCK_NAME_FORMAT = "schedule-%s"
  275. REGION_LOCK_NAME_FORMAT = "region-%s"
  276. SERVICE_LOCK_NAME_FORMAT = "service-%s"
  277. MINION_POOL_LOCK_NAME_FORMAT = "minion-pool-%s"
  278. MINION_MACHINE_LOCK_NAME_FORMAT = "minion-pool-%s-machine-%s"
  279. EXECUTION_TYPE_TO_ACTION_LOCK_NAME_FORMAT_MAP = {
  280. EXECUTION_TYPE_TRANSFER_EXECUTION: TRANSFER_LOCK_NAME_FORMAT,
  281. EXECUTION_TYPE_DEPLOYMENT: DEPLOYMENT_LOCK_NAME_FORMAT,
  282. EXECUTION_TYPE_TRANSFER_UPDATE: TRANSFER_LOCK_NAME_FORMAT,
  283. EXECUTION_TYPE_TRANSFER_DISKS_DELETE: TRANSFER_LOCK_NAME_FORMAT,
  284. EXECUTION_TYPE_MINION_POOL_MAINTENANCE: MINION_POOL_LOCK_NAME_FORMAT,
  285. EXECUTION_TYPE_MINION_POOL_UPDATE: MINION_POOL_LOCK_NAME_FORMAT,
  286. EXECUTION_TYPE_MINION_POOL_SET_UP_SHARED_RESOURCES: (
  287. MINION_POOL_LOCK_NAME_FORMAT),
  288. EXECUTION_TYPE_MINION_POOL_TEAR_DOWN_SHARED_RESOURCES: (
  289. MINION_POOL_LOCK_NAME_FORMAT),
  290. EXECUTION_TYPE_MINION_POOL_ALLOCATE_MINIONS: MINION_POOL_LOCK_NAME_FORMAT,
  291. EXECUTION_TYPE_MINION_POOL_DEALLOCATE_MINIONS: MINION_POOL_LOCK_NAME_FORMAT
  292. }
  293. SERVICE_STATUS_UP = "UP"
  294. SERVICE_STATUS_DOWN = "DOWN"
  295. SERVICE_STATUS_UNKNOWN = "UNKNOWN"
  296. SERVICE_MESSAGING_TOPIC_FORMAT = "%(main_topic)s.%(host)s"
  297. CONDUCTOR_MAIN_MESSAGING_TOPIC = "coriolis_conductor"
  298. WORKER_MAIN_MESSAGING_TOPIC = "coriolis_worker"
  299. SCHEDULER_MAIN_MESSAGING_TOPIC = "coriolis_scheduler"
  300. TRANSFER_CRON_MAIN_MESSAGING_TOPIC = "coriolis_transfer_cron_worker"
  301. MINION_MANAGER_MAIN_MESSAGING_TOPIC = "coriolis_minion_manager"
  302. DEPLOYER_MANAGER_MAIN_MESSAGING_TOPIC = "coriolis_deployer_manager"
  303. MINION_POOL_MACHINE_RETENTION_STRATEGY_DELETE = "delete"
  304. MINION_POOL_MACHINE_RETENTION_STRATEGY_POWEROFF = "poweroff"
  305. MINION_POOL_STATUS_UNKNOWN = "UNKNOWN"
  306. MINION_POOL_STATUS_ERROR = "ERROR"
  307. MINION_POOL_STATUS_DEALLOCATED = "DEALLOCATED"
  308. MINION_POOL_STATUS_VALIDATING_INPUTS = "VALIDATING_INPUTS"
  309. MINION_POOL_STATUS_ALLOCATING_SHARED_RESOURCES = "ALLOCATING_SHARED_RESOURCES"
  310. MINION_POOL_STATUS_ALLOCATING_MACHINES = "ALLOCATING_MACHINES"
  311. MINION_POOL_STATUS_DEALLOCATING_MACHINES = "DEALLOCATING_MACHINES"
  312. MINION_POOL_STATUS_DEALLOCATING_SHARED_RESOURCES = (
  313. "DEALLOCATING_SHARED_RESOURCES")
  314. MINION_POOL_STATUS_ALLOCATED = "ALLOCATED"
  315. MINION_POOL_STATUS_POOL_MAINTENANCE = "IN_MAINTENANCE"
  316. ACTIVE_MINION_POOL_STATUSES = [
  317. MINION_POOL_STATUS_VALIDATING_INPUTS,
  318. MINION_POOL_STATUS_ALLOCATING_SHARED_RESOURCES,
  319. MINION_POOL_STATUS_ALLOCATING_MACHINES,
  320. MINION_POOL_STATUS_DEALLOCATING_MACHINES,
  321. MINION_POOL_STATUS_DEALLOCATING_SHARED_RESOURCES]
  322. MINION_MACHINE_IDENTIFIER_FORMAT = (
  323. "coriolis-pool-%(pool_id)s-minion-%(minion_id)s")
  324. MINION_MACHINE_STATUS_UNINITIALIZED = "UNINITIALIZED"
  325. MINION_MACHINE_STATUS_HEALTHCHECKING = "HEALTHCHECKING"
  326. MINION_MACHINE_STATUS_ALLOCATING = "ALLOCATING"
  327. MINION_MACHINE_STATUS_DEALLOCATING = "DEALLOCATING"
  328. MINION_MACHINE_STATUS_ERROR = "ERROR"
  329. MINION_MACHINE_STATUS_POWERING_OFF = "POWERING_OFF"
  330. MINION_MACHINE_STATUS_POWER_ERROR = "POWER_ERROR"
  331. MINION_MACHINE_STATUS_ERROR_DEPLOYING = "ERROR_DEPLOYING"
  332. MINION_MACHINE_STATUS_AVAILABLE = "AVAILABLE"
  333. MINION_MACHINE_STATUS_IN_USE = "IN_USE"
  334. MINION_MACHINE_STATUS_RESERVED = "RESERVED"
  335. MINION_MACHINE_POWER_STATUS_UNKNOWN = "UNKNOWN"
  336. MINION_MACHINE_POWER_STATUS_UNINITIALIZED = "UNINITIALIZED"
  337. MINION_MACHINE_POWER_STATUS_POWERED_ON = "POWERED_ON"
  338. MINION_MACHINE_POWER_STATUS_POWERED_OFF = "POWERED_OFF"
  339. MINION_MACHINE_POWER_STATUS_POWERING_ON = "POWERING_ON"
  340. MINION_MACHINE_POWER_STATUS_POWERING_OFF = "POWERING_OFF"
  341. # User script execution phases.
  342. #
  343. # Scripts that must be executed before the OS partition is mounted, for
  344. # example scripts that unlock encrypted partitions.
  345. PHASE_OSMORPHING_PRE_OS_MOUNT = "osmorphing_pre_os_mount"
  346. # Scripts that are executed after the OS partition is mounted (the default).
  347. PHASE_OSMORPHING_POST_OS_MOUNT = "osmorphing_post_os_mount"
  348. # We may eventually add "PHASE_REPLICA_FIRST_BOOT" for convenience, although
  349. # the users can already achieve this by using os-morphing scripts to schedule
  350. # scripts that will be executed at the next boot. This may require import
  351. # provider support.
  352. USER_SCRIPT_PHASES = [
  353. PHASE_OSMORPHING_PRE_OS_MOUNT,
  354. PHASE_OSMORPHING_POST_OS_MOUNT,
  355. ]