diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -849,7 +849,6 @@ 'DrydockManagementLeaseWorkflow' => 'applications/drydock/management/DrydockManagementLeaseWorkflow.php', 'DrydockManagementReleaseWorkflow' => 'applications/drydock/management/DrydockManagementReleaseWorkflow.php', 'DrydockManagementWorkflow' => 'applications/drydock/management/DrydockManagementWorkflow.php', - 'DrydockPreallocatedHostBlueprintImplementation' => 'applications/drydock/blueprint/DrydockPreallocatedHostBlueprintImplementation.php', 'DrydockQuery' => 'applications/drydock/query/DrydockQuery.php', 'DrydockResource' => 'applications/drydock/storage/DrydockResource.php', 'DrydockResourceCloseController' => 'applications/drydock/controller/DrydockResourceCloseController.php', @@ -4567,7 +4566,6 @@ 'DrydockManagementLeaseWorkflow' => 'DrydockManagementWorkflow', 'DrydockManagementReleaseWorkflow' => 'DrydockManagementWorkflow', 'DrydockManagementWorkflow' => 'PhabricatorManagementWorkflow', - 'DrydockPreallocatedHostBlueprintImplementation' => 'DrydockBlueprintImplementation', 'DrydockQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'DrydockResource' => array( 'DrydockDAO', diff --git a/src/applications/drydock/blueprint/DrydockPreallocatedHostBlueprintImplementation.php b/src/applications/drydock/blueprint/DrydockPreallocatedHostBlueprintImplementation.php deleted file mode 100644 --- a/src/applications/drydock/blueprint/DrydockPreallocatedHostBlueprintImplementation.php +++ /dev/null @@ -1,116 +0,0 @@ -getAttribute('platform') === $resource->getAttribute('platform'); - } - - protected function shouldAllocateLease( - DrydockResource $resource, - DrydockLease $lease, - array $other_leases) { - return true; - } - - protected function executeAcquireLease( - DrydockResource $resource, - DrydockLease $lease) { - - // Because preallocated resources are manually created, we should verify - // we have all the information we need. - PhutilTypeSpec::checkMap( - $resource->getAttributesForTypeSpec( - array('platform', 'host', 'port', 'credential', 'path')), - array( - 'platform' => 'string', - 'host' => 'string', - 'port' => 'string', // Value is a string from the command line - 'credential' => 'string', - 'path' => 'string', - )); - $v_platform = $resource->getAttribute('platform'); - $v_path = $resource->getAttribute('path'); - - // Similar to DrydockLocalHostBlueprint, we create a folder - // on the remote host that the lease can use. - - $lease_id = $lease->getID(); - - // Can't use DIRECTORY_SEPERATOR here because that is relevant to - // the platform we're currently running on, not the platform we are - // remoting to. - $separator = '/'; - if ($v_platform === 'windows') { - $separator = '\\'; - } - - // Clean up the directory path a little. - $base_path = rtrim($v_path, '/'); - $base_path = rtrim($base_path, '\\'); - $full_path = $base_path.$separator.$lease_id; - - $cmd = $lease->getInterface('command'); - - $cmd->execx('mkdir %s', $full_path); - - $lease->setAttribute('path', $full_path); - } - - public function getType() { - return 'host'; - } - - public function getInterface( - DrydockResource $resource, - DrydockLease $lease, - $type) { - - switch ($type) { - case 'command': - return id(new DrydockSSHCommandInterface()) - ->setConfiguration(array( - 'host' => $resource->getAttribute('host'), - 'port' => $resource->getAttribute('port'), - 'credential' => $resource->getAttribute('credential'), - 'platform' => $resource->getAttribute('platform'), - )) - ->setWorkingDirectory($lease->getAttribute('path')); - case 'filesystem': - return id(new DrydockSFTPFilesystemInterface()) - ->setConfiguration(array( - 'host' => $resource->getAttribute('host'), - 'port' => $resource->getAttribute('port'), - 'credential' => $resource->getAttribute('credential'), - )); - } - - throw new Exception(pht("No interface of type '%s'.", $type)); - } - -}