Merge "Avoid initial build status event"
This commit is contained in:
@@ -225,11 +225,6 @@ class TestWeb(BaseTestWeb):
|
||||
'stream/{uuid}?logfile=console.log'.format(
|
||||
uuid=status_jobs[0]['uuid']),
|
||||
status_jobs[0]['url'])
|
||||
self.assertEqual(
|
||||
'finger://{hostname}/{uuid}'.format(
|
||||
hostname=self.executor_server.hostname,
|
||||
uuid=status_jobs[0]['uuid']),
|
||||
status_jobs[0]['finger_url'])
|
||||
self.assertEqual(
|
||||
'https://zuul.example.com/t/tenant-one/build/{uuid}'.format(
|
||||
uuid=status_jobs[0]['uuid']),
|
||||
@@ -239,11 +234,6 @@ class TestWeb(BaseTestWeb):
|
||||
'stream/{uuid}?logfile=console.log'.format(
|
||||
uuid=status_jobs[1]['uuid']),
|
||||
status_jobs[1]['url'])
|
||||
self.assertEqual(
|
||||
'finger://{hostname}/{uuid}'.format(
|
||||
hostname=self.executor_server.hostname,
|
||||
uuid=status_jobs[1]['uuid']),
|
||||
status_jobs[1]['finger_url'])
|
||||
self.assertEqual(
|
||||
'https://zuul.example.com/t/tenant-one/build/{uuid}'.format(
|
||||
uuid=status_jobs[1]['uuid']),
|
||||
@@ -254,11 +244,6 @@ class TestWeb(BaseTestWeb):
|
||||
'stream/{uuid}?logfile=console.log'.format(
|
||||
uuid=status_jobs[2]['uuid']),
|
||||
status_jobs[2]['url'])
|
||||
self.assertEqual(
|
||||
'finger://{hostname}/{uuid}'.format(
|
||||
hostname=self.executor_server.hostname,
|
||||
uuid=status_jobs[2]['uuid']),
|
||||
status_jobs[2]['finger_url'])
|
||||
self.assertEqual(
|
||||
'https://zuul.example.com/t/tenant-one/build/{uuid}'.format(
|
||||
uuid=status_jobs[2]['uuid']),
|
||||
|
||||
+5
-36
@@ -1281,11 +1281,7 @@ class AnsibleJob(object):
|
||||
def do_execute(self):
|
||||
try:
|
||||
self.time_starting_build = time.monotonic()
|
||||
|
||||
# report that job has been taken
|
||||
self.executor_server.startBuild(
|
||||
self.build_request, self._base_job_data()
|
||||
)
|
||||
start_time = time.time()
|
||||
|
||||
self.setNodeInfo()
|
||||
self.loadRepoState()
|
||||
@@ -1309,6 +1305,8 @@ class AnsibleJob(object):
|
||||
self.jobdir = JobDir(self.executor_server.jobdir_root,
|
||||
self.executor_server.keep_jobdir,
|
||||
str(self.build_request.uuid))
|
||||
# report that job has been taken
|
||||
self.executor_server.startBuild(self.build_request, start_time)
|
||||
self.lockNodes()
|
||||
self._execute()
|
||||
except NodeRequestError:
|
||||
@@ -1464,21 +1462,6 @@ class AnsibleJob(object):
|
||||
project_state[remote_name] = hexsha
|
||||
self.repo_state = d
|
||||
|
||||
def _base_job_data(self):
|
||||
data = {
|
||||
# TODO(mordred) worker_name is needed as a unique name for the
|
||||
# client to use for cancelling jobs on an executor. It's
|
||||
# defaulting to the hostname for now, but in the future we
|
||||
# should allow setting a per-executor override so that one can
|
||||
# run more than one executor on a host.
|
||||
'worker_name': self.executor_server.hostname,
|
||||
'worker_hostname': self.executor_server.hostname,
|
||||
'worker_log_port': self.executor_server.log_streaming_port,
|
||||
}
|
||||
if self.executor_server.zone:
|
||||
data['worker_zone'] = self.executor_server.zone
|
||||
return data
|
||||
|
||||
def _send_aborted(self):
|
||||
result = dict(result='ABORTED')
|
||||
self.executor_server.completeBuild(self.build_request, result)
|
||||
@@ -1751,19 +1734,6 @@ class AnsibleJob(object):
|
||||
self._send_aborted()
|
||||
return
|
||||
|
||||
data = self._base_job_data()
|
||||
if self.executor_server.log_streaming_port != DEFAULT_FINGER_PORT:
|
||||
data['url'] = "finger://{hostname}:{port}/{uuid}".format(
|
||||
hostname=self.executor_server.hostname,
|
||||
port=self.executor_server.log_streaming_port,
|
||||
uuid=self.build_request.uuid)
|
||||
else:
|
||||
data['url'] = 'finger://{hostname}/{uuid}'.format(
|
||||
hostname=self.executor_server.hostname,
|
||||
uuid=self.build_request.uuid)
|
||||
|
||||
self.executor_server.updateBuildStatus(self.build_request, data)
|
||||
|
||||
# job_output is out of scope now; playbook methods may open
|
||||
# the file again on their own.
|
||||
result, unreachable, error_detail = self.runPlaybooks(args)
|
||||
@@ -5013,9 +4983,8 @@ class ExecutorServer(BaseMergeServer):
|
||||
return True
|
||||
return False
|
||||
|
||||
def startBuild(self, build_request, data):
|
||||
data["start_time"] = time.time()
|
||||
|
||||
def startBuild(self, build_request, start_time):
|
||||
data = {"start_time": start_time}
|
||||
event = BuildStartedEvent(
|
||||
build_request.uuid, build_request.build_set_uuid,
|
||||
build_request.job_uuid,
|
||||
|
||||
@@ -8310,11 +8310,9 @@ class QueueItem(zkobject.ZKObject):
|
||||
remaining = None
|
||||
result = None
|
||||
build_url = None
|
||||
finger_url = None
|
||||
report_url = None
|
||||
if build:
|
||||
result = build.result
|
||||
finger_url = build.url
|
||||
# TODO(tobiash): add support for custom web root
|
||||
urlformat = 'stream/{build.uuid}?' \
|
||||
'logfile=console.log'
|
||||
@@ -8347,7 +8345,6 @@ class QueueItem(zkobject.ZKObject):
|
||||
'elapsed_time': elapsed,
|
||||
'remaining_time': remaining,
|
||||
'url': build_url,
|
||||
'finger_url': finger_url,
|
||||
'report_url': report_url,
|
||||
'result': result,
|
||||
'voting': job.voting,
|
||||
|
||||
@@ -3028,8 +3028,6 @@ class Scheduler(threading.Thread):
|
||||
return
|
||||
|
||||
with build.activeContext(manager.current_context):
|
||||
if 'url' in event.data:
|
||||
build.url = event.data['url']
|
||||
if 'pre_fail' in event.data:
|
||||
build.pre_fail = event.data['pre_fail']
|
||||
if (snapshot := event.data.get('snapshot')) is not None:
|
||||
|
||||
Reference in New Issue
Block a user