Page MenuHomePhabricator

Implement support for leasing from Drydock hosts in Harbormaster
ClosedPublic

Authored by hach-que on Dec 5 2013, 1:34 AM.
Tags
None
Referenced Files
F19304545: D7706.diff
Wed, Dec 24, 12:20 PM
F19081230: D7706.id.diff
Dec 2 2025, 4:41 AM
F19074089: D7706.diff
Dec 1 2025, 4:17 AM
F18873310: D7706.diff
Nov 5 2025, 9:03 AM
F18855304: D7706.id.diff
Nov 1 2025, 4:49 AM
F18851833: D7706.diff
Oct 31 2025, 4:35 AM
F18777019: D7706.diff
Oct 11 2025, 12:34 AM
F18725125: D7706.diff
Sep 30 2025, 4:48 AM

Details

Summary

This adds LeaseHostBuildStepImplementation for getting leases on hosts in Drydock via Harbormaster. It stores the resulting lease in an artifact.

There is also a few bug fixes as well.

Test Plan

Created a build plan with a "Lease Host" build step. Ran the build plan and saw the build pass and the artifact in the database.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

src/applications/harbormaster/step/BuildStepImplementation.php
59–70

We need to load settings against either HarbormasterBuildStep or HarbormasterBuildTarget.

src/applications/harbormaster/storage/configuration/HarbormasterBuildStep.php
44–62

Need this back in HarbormasterBuildStep in addition to HarbormasterBuildTarget since we need to be able to create implementations in the build plan editor (where there's no targets).

epriestley added inline comments.
src/applications/harbormaster/step/BuildStepImplementation.php
59–70

Maybe cleaner to provide loadSettingsFromBuildTarget and loadSettingsFromBuildStep, but this is easy to clean up later.

src/applications/harbormaster/storage/configuration/HarbormasterBuildPlan.php
45

Prefer the verb load to get, so it's more clear that the method does service calls.

src/applications/harbormaster/storage/configuration/HarbormasterBuildStep.php
44–62

We should maybe do dummy targets or something, but not a big deal to sort out later.