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
F15445916: D7706.id17407.diff
Thu, Mar 27, 4:32 PM
F15440409: D7706.id17406.diff
Wed, Mar 26, 12:42 PM
F15434973: D7706.id.diff
Tue, Mar 25, 6:12 AM
F15429750: D7706.id17406.diff
Mon, Mar 24, 4:06 AM
F15402134: D7706.id.diff
Mon, Mar 17, 8:50 PM
F15390882: D7706.id17407.diff
Sat, Mar 15, 7:12 AM
F15385292: D7706.diff
Fri, Mar 14, 10:10 PM
Unknown Object (File)
Feb 24 2025, 11:17 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.