summaryrefslogtreecommitdiff
path: root/distbuild/worker_build_scheduler.py
diff options
context:
space:
mode:
Diffstat (limited to 'distbuild/worker_build_scheduler.py')
-rw-r--r--distbuild/worker_build_scheduler.py25
1 files changed, 14 insertions, 11 deletions
diff --git a/distbuild/worker_build_scheduler.py b/distbuild/worker_build_scheduler.py
index 833d5587..64a547cc 100644
--- a/distbuild/worker_build_scheduler.py
+++ b/distbuild/worker_build_scheduler.py
@@ -276,7 +276,8 @@ class WorkerBuildQueuer(distbuild.StateMachine):
self.mainloop.queue_event(WorkerConnection, progress)
else:
logging.debug('WBQ: Creating job for: %s' % event.artifact.name)
- job = self._jobs.create(event.root_artifact, event.artifact, event.initiator_id)
+ job = self._jobs.create(event.root_artifact, event.artifact,
+ event.initiator_id)
if self._available_workers:
self._give_job(job)
@@ -476,26 +477,27 @@ class WorkerConnection(distbuild.StateMachine):
'--build-log-on-stdout',
]
- repo = job.root_artifact.repo_name
- original_ref = job.root_artifact.original_ref
- sha1 = job.root_artifact.sha1
- system_morph = job.root_artifact.filename
+ repo = job.root_artifact.source.repo_name
+ original_ref = job.root_artifact.source.original_ref
+ sha1 = job.root_artifact.source.sha1
+ system_morph = job.root_artifact.source.filename
- argv.extend([definitions_repo, repo, original_ref, sha1, system_morph])
+ argv.extend([repo, original_ref, sha1, system_morph])
def find_stratum_for_chunk_artifact(root_artifact, chunk):
# FIXME: This is horribly inefficient.
strata = {a.source for a in root_artifact.walk()
- if a.source.kind == 'source'}
+ if a.source.morphology['kind'] == 'stratum'}
for stratum in strata:
for dep in stratum.dependencies:
- if dep.source.kind == 'chunk' and dep.source == chunk:
- return stratum
+ if dep.source.morphology['kind'] == 'chunk':
+ if dep.source == chunk.source:
+ return stratum
raise KeyError('Didn\'t find stratum for chunk %s' % chunk)
- if job.artifact.source.kind == 'stratum':
+ if job.artifact.source.morphology['kind'] == 'stratum':
argv.append(job.artifact.source.name)
- elif job.artifact.source.kind == 'chunk':
+ elif job.artifact.source.morphology['kind'] == 'chunk':
stratum = find_stratum_for_chunk_artifact(job.root_artifact,
job.artifact)
argv.append(stratum.name)
@@ -504,6 +506,7 @@ class WorkerConnection(distbuild.StateMachine):
msg = distbuild.message('exec-request',
id=self._job.id,
argv=argv,
+ stdin_contents='',
)
self._jm.send(msg)