weldr: use "Worker Server" target instead of setting ImageName
Stop relying on the server interpreting the set `ImageName` in the `OSBuildJob` as a signal to upload the image back to the worker server and add an explicit "Worker Server" upload target to the job.
This commit is contained in:
parent
a12827865d
commit
165a05ab43
2 changed files with 67 additions and 4 deletions
|
|
@ -2247,10 +2247,16 @@ func (api *API) composeHandler(writer http.ResponseWriter, request *http.Request
|
|||
composeID := uuid.New()
|
||||
|
||||
var targets []*target.Target
|
||||
// Always instruct the worker to upload the artifact back to the server
|
||||
workerServerTarget := target.NewWorkerServerTarget()
|
||||
workerServerTarget.ImageName = imageType.Filename()
|
||||
workerServerTarget.OsbuildArtifact.ExportFilename = imageType.Filename()
|
||||
targets = append(targets, workerServerTarget)
|
||||
if isRequestVersionAtLeast(params, 1) && cr.Upload != nil {
|
||||
t := uploadRequestToTarget(*cr.Upload, imageType)
|
||||
targets = append(targets, t)
|
||||
}
|
||||
|
||||
// Check for test parameter
|
||||
q, err := url.ParseQuery(request.URL.RawQuery)
|
||||
if err != nil {
|
||||
|
|
@ -2348,10 +2354,9 @@ func (api *API) composeHandler(writer http.ResponseWriter, request *http.Request
|
|||
var jobId uuid.UUID
|
||||
|
||||
jobId, err = api.workers.EnqueueOSBuild(api.archName, &worker.OSBuildJob{
|
||||
Manifest: manifest,
|
||||
Targets: targets,
|
||||
ImageName: imageType.Filename(),
|
||||
Exports: imageType.Exports(),
|
||||
Manifest: manifest,
|
||||
Targets: targets,
|
||||
Exports: imageType.Exports(),
|
||||
PipelineNames: &worker.PipelineNames{
|
||||
Build: imageType.BuildPipelines(),
|
||||
Payload: imageType.PayloadPipelines(),
|
||||
|
|
|
|||
|
|
@ -685,6 +685,16 @@ func TestCompose(t *testing.T) {
|
|||
QueueStatus: common.IBWaiting,
|
||||
ImageType: imgType,
|
||||
Manifest: manifest,
|
||||
Targets: []*target.Target{
|
||||
{
|
||||
ImageName: imgType.Filename(),
|
||||
OsbuildArtifact: target.OsbuildArtifact{
|
||||
ExportFilename: imgType.Filename(),
|
||||
},
|
||||
Name: target.TargetNameWorkerServer,
|
||||
Options: &target.WorkerServerTargetOptions{},
|
||||
},
|
||||
},
|
||||
},
|
||||
Packages: dnfjson_mock.BaseDeps(),
|
||||
}
|
||||
|
|
@ -702,6 +712,14 @@ func TestCompose(t *testing.T) {
|
|||
ImageType: imgType,
|
||||
Manifest: manifest,
|
||||
Targets: []*target.Target{
|
||||
{
|
||||
ImageName: imgType.Filename(),
|
||||
OsbuildArtifact: target.OsbuildArtifact{
|
||||
ExportFilename: imgType.Filename(),
|
||||
},
|
||||
Name: target.TargetNameWorkerServer,
|
||||
Options: &target.WorkerServerTargetOptions{},
|
||||
},
|
||||
{
|
||||
Name: target.TargetNameAWS,
|
||||
Status: common.IBWaiting,
|
||||
|
|
@ -734,6 +752,16 @@ func TestCompose(t *testing.T) {
|
|||
QueueStatus: common.IBWaiting,
|
||||
ImageType: imgType,
|
||||
Manifest: manifest,
|
||||
Targets: []*target.Target{
|
||||
{
|
||||
ImageName: imgType.Filename(),
|
||||
OsbuildArtifact: target.OsbuildArtifact{
|
||||
ExportFilename: imgType.Filename(),
|
||||
},
|
||||
Name: target.TargetNameWorkerServer,
|
||||
Options: &target.WorkerServerTargetOptions{},
|
||||
},
|
||||
},
|
||||
},
|
||||
Packages: dnfjson_mock.BaseDeps(),
|
||||
}
|
||||
|
|
@ -760,6 +788,16 @@ func TestCompose(t *testing.T) {
|
|||
QueueStatus: common.IBWaiting,
|
||||
ImageType: imgType2,
|
||||
Manifest: manifest2,
|
||||
Targets: []*target.Target{
|
||||
{
|
||||
ImageName: imgType2.Filename(),
|
||||
OsbuildArtifact: target.OsbuildArtifact{
|
||||
ExportFilename: imgType2.Filename(),
|
||||
},
|
||||
Name: target.TargetNameWorkerServer,
|
||||
Options: &target.WorkerServerTargetOptions{},
|
||||
},
|
||||
},
|
||||
},
|
||||
Packages: dnfjson_mock.BaseDeps(),
|
||||
}
|
||||
|
|
@ -1690,6 +1728,16 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) {
|
|||
QueueStatus: common.IBWaiting,
|
||||
ImageType: imgType,
|
||||
Manifest: manifest,
|
||||
Targets: []*target.Target{
|
||||
{
|
||||
ImageName: imgType.Filename(),
|
||||
OsbuildArtifact: target.OsbuildArtifact{
|
||||
ExportFilename: imgType.Filename(),
|
||||
},
|
||||
Name: target.TargetNameWorkerServer,
|
||||
Options: &target.WorkerServerTargetOptions{},
|
||||
},
|
||||
},
|
||||
},
|
||||
Packages: dnfjson_mock.BaseDeps(),
|
||||
}
|
||||
|
|
@ -1707,6 +1755,16 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) {
|
|||
QueueStatus: common.IBWaiting,
|
||||
ImageType: imgType2,
|
||||
Manifest: manifest,
|
||||
Targets: []*target.Target{
|
||||
{
|
||||
ImageName: imgType2.Filename(),
|
||||
OsbuildArtifact: target.OsbuildArtifact{
|
||||
ExportFilename: imgType2.Filename(),
|
||||
},
|
||||
Name: target.TargetNameWorkerServer,
|
||||
Options: &target.WorkerServerTargetOptions{},
|
||||
},
|
||||
},
|
||||
},
|
||||
Packages: dnfjson_mock.BaseDeps(),
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue