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
F18777019: D7706.diff
Sat, Oct 11, 12:34 AM
F18725125: D7706.diff
Tue, Sep 30, 4:48 AM
F18410206: D7706.id.diff
Aug 30 2025, 4:46 AM
F18393949: D7706.diff
Aug 29 2025, 9:35 AM
F18097397: D7706.id17406.diff
Aug 8 2025, 1:07 PM
F18052760: D7706.id17407.diff
Aug 4 2025, 3:21 AM
F17921988: D7706.id.diff
Jul 30 2025, 6:08 AM
F17904809: D7706.id17406.diff
Jul 29 2025, 11:37 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.