Inclusive language - Rename slave to worker

Change-Id: I3a459e9e8fd591518c3b09ed1459466856f8df66
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/306192
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
diff --git a/.gitignore b/.gitignore
index e624c05..ae53ea8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -76,8 +76,6 @@
 res/imp/9/bower_components
 # Ignore all SQLite databases, because tests will create their own unique ones.
 *.db
-# Logfiles from launched buildslaves.
-launch_slaves.log*
 tracedb/local_perf.toml
 fiddle/fiddle_secwrap
 fiddle/res/css
diff --git a/ct/go/master_scripts/metrics_analysis_on_workers/main.go b/ct/go/master_scripts/metrics_analysis_on_workers/main.go
index d9c6a8c..c796155 100644
--- a/ct/go/master_scripts/metrics_analysis_on_workers/main.go
+++ b/ct/go/master_scripts/metrics_analysis_on_workers/main.go
@@ -155,30 +155,30 @@
 		"--metric_name=" + *metricName,
 		"--value_column_name=" + *valueColumnName,
 	}
-	numSlaves, err := util.TriggerSwarmingTask(ctx, "" /* pagesetType */, "metrics_analysis", util.METRICS_ANALYSIS_ISOLATE, *runID, "", util.PLATFORM_LINUX, 12*time.Hour, 3*time.Hour, *taskPriority, maxPagesPerBot, len(traces), true /* runOnGCE */, *master_common.Local, util.GetRepeatValue(*benchmarkExtraArgs, 1), baseCmd, isolateDeps, swarmingClient)
+	numWorkers, err := util.TriggerSwarmingTask(ctx, "" /* pagesetType */, "metrics_analysis", util.METRICS_ANALYSIS_ISOLATE, *runID, "", util.PLATFORM_LINUX, 12*time.Hour, 3*time.Hour, *taskPriority, maxPagesPerBot, len(traces), true /* runOnGCE */, *master_common.Local, util.GetRepeatValue(*benchmarkExtraArgs, 1), baseCmd, isolateDeps, swarmingClient)
 	if err != nil {
 		return fmt.Errorf("Error encountered when swarming tasks: %s", err)
 	}
 
 	// If "--output-format=csv" is specified then merge all CSV files and upload.
-	noOutputSlaves := []string{}
+	noOutputWorkers := []string{}
 	pathToPyFiles, err := util.GetPathToPyFiles(*master_common.Local)
 	if err != nil {
 		return fmt.Errorf("Could not get path to py files: %s", err)
 	}
 	if strings.Contains(*benchmarkExtraArgs, "--output-format=csv") {
-		if _, noOutputSlaves, err = util.MergeUploadCSVFiles(ctx, *runID, pathToPyFiles, gs, len(traces), maxPagesPerBot, true /* handleStrings */, util.GetRepeatValue(*benchmarkExtraArgs, 1)); err != nil {
+		if _, noOutputWorkers, err = util.MergeUploadCSVFiles(ctx, *runID, pathToPyFiles, gs, len(traces), maxPagesPerBot, true /* handleStrings */, util.GetRepeatValue(*benchmarkExtraArgs, 1)); err != nil {
 			sklog.Errorf("Unable to merge and upload CSV files for %s: %s", *runID, err)
 		}
 	}
-	// If the number of noOutputSlaves is the same as the total number of triggered slaves then consider the run failed.
-	if len(noOutputSlaves) == numSlaves {
-		return fmt.Errorf("All %d slaves produced no output", numSlaves)
+	// If the number of noOutputWorkers is the same as the total number of triggered workers then consider the run failed.
+	if len(noOutputWorkers) == numWorkers {
+		return fmt.Errorf("All %d workers produced no output", numWorkers)
 	}
 
-	// Display the no output slaves.
-	for _, noOutputSlave := range noOutputSlaves {
-		directLink := fmt.Sprintf(util.SWARMING_RUN_ID_TASK_LINK_PREFIX_TEMPLATE, *runID, "metrics_analysis_"+noOutputSlave)
+	// Display the no output workers.
+	for _, noOutputWorker := range noOutputWorkers {
+		directLink := fmt.Sprintf(util.SWARMING_RUN_ID_TASK_LINK_PREFIX_TEMPLATE, *runID, "metrics_analysis_"+noOutputWorker)
 		fmt.Printf("Missing output from %s\n", directLink)
 	}
 
diff --git a/ct/go/master_scripts/run_chromium_analysis_on_workers/main.go b/ct/go/master_scripts/run_chromium_analysis_on_workers/main.go
index bf60081..5f404e8 100644
--- a/ct/go/master_scripts/run_chromium_analysis_on_workers/main.go
+++ b/ct/go/master_scripts/run_chromium_analysis_on_workers/main.go
@@ -227,7 +227,7 @@
 		defaultMaxPagesPerSwarmingBot = MAX_PAGES_PER_ANDROID_SWARMING_BOT
 	}
 	maxPagesPerBot := util.GetMaxPagesPerBotValue(*benchmarkExtraArgs, defaultMaxPagesPerSwarmingBot)
-	numSlaves, err := util.TriggerSwarmingTask(ctx, *pagesetType, "chromium_analysis", util.CHROMIUM_ANALYSIS_ISOLATE, *runID, "", *targetPlatform, 12*time.Hour, 3*time.Hour, *taskPriority, maxPagesPerBot, numPages, *runOnGCE, *master_common.Local, util.GetRepeatValue(*benchmarkExtraArgs, 1), baseCmd, isolateDeps, swarmingClient)
+	numWorkers, err := util.TriggerSwarmingTask(ctx, *pagesetType, "chromium_analysis", util.CHROMIUM_ANALYSIS_ISOLATE, *runID, "", *targetPlatform, 12*time.Hour, 3*time.Hour, *taskPriority, maxPagesPerBot, numPages, *runOnGCE, *master_common.Local, util.GetRepeatValue(*benchmarkExtraArgs, 1), baseCmd, isolateDeps, swarmingClient)
 	if err != nil {
 		return fmt.Errorf("Error encountered when swarming tasks: %s", err)
 	}
@@ -237,21 +237,21 @@
 	if err != nil {
 		return fmt.Errorf("Could not get path to py files: %s", err)
 	}
-	outputCSVLocalPath, noOutputSlaves, err := util.MergeUploadCSVFiles(ctx, *runID, pathToPyFiles, gs, numPages, maxPagesPerBot, true /* handleStrings */, util.GetRepeatValue(*benchmarkExtraArgs, 1))
+	outputCSVLocalPath, noOutputWorkers, err := util.MergeUploadCSVFiles(ctx, *runID, pathToPyFiles, gs, numPages, maxPagesPerBot, true /* handleStrings */, util.GetRepeatValue(*benchmarkExtraArgs, 1))
 	if err != nil {
 		return fmt.Errorf("Unable to merge and upload CSV files for %s: %s", *runID, err)
 	}
 	// Cleanup created dir after the run completes.
 	defer skutil.RemoveAll(filepath.Join(util.StorageDir, util.BenchmarkRunsDir, *runID))
 
-	// If the number of noOutputSlaves is the same as the total number of triggered slaves then consider the run failed.
-	if len(noOutputSlaves) == numSlaves {
-		return fmt.Errorf("All %d slaves produced no output", numSlaves)
+	// If the number of noOutputWorkers is the same as the total number of triggered workers then consider the run failed.
+	if len(noOutputWorkers) == numWorkers {
+		return fmt.Errorf("All %d workers produced no output", numWorkers)
 	}
 
-	// Display the no output slaves.
-	for _, noOutputSlave := range noOutputSlaves {
-		directLink := fmt.Sprintf(util.SWARMING_RUN_ID_TASK_LINK_PREFIX_TEMPLATE, *runID, "chromium_analysis_"+noOutputSlave)
+	// Display the no output workers.
+	for _, noOutputWorker := range noOutputWorkers {
+		directLink := fmt.Sprintf(util.SWARMING_RUN_ID_TASK_LINK_PREFIX_TEMPLATE, *runID, "chromium_analysis_"+noOutputWorker)
 		fmt.Printf("Missing output from %s\n", directLink)
 	}
 
diff --git a/ct/go/master_scripts/run_chromium_perf_on_workers/main.go b/ct/go/master_scripts/run_chromium_perf_on_workers/main.go
index 95eb8e3..056d9cc 100644
--- a/ct/go/master_scripts/run_chromium_perf_on_workers/main.go
+++ b/ct/go/master_scripts/run_chromium_perf_on_workers/main.go
@@ -254,7 +254,7 @@
 		defaultMaxPagesPerSwarmingBot = MAX_PAGES_PER_ANDROID_SWARMING_BOT
 	}
 	maxPagesPerBot := util.GetMaxPagesPerBotValue(*benchmarkExtraArgs, defaultMaxPagesPerSwarmingBot)
-	numSlaves, err := util.TriggerSwarmingTask(ctx, *pagesetType, "chromium_perf", util.CHROMIUM_PERF_ISOLATE, *runID, "", *targetPlatform, hardTimeout, 1*time.Hour, *taskPriority, maxPagesPerBot, numPages, *runOnGCE, *master_common.Local, util.GetRepeatValue(*benchmarkExtraArgs, *repeatBenchmark), baseCmd, isolateDeps, swarmingClient)
+	numWorkers, err := util.TriggerSwarmingTask(ctx, *pagesetType, "chromium_perf", util.CHROMIUM_PERF_ISOLATE, *runID, "", *targetPlatform, hardTimeout, 1*time.Hour, *taskPriority, maxPagesPerBot, numPages, *runOnGCE, *master_common.Local, util.GetRepeatValue(*benchmarkExtraArgs, *repeatBenchmark), baseCmd, isolateDeps, swarmingClient)
 	if err != nil {
 		return fmt.Errorf("Error encountered when swarming tasks: %s", err)
 	}
@@ -266,30 +266,30 @@
 	if err != nil {
 		return fmt.Errorf("Could not get path to py files: %s", err)
 	}
-	var noOutputSlaves []string
+	var noOutputWorkers []string
 
 	// Nopatch CSV file processing.
-	noPatchCSVLocalPath, noOutputSlaves, err := util.MergeUploadCSVFiles(ctx, runIDNoPatch, pathToPyFiles, gs, numPages, maxPagesPerBot, true /* handleStrings */, util.GetRepeatValue(*benchmarkExtraArgs, *repeatBenchmark))
+	noPatchCSVLocalPath, noOutputWorkers, err := util.MergeUploadCSVFiles(ctx, runIDNoPatch, pathToPyFiles, gs, numPages, maxPagesPerBot, true /* handleStrings */, util.GetRepeatValue(*benchmarkExtraArgs, *repeatBenchmark))
 	if err != nil {
 		return fmt.Errorf("Unable to merge and upload CSV files for %s: %s", runIDNoPatch, err)
 	}
 	// Cleanup created dir after the run completes.
 	defer skutil.RemoveAll(filepath.Join(util.StorageDir, util.BenchmarkRunsDir, runIDNoPatch))
-	// If the number of noOutputSlaves is the same as the total number of triggered slaves then consider the run failed.
-	if len(noOutputSlaves) == numSlaves {
-		return fmt.Errorf("All %d slaves produced no output for nopatch run", numSlaves)
+	// If the number of noOutputWorkers is the same as the total number of triggered workers then consider the run failed.
+	if len(noOutputWorkers) == numWorkers {
+		return fmt.Errorf("All %d workers produced no output for nopatch run", numWorkers)
 	}
 
 	// Withpatch CSV file processing.
-	withPatchCSVLocalPath, noOutputSlaves, err := util.MergeUploadCSVFiles(ctx, runIDWithPatch, pathToPyFiles, gs, numPages, maxPagesPerBot, true /* handleStrings */, util.GetRepeatValue(*benchmarkExtraArgs, *repeatBenchmark))
+	withPatchCSVLocalPath, noOutputWorkers, err := util.MergeUploadCSVFiles(ctx, runIDWithPatch, pathToPyFiles, gs, numPages, maxPagesPerBot, true /* handleStrings */, util.GetRepeatValue(*benchmarkExtraArgs, *repeatBenchmark))
 	if err != nil {
 		return fmt.Errorf("Unable to merge and upload CSV files for %s: %s", runIDWithPatch, err)
 	}
 	// Cleanup created dir after the run completes.
 	defer skutil.RemoveAll(filepath.Join(util.StorageDir, util.BenchmarkRunsDir, runIDWithPatch))
-	// If the number of noOutputSlaves is the same as the total number of triggered slaves then consider the run failed.
-	if len(noOutputSlaves) == numSlaves {
-		return fmt.Errorf("All %d slaves produced no output for withpatch run", numSlaves)
+	// If the number of noOutputWorkers is the same as the total number of triggered workers then consider the run failed.
+	if len(noOutputWorkers) == numWorkers {
+		return fmt.Errorf("All %d workers produced no output for withpatch run", numWorkers)
 	}
 
 	totalArchivedWebpages, err := util.GetArchivesNum(gs, *benchmarkExtraArgs, *pagesetType)
@@ -328,7 +328,7 @@
 		"--pageset_type=" + *pagesetType,
 		"--chromium_hash=" + *chromiumHash,
 		"--skia_hash=" + skiaHash,
-		"--missing_output_slaves=" + strings.Join(noOutputSlaves, " "),
+		"--missing_output_workers=" + strings.Join(noOutputWorkers, " "),
 		"--logs_link_prefix=" + fmt.Sprintf(util.SWARMING_RUN_ID_TASK_LINK_PREFIX_TEMPLATE, *runID, "chromium_perf_"),
 		"--total_archives=" + strconv.Itoa(totalArchivedWebpages),
 	}
diff --git a/ct/go/util/gs.go b/ct/go/util/gs.go
index 588abb7..d5bf50e 100644
--- a/ct/go/util/gs.go
+++ b/ct/go/util/gs.go
@@ -29,7 +29,7 @@
 	DOWNLOAD_UPLOAD_GOROUTINE_POOL_SIZE = 30
 	// Use larger pool size for deletions. This is useful when deleting directories
 	// with 1M/1B subdirectories from the master. Google Storage will not be overwhelmed
-	// because all slaves do not do large scale deletions at the same time.
+	// because all workers do not do large scale deletions at the same time.
 	DELETE_GOROUTINE_POOL_SIZE = 1000
 )
 
diff --git a/ct/go/util/util.go b/ct/go/util/util.go
index 2575b95..c64a020 100644
--- a/ct/go/util/util.go
+++ b/ct/go/util/util.go
@@ -590,8 +590,8 @@
 func MergeUploadCSVFiles(ctx context.Context, runID, pathToPyFiles string, gs *GcsUtil, totalPages, maxPagesPerBot int, handleStrings bool, repeatValue int) (string, []string, error) {
 	localOutputDir := filepath.Join(StorageDir, BenchmarkRunsDir, runID)
 	MkdirAll(localOutputDir, 0700)
-	noOutputSlaves := []string{}
-	// Copy outputs from all slaves locally.
+	noOutputWorkers := []string{}
+	// Copy outputs from all workers locally.
 	numPagesPerBot := GetNumPagesPerBot(repeatValue, maxPagesPerBot)
 	numTasks := int(math.Ceil(float64(totalPages) / float64(numPagesPerBot)))
 	for i := 1; i <= numTasks; i++ {
@@ -601,27 +601,27 @@
 		respBody, err := gs.GetRemoteFileContents(workerRemoteOutputPath)
 		if err != nil {
 			sklog.Errorf("Could not fetch %s: %s", workerRemoteOutputPath, err)
-			noOutputSlaves = append(noOutputSlaves, strconv.Itoa(i))
+			noOutputWorkers = append(noOutputWorkers, strconv.Itoa(i))
 			continue
 		}
 		defer util.Close(respBody)
 		out, err := os.Create(workerLocalOutputPath)
 		if err != nil {
-			return "", noOutputSlaves, fmt.Errorf("Unable to create file %s: %s", workerLocalOutputPath, err)
+			return "", noOutputWorkers, fmt.Errorf("Unable to create file %s: %s", workerLocalOutputPath, err)
 		}
 		defer util.Close(out)
 		defer util.Remove(workerLocalOutputPath)
 		if _, err = io.Copy(out, respBody); err != nil {
-			return "", noOutputSlaves, fmt.Errorf("Unable to copy to file %s: %s", workerLocalOutputPath, err)
+			return "", noOutputWorkers, fmt.Errorf("Unable to copy to file %s: %s", workerLocalOutputPath, err)
 		}
-		// If an output is less than 20 bytes that means something went wrong on the slave.
+		// If an output is less than 20 bytes that means something went wrong on the worker.
 		outputInfo, err := out.Stat()
 		if err != nil {
-			return "", noOutputSlaves, fmt.Errorf("Unable to stat file %s: %s", workerLocalOutputPath, err)
+			return "", noOutputWorkers, fmt.Errorf("Unable to stat file %s: %s", workerLocalOutputPath, err)
 		}
 		if outputInfo.Size() <= 20 {
 			sklog.Errorf("Output file was less than 20 bytes %s: %s", workerLocalOutputPath, err)
-			noOutputSlaves = append(noOutputSlaves, strconv.Itoa(i))
+			noOutputWorkers = append(noOutputWorkers, strconv.Itoa(i))
 			continue
 		}
 	}
@@ -639,14 +639,14 @@
 	}
 	err := ExecuteCmd(ctx, "python", args, []string{}, CSV_MERGER_TIMEOUT, nil, nil)
 	if err != nil {
-		return outputFilePath, noOutputSlaves, fmt.Errorf("Error running csv_merger.py: %s", err)
+		return outputFilePath, noOutputWorkers, fmt.Errorf("Error running csv_merger.py: %s", err)
 	}
 	// Copy the output file to Google Storage.
 	remoteOutputDir := path.Join(BenchmarkRunsStorageDir, runID, "consolidated_outputs")
 	if err := gs.UploadFile(outputFileName, localOutputDir, remoteOutputDir); err != nil {
-		return outputFilePath, noOutputSlaves, fmt.Errorf("Unable to upload %s to %s: %s", outputFileName, remoteOutputDir, err)
+		return outputFilePath, noOutputWorkers, fmt.Errorf("Unable to upload %s to %s: %s", outputFileName, remoteOutputDir, err)
 	}
-	return outputFilePath, noOutputSlaves, nil
+	return outputFilePath, noOutputWorkers, nil
 }
 
 // GetRepeatValue returns the defaultValue if "--pageset-repeat" is not specified in benchmarkArgs.
diff --git a/ct/go/worker_scripts/capture_archives/main.go b/ct/go/worker_scripts/capture_archives/main.go
index ae78d4e..fda439e 100644
--- a/ct/go/worker_scripts/capture_archives/main.go
+++ b/ct/go/worker_scripts/capture_archives/main.go
@@ -30,7 +30,7 @@
 	startRange         = flag.Int("start_range", 1, "The number this worker will capture webpage archives from.")
 	num                = flag.Int("num", 100, "The total number of archives to capture starting from the start_range.")
 	pagesetType        = flag.String("pageset_type", util.PAGESET_TYPE_MOBILE_10k, "The pagesets to use to capture archives. Eg: 10k, Mobile10k, All.")
-	chromeCleanerTimer = flag.Duration("cleaner_timer", 30*time.Minute, "How often all chrome processes will be killed on this slave.")
+	chromeCleanerTimer = flag.Duration("cleaner_timer", 30*time.Minute, "How often all chrome processes will be killed on this worker.")
 )
 
 func captureArchives() error {
diff --git a/ct/go/worker_scripts/capture_skps/main.go b/ct/go/worker_scripts/capture_skps/main.go
index d0e3f6f..3a7902e 100644
--- a/ct/go/worker_scripts/capture_skps/main.go
+++ b/ct/go/worker_scripts/capture_skps/main.go
@@ -35,7 +35,7 @@
 	skpinfoRemotePath  = flag.String("skpinfo_remote_path", "", "The location of the skpinfo binary in Google Storage.")
 	runID              = flag.String("run_id", "", "The unique run id (typically requester + timestamp).")
 	targetPlatform     = flag.String("target_platform", util.PLATFORM_LINUX, "The platform the benchmark will run on (Android / Linux).")
-	chromeCleanerTimer = flag.Duration("cleaner_timer", 30*time.Minute, "How often all chrome processes will be killed on this slave.")
+	chromeCleanerTimer = flag.Duration("cleaner_timer", 30*time.Minute, "How often all chrome processes will be killed on this worker.")
 )
 
 func captureSkps() error {
diff --git a/ct/go/worker_scripts/run_chromium_analysis/main.go b/ct/go/worker_scripts/run_chromium_analysis/main.go
index a8ab365..ab5b274 100644
--- a/ct/go/worker_scripts/run_chromium_analysis/main.go
+++ b/ct/go/worker_scripts/run_chromium_analysis/main.go
@@ -49,7 +49,7 @@
 	browserExtraArgs   = flag.String("browser_extra_args", "", "The extra arguments that are passed to the browser while running the benchmark.")
 	runInParallel      = flag.Bool("run_in_parallel", true, "Run the benchmark by bringing up multiple chrome instances in parallel.")
 	targetPlatform     = flag.String("target_platform", util.PLATFORM_LINUX, "The platform the benchmark will run on (Android / Linux).")
-	chromeCleanerTimer = flag.Duration("cleaner_timer", 15*time.Minute, "How often all chrome processes will be killed on this slave.")
+	chromeCleanerTimer = flag.Duration("cleaner_timer", 15*time.Minute, "How often all chrome processes will be killed on this worker.")
 	matchStdoutText    = flag.String("match_stdout_txt", "", "Looks for the specified string in the stdout of web page runs. The count of the text's occurence and the lines containing it are added to the CSV of the web page.")
 	valueColumnName    = flag.String("value_column_name", "", "Which column's entries to use as field values when combining CSVs.")
 )
diff --git a/ct/go/worker_scripts/run_chromium_perf/main.go b/ct/go/worker_scripts/run_chromium_perf/main.go
index 9c193f8..6adb782 100644
--- a/ct/go/worker_scripts/run_chromium_perf/main.go
+++ b/ct/go/worker_scripts/run_chromium_perf/main.go
@@ -46,7 +46,7 @@
 	repeatBenchmark           = flag.Int("repeat_benchmark", 3, "The number of times the benchmark should be repeated. For skpicture_printer benchmark this value is always 1.")
 	runInParallel             = flag.Bool("run_in_parallel", false, "Run the benchmark by bringing up multiple chrome instances in parallel.")
 	targetPlatform            = flag.String("target_platform", util.PLATFORM_ANDROID, "The platform the benchmark will run on (Android / Linux).")
-	chromeCleanerTimer        = flag.Duration("cleaner_timer", 15*time.Minute, "How often all chrome processes will be killed on this slave.")
+	chromeCleanerTimer        = flag.Duration("cleaner_timer", 15*time.Minute, "How often all chrome processes will be killed on this worker.")
 	valueColumnName           = flag.String("value_column_name", "", "Which column's entries to use as field values when combining CSVs.")
 )
 
diff --git a/ct/py/csv_comparer.py b/ct/py/csv_comparer.py
index 984aa61..b0e8335 100644
--- a/ct/py/csv_comparer.py
+++ b/ct/py/csv_comparer.py
@@ -72,7 +72,7 @@
                discard_outliers, raw_csv_nopatch, raw_csv_withpatch,
                num_repeated, target_platform, crashed_instances,
                missing_devices, browser_args_nopatch, browser_args_withpatch,
-               pageset_type, chromium_hash, skia_hash, missing_output_slaves,
+               pageset_type, chromium_hash, skia_hash, missing_output_workers,
                logs_link_prefix, description, total_archives):
     """Constructs a CsvComparer instance."""
     self._csv_file1 = csv_file1
@@ -96,7 +96,7 @@
     self._pageset_type = pageset_type
     self._chromium_hash = chromium_hash
     self._skia_hash = skia_hash
-    self._missing_output_slaves = missing_output_slaves
+    self._missing_output_workers = missing_output_workers
     self._logs_link_prefix = logs_link_prefix
     self._description = description
     self._total_archives = total_archives
@@ -198,12 +198,12 @@
               perc_diff = _GetPercentageDiff(csv1_value, csv2_value)
               if self._IsPercDiffSameOrAboveThreshold(perc_diff):
                 rank = 1
-                slave_num = 1
+                worker_num = 1
                 m = re.match(r".* \(#([0-9]+)\)", page_name2)
                 if m and m.group(1):
                   rank = int(m.group(1))
-                  while rank > slave_num * 100:
-                    slave_num += 1
+                  while rank > worker_num * 100:
+                    worker_num += 1
                 pageset_link = (
                     '%s/swarming/page_sets/%s/%s/%s.py' % (
                         GS_HTML_DIRECT_LINK, self._pageset_type, rank, rank))
@@ -295,9 +295,9 @@
     sorted_fieldnames_totals_items = sorted(
         fieldnames_to_totals.items(), key=lambda tuple: tuple[1].perc_diff,
         reverse=True)
-    missing_output_slaves_list = []
-    if self._missing_output_slaves:
-      missing_output_slaves_list = self._missing_output_slaves.split(' ')
+    missing_output_workers_list = []
+    if self._missing_output_workers:
+      missing_output_workers_list = self._missing_output_workers.split(' ')
     rendered = loader.render_to_string(
         'csv_totals.html',
         {'sorted_fieldnames_totals_items': sorted_fieldnames_totals_items,
@@ -320,7 +320,7 @@
          'html_report_date': html_report_date,
          'chromium_hash': self._chromium_hash,
          'skia_hash': self._skia_hash,
-         'missing_output_slaves': missing_output_slaves_list,
+         'missing_output_workers': missing_output_workers_list,
          'logs_link_prefix': self._logs_link_prefix,
          'description': self._description,
         })
@@ -426,11 +426,11 @@
       help='The skia git hash that was used for this run.',
       default='')
   option_parser.add_option(
-      '', '--missing_output_slaves',
-      help='Slaves which had no output for this run.')
+      '', '--missing_output_workers',
+      help='Workers which had no output for this run.')
   option_parser.add_option(
       '', '--logs_link_prefix',
-      help='Prefix link to the logs of the slaves.')
+      help='Prefix link to the logs of the workers.')
   option_parser.add_option(
       '', '--description',
       help='The description of the run as entered by the requester.')
@@ -464,6 +464,6 @@
       options.crashed_instances, options.missing_devices,
       options.browser_args_nopatch, options.browser_args_withpatch,
       options.pageset_type, options.chromium_hash, options.skia_hash,
-      options.missing_output_slaves, options.logs_link_prefix,
+      options.missing_output_workers, options.logs_link_prefix,
       options.description, options.total_archives).Compare())
 
diff --git a/ct/py/csv_comparer_test.py b/ct/py/csv_comparer_test.py
index d1e9be0..48e60d3 100644
--- a/ct/py/csv_comparer_test.py
+++ b/ct/py/csv_comparer_test.py
@@ -70,7 +70,7 @@
         pageset_type='Mobile10k',
         chromium_hash='abcdefg1234567',
         skia_hash='tuvwxyz1234567',
-        missing_output_slaves='1 3 100',
+        missing_output_workers='1 3 100',
         logs_link_prefix=('https://chrome-swarming.appspot.com/tasklist?'
                           'l=500&f=runid:testing&f=name:perf_task_'),
         description='E2EComparerWithDiscardOutliers',
@@ -102,7 +102,7 @@
         pageset_type='10k',
         chromium_hash='abcdefg1234567',
         skia_hash='tuvwxyz1234567',
-        missing_output_slaves='',
+        missing_output_workers='',
         logs_link_prefix='',
         description='E2EComparerWithNoDiscardOutliers',
         total_archives='10',
diff --git a/ct/py/html-templates/csv_totals.html b/ct/py/html-templates/csv_totals.html
index c8f2cc7..9d5b421 100644
--- a/ct/py/html-templates/csv_totals.html
+++ b/ct/py/html-templates/csv_totals.html
@@ -13,7 +13,7 @@
     This report was created on {{ html_report_date }}
     <br/>
     <br/>
-    The run was done on {{ target_platform }} slaves using the {{ pageset_type }} page set
+    The run was done on {{ target_platform }} workers using the {{ pageset_type }} page set
     <br/>
     The run was done using Chromium commit hash <a href='https://chromium.googlesource.com/chromium/src/+show/{{ chromium_hash }}'>{{ chromium_hash|slice:":7" }}</a> and Skia commit hash <a href='https://skia.googlesource.com/skia/+show/{{ skia_hash }}'>{{ skia_hash|slice:":7" }}</a>
     <br/>
@@ -29,15 +29,15 @@
     Read <a href="https://docs.google.com/a/chromium.org/document/d/1GhqosQcwsy6F-eBAmFn_ITDF7_Iv_rY9FhCKwAnk9qQ/edit?pli=1#heading=h.lgvqzgu7bc4d">this</a> for an explanation of CT's accuracy of results.
     <br/>
     {% if crashed_instances %}
-      <br/><b>Note:</b> The following slaves are down and their results are missing from the report: <b>{{ crashed_instances }}</b><br/>
+      <br/><b>Note:</b> The following workers are down and their results are missing from the report: <b>{{ crashed_instances }}</b><br/>
     {% endif %}
     {% if missing_devices %}
-      <br/><b>Note:</b> Android devices in the following slaves are down and their results are missing from the report: <b>{{ missing_devices }}</b><br/>
+      <br/><b>Note:</b> Android devices in the following workers are down and their results are missing from the report: <b>{{ missing_devices }}</b><br/>
     {% endif %}
-    {% if missing_output_slaves %}
-      <br/><b>Note:</b> The following slaves failed to report their results:
-          {% for missing_output_slave in missing_output_slaves %}
-            <a href="{{ logs_link_prefix }}{{ missing_output_slave }}">task{{ missing_output_slave }}</a>
+    {% if missing_output_workers %}
+      <br/><b>Note:</b> The following workers failed to report their results:
+          {% for missing_output_worker in missing_output_workers %}
+            <a href="{{ logs_link_prefix }}{{ missing_output_worker }}">task{{ missing_output_worker }}</a>
           {% endfor %}
       <br/>
     {% endif %}
diff --git a/ct/py/html-templates/list_of_all_files.html b/ct/py/html-templates/list_of_all_files.html
index 6d0836a..1296738 100644
--- a/ct/py/html-templates/list_of_all_files.html
+++ b/ct/py/html-templates/list_of_all_files.html
@@ -12,7 +12,7 @@
     Click on a filename to view its images.<br/>
     Click on the linked column headers to sort rows.<br/><br/>
 
-    <table border="1" cellpadding="5" id="slave_results">
+    <table border="1" cellpadding="5" id="worker_results">
       <thead>
       <tr bgcolor="#CCCCFF">
         <th><a href="#" onclick="sortRows(0, false, [0, 1, 2, 3]); return false;">Failed Files</a><img src="" id="toggle-arrows-0"></th>
@@ -22,8 +22,8 @@
       </tr>
       </thead>
       <tbody>
-      {% for slave_name, slave_info in slave_name_to_info_items %}
-        {% for file_info in slave_info.failed_files %}
+      {% for worker_name, worker_info in worker_name_to_info_items %}
+        {% for file_info in worker_info.failed_files %}
         <tr>
           <td align="center">
             <a id='compare_value' href='{{ absolute_url }}{{ file_info.file_name }}.html'>{{ file_info.file_name }}</a>
diff --git a/ct/py/html-templates/single_file_details.html b/ct/py/html-templates/single_file_details.html
index f6c0625..28233ce 100644
--- a/ct/py/html-templates/single_file_details.html
+++ b/ct/py/html-templates/single_file_details.html
@@ -1,12 +1,12 @@
 <html ng-app="diff_viewer">
   <head>
-    <title>Image comparision failures for {{ slave_info.slave_name }}</title>
+    <title>Image comparision failures for {{ worker_info.worker_name }}</title>
     <script type="text/javascript" src="https://storage.cloud.google.com/chromium-skia-gm/telemetry/hosted-files/angular.min.js"></script>
     <script type="text/javascript" src="https://storage.cloud.google.com/chromium-skia-gm/telemetry/hosted-files/diff_viewer.js"></script>
   </head>
 
   <body>
-    <h2>Image comparision failures for {{ slave_info.slave_name }}</h2>
+    <h2>Image comparision failures for {{ worker_info.worker_name }}</h2>
     <a href='{{ absolute_url }}list_of_all_files.html'>Back</a>
     <br/><br/>
     Click on the image in the 'Difference per pixel' column to magnify the other three images.<br/><br/><br/>
diff --git a/ct/py/html-templates/slaves_totals.html b/ct/py/html-templates/workers_totals.html
similarity index 75%
rename from ct/py/html-templates/slaves_totals.html
rename to ct/py/html-templates/workers_totals.html
index 7fcfda6..8cef041 100644
--- a/ct/py/html-templates/slaves_totals.html
+++ b/ct/py/html-templates/workers_totals.html
@@ -6,7 +6,7 @@
   <body>
     <h2>Results of Skia Tryserver Run</h2>
 
-    {% if slave_name_to_info_items %}
+    {% if worker_name_to_info_items %}
     RenderPictures args: {{ render_pictures_args }}<br/>
     NoPatch render_pictures run with GPU: {{ nopatch_gpu }}<br/>
     WithPatch render_pictures run with GPU: {{ withpatch_gpu  }}<br/><br/>
@@ -16,13 +16,13 @@
 
     <table border="1" cellpadding="5">
       <tr bgcolor="#CCCCFF">
-        <th>Slave</th>
+        <th>Worker</th>
         <th>Total failing files</th>
       </tr>
-      {% for slave_name, slave_info in slave_name_to_info_items %}
+      {% for worker_name, worker_info in worker_name_to_info_items %}
         <tr>
-          <td>{{ slave_name }}</td>
-          <td align="center">{{ slave_info.failed_files|length }}</td>
+          <td>{{ worker_name }}</td>
+          <td align="center">{{ worker_info.failed_files|length }}</td>
         </tr>
       {% endfor %}
     </table>
diff --git a/ct/py/json_summary_combiner.py b/ct/py/json_summary_combiner.py
index d6a4c2e..b95d46a 100644
--- a/ct/py/json_summary_combiner.py
+++ b/ct/py/json_summary_combiner.py
@@ -28,9 +28,9 @@
 # Template variables used in the django templates defined in django-settings.
 # If the values of these constants change then the django templates need to
 # change as well.
-SLAVE_NAME_TO_INFO_ITEMS_TEMPLATE_VAR = 'slave_name_to_info_items'
+WORKER_NAME_TO_INFO_ITEMS_TEMPLATE_VAR = 'worker_name_to_info_items'
 ABSOLUTE_URL_TEMPLATE_VAR = 'absolute_url'
-SLAVE_INFO_TEMPLATE_VAR = 'slave_info'
+WORKER_INFO_TEMPLATE_VAR = 'worker_info'
 FILE_INFO_TEMPLATE_VAR = 'file_info'
 RENDER_PICTURES_ARGS_TEMPLATE_VAR = 'render_pictures_args'
 NOPATCH_GPU_TEMPLATE_VAR = 'nopatch_gpu'
@@ -63,12 +63,12 @@
       file_name_no_ext, ext, file_name_no_ext, ext, ext)
 
 
-class SlaveInfo(object):
-  """Container class that holds all slave data."""
-  def __init__(self, slave_name, failed_files, skps_location,
+class WorkerInfo(object):
+  """Container class that holds all worker data."""
+  def __init__(self, worker_name, failed_files, skps_location,
                files_location_nopatch, files_location_withpatch,
                files_location_diffs, files_location_whitediffs):
-    self.slave_name = slave_name
+    self.worker_name = worker_name
     self.failed_files = failed_files
     self.files_location_nopatch = files_location_nopatch
     self.files_location_withpatch = files_location_withpatch
@@ -79,17 +79,17 @@
 
 def CombineJsonSummaries(json_summaries_dir):
   """Combines JSON summaries and returns the summaries in HTML."""
-  slave_name_to_info = {}
+  worker_name_to_info = {}
   for json_summary in glob.glob(os.path.join(json_summaries_dir, '*.json')):
     with open(json_summary) as f:
       data = json.load(f)
-    # There must be only one top level key and it must be the slave name.
+    # There must be only one top level key and it must be the worker name.
     assert len(data.keys()) == 1
 
-    slave_name = data.keys()[0]
-    slave_data = data[slave_name]
+    worker_name = data.keys()[0]
+    worker_data = data[worker_name]
     file_info_list = []
-    for failed_file in slave_data[json_summary_constants.JSONKEY_FAILED_FILES]:
+    for failed_file in worker_data[json_summary_constants.JSONKEY_FAILED_FILES]:
       failed_file_name = failed_file[json_summary_constants.JSONKEY_FILE_NAME]
       skp_location = posixpath.join(
           STORAGE_HTTP_BASE,
@@ -113,42 +113,42 @@
           perceptual_diff=perceptual_diff)
       file_info_list.append(file_info)
 
-    slave_info = SlaveInfo(
-        slave_name=slave_name,
+    worker_info = WorkerInfo(
+        worker_name=worker_name,
         failed_files=file_info_list,
-        skps_location=slave_data[json_summary_constants.JSONKEY_SKPS_LOCATION],
-        files_location_nopatch=slave_data[
+        skps_location=worker_data[json_summary_constants.JSONKEY_SKPS_LOCATION],
+        files_location_nopatch=worker_data[
             json_summary_constants.JSONKEY_FILES_LOCATION_NOPATCH],
-        files_location_withpatch=slave_data[
+        files_location_withpatch=worker_data[
             json_summary_constants.JSONKEY_FILES_LOCATION_WITHPATCH],
-        files_location_diffs=slave_data[
+        files_location_diffs=worker_data[
             json_summary_constants.JSONKEY_FILES_LOCATION_DIFFS],
-        files_location_whitediffs=slave_data[
+        files_location_whitediffs=worker_data[
             json_summary_constants.JSONKEY_FILES_LOCATION_WHITE_DIFFS])
-    slave_name_to_info[slave_name] = slave_info
+    worker_name_to_info[worker_name] = worker_info
 
-  return slave_name_to_info
+  return worker_name_to_info
 
 
-def OutputToHTML(slave_name_to_info, output_html_dir, absolute_url,
+def OutputToHTML(worker_name_to_info, output_html_dir, absolute_url,
                  render_pictures_args, nopatch_gpu, withpatch_gpu):
-  """Outputs a slave name to SlaveInfo dict into HTML.
+  """Outputs a worker name to WorkerInfo dict into HTML.
 
-  Creates a top level HTML file that lists slave names to the number of failing
+  Creates a top level HTML file that lists worker names to the number of failing
   files. Also creates X number of HTML files that lists all the failing files
   and displays the nopatch and withpatch images. X here corresponds to the
-  number of slaves that have failing files.
+  number of workers that have failing files.
   """
   # Get total failing file count.
   total_failing_files = 0
-  for slave_info in slave_name_to_info.values():
-    total_failing_files += len(slave_info.failed_files)
+  for worker_info in worker_name_to_info.values():
+    total_failing_files += len(worker_info.failed_files)
 
-  slave_name_to_info_items = sorted(
-      slave_name_to_info.items(), key=lambda tuple: tuple[0])
+  worker_name_to_info_items = sorted(
+      worker_name_to_info.items(), key=lambda tuple: tuple[0])
   rendered = loader.render_to_string(
-      'slaves_totals.html',
-      {SLAVE_NAME_TO_INFO_ITEMS_TEMPLATE_VAR: slave_name_to_info_items,
+      'workers_totals.html',
+      {WORKER_NAME_TO_INFO_ITEMS_TEMPLATE_VAR: worker_name_to_info_items,
        ABSOLUTE_URL_TEMPLATE_VAR: absolute_url,
        RENDER_PICTURES_ARGS_TEMPLATE_VAR: render_pictures_args,
        NOPATCH_GPU_TEMPLATE_VAR: nopatch_gpu,
@@ -160,31 +160,31 @@
 
   rendered = loader.render_to_string(
       'list_of_all_files.html',
-      {SLAVE_NAME_TO_INFO_ITEMS_TEMPLATE_VAR: slave_name_to_info_items,
+      {WORKER_NAME_TO_INFO_ITEMS_TEMPLATE_VAR: worker_name_to_info_items,
        ABSOLUTE_URL_TEMPLATE_VAR: absolute_url}
   )
   with open(os.path.join(output_html_dir,
                          'list_of_all_files.html'), 'wb') as files_html:
     files_html.write(rendered)
 
-  for slave_info in slave_name_to_info.values():
-    for file_info in slave_info.failed_files:
+  for worker_info in worker_name_to_info.values():
+    for file_info in worker_info.failed_files:
       rendered = loader.render_to_string(
           'single_file_details.html',
           {FILE_INFO_TEMPLATE_VAR: file_info,
          ABSOLUTE_URL_TEMPLATE_VAR: absolute_url,
          GS_FILES_LOCATION_NO_PATCH_TEMPLATE_VAR: posixpath.join(
              STORAGE_HTTP_BASE,
-             slave_info.files_location_nopatch.lstrip('gs://')),
+             worker_info.files_location_nopatch.lstrip('gs://')),
          GS_FILES_LOCATION_WITH_PATCH_TEMPLATE_VAR: posixpath.join(
              STORAGE_HTTP_BASE,
-             slave_info.files_location_withpatch.lstrip('gs://')),
+             worker_info.files_location_withpatch.lstrip('gs://')),
          GS_FILES_LOCATION_DIFFS_TEMPLATE_VAR: posixpath.join(
              STORAGE_HTTP_BASE,
-             slave_info.files_location_diffs.lstrip('gs://')),
+             worker_info.files_location_diffs.lstrip('gs://')),
          GS_FILES_LOCATION_WHITE_DIFFS_TEMPLATE_VAR: posixpath.join(
              STORAGE_HTTP_BASE,
-             slave_info.files_location_whitediffs.lstrip('gs://'))}
+             worker_info.files_location_whitediffs.lstrip('gs://'))}
       )
       with open(os.path.join(output_html_dir, '%s.html' % file_info.file_name),
                 'wb') as per_file_html:
@@ -195,7 +195,7 @@
   option_parser = optparse.OptionParser()
   option_parser.add_option(
       '', '--json_summaries_dir',
-      help='Location of JSON summary files from all GCE slaves.')
+      help='Location of JSON summary files from all GCE workers.')
   option_parser.add_option(
       '', '--output_html_dir',
       help='The absolute path of the HTML dir that will contain the results of'
@@ -225,7 +225,7 @@
         'render_pictures_args, nopatch_gpu and withpatch_gpu')
 
   OutputToHTML(
-      slave_name_to_info=CombineJsonSummaries(options.json_summaries_dir),
+      worker_name_to_info=CombineJsonSummaries(options.json_summaries_dir),
       output_html_dir=options.output_html_dir,
       absolute_url=options.absolute_url,
       render_pictures_args=options.render_pictures_args,
diff --git a/ct/py/json_summary_combiner_test.py b/ct/py/json_summary_combiner_test.py
index 4b58e2d..09cf41f 100644
--- a/ct/py/json_summary_combiner_test.py
+++ b/ct/py/json_summary_combiner_test.py
@@ -29,111 +29,111 @@
     shutil.rmtree(self._actual_html_dir)
 
   def test_CombineJsonSummaries_WithDifferences(self):
-    slave_name_to_info = json_summary_combiner.CombineJsonSummaries(
+    worker_name_to_info = json_summary_combiner.CombineJsonSummaries(
         os.path.join(self._test_data_dir, 'differences'))
-    for slave_name, slave_info in slave_name_to_info.items():
-      slave_num = slave_name[-1]
+    for worker_name, worker_info in worker_name_to_info.items():
+      worker_num = worker_name[-1]
       file_count = 0
-      for file_info in slave_info.failed_files:
+      for file_info in worker_info.failed_files:
         file_count += 1
         self.assertEquals(file_info.file_name,
-                          'file%s_%s.png' % (slave_name, file_count))
+                          'file%s_%s.png' % (worker_name, file_count))
         self.assertEquals(file_info.skp_location,
                           'http://storage.cloud.google.com/dummy-bucket/skps'
-                          '/%s/file%s_.skp' % (slave_name, slave_name))
+                          '/%s/file%s_.skp' % (worker_name, worker_name))
         self.assertEquals(file_info.num_pixels_differing,
-                          int('%s%s1' % (slave_num, file_count)))
+                          int('%s%s1' % (worker_num, file_count)))
         self.assertEquals(file_info.percent_pixels_differing,
-                          int('%s%s2' % (slave_num, file_count)))
+                          int('%s%s2' % (worker_num, file_count)))
         self.assertEquals(file_info.max_diff_per_channel,
-                          int('%s%s4' % (slave_num, file_count)))
+                          int('%s%s4' % (worker_num, file_count)))
 
       self.assertEquals(
-          slave_info.skps_location,
-          'gs://dummy-bucket/skps/%s' % slave_name)
+          worker_info.skps_location,
+          'gs://dummy-bucket/skps/%s' % worker_name)
       self.assertEquals(
-          slave_info.files_location_nopatch,
-          'gs://dummy-bucket/output-dir/%s/nopatch-images' % slave_name)
+          worker_info.files_location_nopatch,
+          'gs://dummy-bucket/output-dir/%s/nopatch-images' % worker_name)
       self.assertEquals(
-          slave_info.files_location_diffs,
-          'gs://dummy-bucket/output-dir/%s/diffs' % slave_name)
+          worker_info.files_location_diffs,
+          'gs://dummy-bucket/output-dir/%s/diffs' % worker_name)
       self.assertEquals(
-          slave_info.files_location_whitediffs,
-          'gs://dummy-bucket/output-dir/%s/whitediffs' % slave_name)
+          worker_info.files_location_whitediffs,
+          'gs://dummy-bucket/output-dir/%s/whitediffs' % worker_name)
 
   def test_CombineJsonSummaries_NoDifferences(self):
-    slave_name_to_info = json_summary_combiner.CombineJsonSummaries(
+    worker_name_to_info = json_summary_combiner.CombineJsonSummaries(
         os.path.join(self._test_data_dir, 'no_output'))
-    self.assertEquals(slave_name_to_info, {})
+    self.assertEquals(worker_name_to_info, {})
 
-  def _get_test_slave_name_to_info(self):
-    slave_name_to_info = {
-        'slave1': json_summary_combiner.SlaveInfo(
-            slave_name='slave1',
+  def _get_test_worker_name_to_info(self):
+    worker_name_to_info = {
+        'worker1': json_summary_combiner.WorkerInfo(
+            worker_name='worker1',
             failed_files=[
                 json_summary_combiner.FileInfo(
-                    'fileslave1_1.png',
-                    'http://storage.cloud.google.com/dummy-bucket/skps/slave1/'
-                    'fileslave1_.skp',
+                    'fileworker1_1.png',
+                    'http://storage.cloud.google.com/dummy-bucket/skps/worker1/'
+                    'fileworker1_.skp',
                     111, 112, 114, 115),
                 json_summary_combiner.FileInfo(
-                    'fileslave1_2.png',
-                    'http://storage.cloud.google.com/dummy-bucket/skps/slave1/'
-                    'fileslave1_.skp',
+                    'fileworker1_2.png',
+                    'http://storage.cloud.google.com/dummy-bucket/skps/worker1/'
+                    'fileworker1_.skp',
                     121, 122, 124, 125)],
-            skps_location='gs://dummy-bucket/skps/slave1',
-            files_location_diffs='gs://dummy-bucket/slave1/diffs',
-            files_location_whitediffs='gs://dummy-bucket/slave1/whitediffs',
-            files_location_nopatch='gs://dummy-bucket/slave1/nopatch',
-            files_location_withpatch='gs://dummy-bucket/slave1/withpatch'),
-        'slave2': json_summary_combiner.SlaveInfo(
-            slave_name='slave2',
+            skps_location='gs://dummy-bucket/skps/worker1',
+            files_location_diffs='gs://dummy-bucket/worker1/diffs',
+            files_location_whitediffs='gs://dummy-bucket/worker1/whitediffs',
+            files_location_nopatch='gs://dummy-bucket/worker1/nopatch',
+            files_location_withpatch='gs://dummy-bucket/worker1/withpatch'),
+        'worker2': json_summary_combiner.WorkerInfo(
+            worker_name='worker2',
             failed_files=[
                 json_summary_combiner.FileInfo(
-                    'fileslave2_1.png',
-                    'http://storage.cloud.google.com/dummy-bucket/skps/slave2/'
-                    'fileslave2_.skp',
+                    'fileworker2_1.png',
+                    'http://storage.cloud.google.com/dummy-bucket/skps/worker2/'
+                    'fileworker2_.skp',
                     211, 212, 214, 215)],
-            skps_location='gs://dummy-bucket/skps/slave2',
-            files_location_diffs='gs://dummy-bucket/slave2/diffs',
-            files_location_whitediffs='gs://dummy-bucket/slave2/whitediffs',
-            files_location_nopatch='gs://dummy-bucket/slave2/nopatch',
-            files_location_withpatch='gs://dummy-bucket/slave2/withpatch'),
-        'slave3': json_summary_combiner.SlaveInfo(
-            slave_name='slave3',
+            skps_location='gs://dummy-bucket/skps/worker2',
+            files_location_diffs='gs://dummy-bucket/worker2/diffs',
+            files_location_whitediffs='gs://dummy-bucket/worker2/whitediffs',
+            files_location_nopatch='gs://dummy-bucket/worker2/nopatch',
+            files_location_withpatch='gs://dummy-bucket/worker2/withpatch'),
+        'worker3': json_summary_combiner.WorkerInfo(
+            worker_name='worker3',
             failed_files=[
                 json_summary_combiner.FileInfo(
-                    'fileslave3_1.png',
-                    'http://storage.cloud.google.com/dummy-bucket/skps/slave3/'
-                    'fileslave3_.skp',
+                    'fileworker3_1.png',
+                    'http://storage.cloud.google.com/dummy-bucket/skps/worker3/'
+                    'fileworker3_.skp',
                     311, 312, 314, 315),
                 json_summary_combiner.FileInfo(
-                    'fileslave3_2.png',
-                    'http://storage.cloud.google.com/dummy-bucket/skps/slave3/'
-                    'fileslave3_.skp',
+                    'fileworker3_2.png',
+                    'http://storage.cloud.google.com/dummy-bucket/skps/worker3/'
+                    'fileworker3_.skp',
                     321, 322, 324, 325),
                 json_summary_combiner.FileInfo(
-                    'fileslave3_3.png',
-                    'http://storage.cloud.google.com/dummy-bucket/skps/slave3/'
-                    'fileslave3_.skp',
+                    'fileworker3_3.png',
+                    'http://storage.cloud.google.com/dummy-bucket/skps/worker3/'
+                    'fileworker3_.skp',
                     331, 332, 334, 335),
                 json_summary_combiner.FileInfo(
-                    'fileslave3_4.png',
-                    'http://storage.cloud.google.com/dummy-bucket/skps/slave3/'
-                    'fileslave3_.skp',
+                    'fileworker3_4.png',
+                    'http://storage.cloud.google.com/dummy-bucket/skps/worker3/'
+                    'fileworker3_.skp',
                     341, 342, 344, 345)],
-            skps_location='gs://dummy-bucket/skps/slave3',
-            files_location_diffs='gs://dummy-bucket/slave3/diffs',
-            files_location_whitediffs='gs://dummy-bucket/slave3/whitediffs',
-            files_location_nopatch='gs://dummy-bucket/slave3/nopatch',
-            files_location_withpatch='gs://dummy-bucket/slave3/withpatch')
+            skps_location='gs://dummy-bucket/skps/worker3',
+            files_location_diffs='gs://dummy-bucket/worker3/diffs',
+            files_location_whitediffs='gs://dummy-bucket/worker3/whitediffs',
+            files_location_nopatch='gs://dummy-bucket/worker3/nopatch',
+            files_location_withpatch='gs://dummy-bucket/worker3/withpatch')
     }
-    return slave_name_to_info
+    return worker_name_to_info
 
   def test_OutputToHTML_WithDifferences_WithAbsoluteUrl(self):
-    slave_name_to_info = self._get_test_slave_name_to_info()
+    worker_name_to_info = self._get_test_worker_name_to_info()
     json_summary_combiner.OutputToHTML(
-        slave_name_to_info=slave_name_to_info,
+        worker_name_to_info=worker_name_to_info,
         output_html_dir=self._actual_html_dir,
         absolute_url=self._absolute_url,
         render_pictures_args=self._render_pictures_args,
@@ -143,18 +143,18 @@
     html_expected_dir = os.path.join(self._test_data_dir, 'html_outputs',
                                      'differences_with_url')
     for html_file in ('index.html', 'list_of_all_files.html',
-                      'fileslave1_1.png.html', 'fileslave1_2.png.html',
-                      'fileslave2_1.png.html', 'fileslave3_1.png.html',
-                      'fileslave3_2.png.html', 'fileslave3_3.png.html',
-                      'fileslave3_4.png.html'):
+                      'fileworker1_1.png.html', 'fileworker1_2.png.html',
+                      'fileworker2_1.png.html', 'fileworker3_1.png.html',
+                      'fileworker3_2.png.html', 'fileworker3_3.png.html',
+                      'fileworker3_4.png.html'):
       self.assertTrue(
           filecmp.cmp(os.path.join(html_expected_dir, html_file),
                       os.path.join(self._actual_html_dir, html_file)))
 
   def test_OutputToHTML_WithDifferences_WithNoUrl(self):
-    slave_name_to_info = self._get_test_slave_name_to_info()
+    worker_name_to_info = self._get_test_worker_name_to_info()
     json_summary_combiner.OutputToHTML(
-        slave_name_to_info=slave_name_to_info,
+        worker_name_to_info=worker_name_to_info,
         output_html_dir=self._actual_html_dir,
         absolute_url='',
         render_pictures_args=self._render_pictures_args,
@@ -164,17 +164,17 @@
     html_expected_dir = os.path.join(self._test_data_dir, 'html_outputs',
                                      'differences_no_url')
     for html_file in ('index.html', 'list_of_all_files.html',
-                      'fileslave1_1.png.html', 'fileslave1_2.png.html',
-                      'fileslave2_1.png.html', 'fileslave3_1.png.html',
-                      'fileslave3_2.png.html', 'fileslave3_3.png.html',
-                      'fileslave3_4.png.html'):
+                      'fileworker1_1.png.html', 'fileworker1_2.png.html',
+                      'fileworker2_1.png.html', 'fileworker3_1.png.html',
+                      'fileworker3_2.png.html', 'fileworker3_3.png.html',
+                      'fileworker3_4.png.html'):
       self.assertTrue(
           filecmp.cmp(os.path.join(html_expected_dir, html_file),
                       os.path.join(self._actual_html_dir, html_file)))
 
   def test_OutputToHTML_NoDifferences(self):
     json_summary_combiner.OutputToHTML(
-        slave_name_to_info={},
+        worker_name_to_info={},
         output_html_dir=self._actual_html_dir,
         absolute_url='',
         render_pictures_args=self._render_pictures_args,
diff --git a/ct/py/json_summary_constants.py b/ct/py/json_summary_constants.py
index c9b3f4c..8b7ec63 100644
--- a/ct/py/json_summary_constants.py
+++ b/ct/py/json_summary_constants.py
@@ -3,7 +3,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-"""Module that contains constants for the master/slave JSON summary scripts."""
+"""Module that contains constants for the master/worker JSON summary scripts."""
 
 
 JSONKEY_FAILED_FILES = 'failedFiles'
diff --git a/ct/py/test_data/combiner/differences/summary1.json b/ct/py/test_data/combiner/differences/summary1.json
index c6bf949..eedcdb4 100644
--- a/ct/py/test_data/combiner/differences/summary1.json
+++ b/ct/py/test_data/combiner/differences/summary1.json
@@ -1,17 +1,17 @@
 {
-    "slave1": {
+    "worker1": {
         "failedFiles": [
                 {
-                    "fileName": "fileslave1_1.png",
-                    "skpLocation": "gs://dummy-bucket/skps/slave1/fileslave1_.skp",
+                    "fileName": "fileworker1_1.png",
+                    "skpLocation": "gs://dummy-bucket/skps/worker1/fileworker1_.skp",
                     "numPixelsDiffering": 111,
                     "percentPixelsDiffering": 112,
                     "maxDiffPerChannel": 114,
                     "perceptualDiff": 115
                 }, 
                 {
-                    "fileName": "fileslave1_2.png",
-                    "skpLocation": "gs://dummy-bucket/skps/slave1/fileslave1_.skp",
+                    "fileName": "fileworker1_2.png",
+                    "skpLocation": "gs://dummy-bucket/skps/worker1/fileworker1_.skp",
                     "numPixelsDiffering": 121,
                     "percentPixelsDiffering": 122,
                     "maxDiffPerChannel": 124,
@@ -19,10 +19,10 @@
                 }
         ], 
         "failedFilesCount": 2, 
-        "filesLocationNopatch": "gs://dummy-bucket/output-dir/slave1/nopatch-images", 
-        "filesLocationWithpatch": "gs://dummy-bucket/output-dir/slave1/withpatch-images", 
-        "filesLocationDiffs": "gs://dummy-bucket/output-dir/slave1/diffs", 
-        "filesLocationWhiteDiffs": "gs://dummy-bucket/output-dir/slave1/whitediffs", 
-        "skpsLocation": "gs://dummy-bucket/skps/slave1"
+        "filesLocationNopatch": "gs://dummy-bucket/output-dir/worker1/nopatch-images", 
+        "filesLocationWithpatch": "gs://dummy-bucket/output-dir/worker1/withpatch-images", 
+        "filesLocationDiffs": "gs://dummy-bucket/output-dir/worker1/diffs", 
+        "filesLocationWhiteDiffs": "gs://dummy-bucket/output-dir/worker1/whitediffs", 
+        "skpsLocation": "gs://dummy-bucket/skps/worker1"
     }
 }
diff --git a/ct/py/test_data/combiner/differences/summary2.json b/ct/py/test_data/combiner/differences/summary2.json
index cdb2de46..06c7293 100644
--- a/ct/py/test_data/combiner/differences/summary2.json
+++ b/ct/py/test_data/combiner/differences/summary2.json
@@ -1,17 +1,17 @@
 {
-    "slave2": {
+    "worker2": {
         "failedFiles": [
                 {
-                    "fileName": "fileslave2_1.png",
-                    "skpLocation": "gs://dummy-bucket/skps/slave2/fileslave2_.skp",
+                    "fileName": "fileworker2_1.png",
+                    "skpLocation": "gs://dummy-bucket/skps/worker2/fileworker2_.skp",
                     "numPixelsDiffering": 211,                                   
                     "percentPixelsDiffering": 212,                               
                     "maxDiffPerChannel": 214,
                     "perceptualDiff": 215
                 }, 
                 {
-                    "fileName": "fileslave2_2.png",
-                    "skpLocation": "gs://dummy-bucket/skps/slave2/fileslave2_.skp",
+                    "fileName": "fileworker2_2.png",
+                    "skpLocation": "gs://dummy-bucket/skps/worker2/fileworker2_.skp",
                     "numPixelsDiffering": 221,                                   
                     "percentPixelsDiffering": 222,                               
                     "maxDiffPerChannel": 224,
@@ -19,10 +19,10 @@
                 }
         ], 
         "failedFilesCount": 2, 
-        "filesLocationNopatch": "gs://dummy-bucket/output-dir/slave2/nopatch-images", 
-        "filesLocationWithpatch": "gs://dummy-bucket/output-dir/slave2/withpatch-images", 
-        "filesLocationDiffs": "gs://dummy-bucket/output-dir/slave2/diffs",      
-        "filesLocationWhiteDiffs": "gs://dummy-bucket/output-dir/slave2/whitediffs",
-        "skpsLocation": "gs://dummy-bucket/skps/slave2"
+        "filesLocationNopatch": "gs://dummy-bucket/output-dir/worker2/nopatch-images", 
+        "filesLocationWithpatch": "gs://dummy-bucket/output-dir/worker2/withpatch-images", 
+        "filesLocationDiffs": "gs://dummy-bucket/output-dir/worker2/diffs",      
+        "filesLocationWhiteDiffs": "gs://dummy-bucket/output-dir/worker2/whitediffs",
+        "skpsLocation": "gs://dummy-bucket/skps/worker2"
     }
 }
diff --git a/ct/py/test_data/combiner/differences/summary3.json b/ct/py/test_data/combiner/differences/summary3.json
index c43c641..b3d12ff 100644
--- a/ct/py/test_data/combiner/differences/summary3.json
+++ b/ct/py/test_data/combiner/differences/summary3.json
@@ -1,17 +1,17 @@
 {
-    "slave3": {
+    "worker3": {
         "failedFiles": [
                 {
-                    "fileName": "fileslave3_1.png",
-                    "skpLocation": "gs://dummy-bucket/skps/slave3/fileslave3_.skp",
+                    "fileName": "fileworker3_1.png",
+                    "skpLocation": "gs://dummy-bucket/skps/worker3/fileworker3_.skp",
                     "numPixelsDiffering": 311,                                   
                     "percentPixelsDiffering": 312,                               
                     "maxDiffPerChannel": 314,
                     "perceptualDiff": 315
                 }, 
                 {
-                    "fileName": "fileslave3_2.png",
-                    "skpLocation": "gs://dummy-bucket/skps/slave3/fileslave3_.skp",
+                    "fileName": "fileworker3_2.png",
+                    "skpLocation": "gs://dummy-bucket/skps/worker3/fileworker3_.skp",
                     "numPixelsDiffering": 321,                                   
                     "percentPixelsDiffering": 322,                               
                     "maxDiffPerChannel": 324,
@@ -19,10 +19,10 @@
                 }
         ], 
         "failedFilesCount": 2, 
-        "filesLocationNopatch": "gs://dummy-bucket/output-dir/slave3/nopatch-images", 
-        "filesLocationWithpatch": "gs://dummy-bucket/output-dir/slave3/withpatch-images", 
-        "filesLocationDiffs": "gs://dummy-bucket/output-dir/slave3/diffs",      
-        "filesLocationWhiteDiffs": "gs://dummy-bucket/output-dir/slave3/whitediffs",
-        "skpsLocation": "gs://dummy-bucket/skps/slave3"
+        "filesLocationNopatch": "gs://dummy-bucket/output-dir/worker3/nopatch-images", 
+        "filesLocationWithpatch": "gs://dummy-bucket/output-dir/worker3/withpatch-images", 
+        "filesLocationDiffs": "gs://dummy-bucket/output-dir/worker3/diffs",      
+        "filesLocationWhiteDiffs": "gs://dummy-bucket/output-dir/worker3/whitediffs",
+        "skpsLocation": "gs://dummy-bucket/skps/worker3"
     }
 }
diff --git a/ct/py/test_data/combiner/differences/summary4.json b/ct/py/test_data/combiner/differences/summary4.json
index 17fcc01..a97aa39 100644
--- a/ct/py/test_data/combiner/differences/summary4.json
+++ b/ct/py/test_data/combiner/differences/summary4.json
@@ -1,17 +1,17 @@
 {
-    "slave4": {
+    "worker4": {
         "failedFiles": [
                 {
-                    "fileName": "fileslave4_1.png",
-                    "skpLocation": "gs://dummy-bucket/skps/slave4/fileslave4_.skp",
+                    "fileName": "fileworker4_1.png",
+                    "skpLocation": "gs://dummy-bucket/skps/worker4/fileworker4_.skp",
                     "numPixelsDiffering": 411,                                   
                     "percentPixelsDiffering": 412,                               
                     "maxDiffPerChannel": 414,
                     "perceptualDiff": 415
                 }, 
                 {
-                    "fileName": "fileslave4_2.png",
-                    "skpLocation": "gs://dummy-bucket/skps/slave4/fileslave4_.skp",
+                    "fileName": "fileworker4_2.png",
+                    "skpLocation": "gs://dummy-bucket/skps/worker4/fileworker4_.skp",
                     "numPixelsDiffering": 421,                                   
                     "percentPixelsDiffering": 422,                               
                     "maxDiffPerChannel": 424,
@@ -19,10 +19,10 @@
                 }
         ], 
         "failedFilesCount": 2, 
-        "filesLocationNopatch": "gs://dummy-bucket/output-dir/slave4/nopatch-images", 
-        "filesLocationWithpatch": "gs://dummy-bucket/output-dir/slave4/withpatch-images", 
-        "filesLocationDiffs": "gs://dummy-bucket/output-dir/slave4/diffs",      
-        "filesLocationWhiteDiffs": "gs://dummy-bucket/output-dir/slave4/whitediffs",
-        "skpsLocation": "gs://dummy-bucket/skps/slave4"
+        "filesLocationNopatch": "gs://dummy-bucket/output-dir/worker4/nopatch-images", 
+        "filesLocationWithpatch": "gs://dummy-bucket/output-dir/worker4/withpatch-images", 
+        "filesLocationDiffs": "gs://dummy-bucket/output-dir/worker4/diffs",      
+        "filesLocationWhiteDiffs": "gs://dummy-bucket/output-dir/worker4/whitediffs",
+        "skpsLocation": "gs://dummy-bucket/skps/worker4"
     }
 }
diff --git a/ct/py/test_data/combiner/differences/summary5.json b/ct/py/test_data/combiner/differences/summary5.json
index fe6a9c1..6431f41 100644
--- a/ct/py/test_data/combiner/differences/summary5.json
+++ b/ct/py/test_data/combiner/differences/summary5.json
@@ -1,17 +1,17 @@
 {
-    "slave5": {
+    "worker5": {
         "failedFiles": [
                 {
-                    "fileName": "fileslave5_1.png",
-                    "skpLocation": "gs://dummy-bucket/skps/slave5/fileslave5_.skp",
+                    "fileName": "fileworker5_1.png",
+                    "skpLocation": "gs://dummy-bucket/skps/worker5/fileworker5_.skp",
                     "numPixelsDiffering": 511,                                   
                     "percentPixelsDiffering": 512,                               
                     "maxDiffPerChannel": 514,
                     "perceptualDiff": 515
                 }, 
                 {
-                    "fileName": "fileslave5_2.png",
-                    "skpLocation": "gs://dummy-bucket/skps/slave5/fileslave5_.skp",
+                    "fileName": "fileworker5_2.png",
+                    "skpLocation": "gs://dummy-bucket/skps/worker5/fileworker5_.skp",
                     "numPixelsDiffering": 521,                                   
                     "percentPixelsDiffering": 522,                               
                     "maxDiffPerChannel": 524,
@@ -19,10 +19,10 @@
                 }
         ], 
         "failedFilesCount": 2, 
-        "filesLocationNopatch": "gs://dummy-bucket/output-dir/slave5/nopatch-images", 
-        "filesLocationWithpatch": "gs://dummy-bucket/output-dir/slave5/withpatch-images", 
-        "filesLocationDiffs": "gs://dummy-bucket/output-dir/slave5/diffs",      
-        "filesLocationWhiteDiffs": "gs://dummy-bucket/output-dir/slave5/whitediffs",
-        "skpsLocation": "gs://dummy-bucket/skps/slave5"
+        "filesLocationNopatch": "gs://dummy-bucket/output-dir/worker5/nopatch-images", 
+        "filesLocationWithpatch": "gs://dummy-bucket/output-dir/worker5/withpatch-images", 
+        "filesLocationDiffs": "gs://dummy-bucket/output-dir/worker5/diffs",      
+        "filesLocationWhiteDiffs": "gs://dummy-bucket/output-dir/worker5/whitediffs",
+        "skpsLocation": "gs://dummy-bucket/skps/worker5"
     }
 }
diff --git a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave1_1.png.html b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker1_1.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave1_1.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker1_1.png.html
index 34dc434..85f5066 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave1_1.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker1_1.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave1_1.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave1/fileslave1_.skp'>Download SKP</a>
+            <a>fileworker1_1.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker1/fileworker1_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/nopatch/fileslave1_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/nopatch/fileworker1_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/nopatch/fileslave1_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/nopatch/fileworker1_1.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/withpatch/fileslave1_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/withpatch/fileworker1_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/withpatch/fileslave1_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/withpatch/fileworker1_1.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>112</a>% (111)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/whitediffs/fileslave1_1_nopatch_png-vs-fileslave1_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/whitediffs/fileworker1_1_nopatch_png-vs-fileworker1_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/whitediffs/fileslave1_1_nopatch_png-vs-fileslave1_1_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/whitediffs/fileworker1_1_nopatch_png-vs-fileworker1_1_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>115</a>% (perceptual diff) | 114
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/diffs/fileslave1_1_nopatch_png-vs-fileslave1_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/diffs/fileworker1_1_nopatch_png-vs-fileworker1_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/diffs/fileslave1_1_nopatch_png-vs-fileslave1_1_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/diffs/fileworker1_1_nopatch_png-vs-fileworker1_1_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave1_2.png.html b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker1_2.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave1_2.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker1_2.png.html
index 8a724d2..4d76044 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave1_2.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker1_2.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave1_2.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave1/fileslave1_.skp'>Download SKP</a>
+            <a>fileworker1_2.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker1/fileworker1_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/nopatch/fileslave1_2.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/nopatch/fileworker1_2.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/nopatch/fileslave1_2.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/nopatch/fileworker1_2.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/withpatch/fileslave1_2.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/withpatch/fileworker1_2.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/withpatch/fileslave1_2.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/withpatch/fileworker1_2.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>122</a>% (121)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/whitediffs/fileslave1_2_nopatch_png-vs-fileslave1_2_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/whitediffs/fileworker1_2_nopatch_png-vs-fileworker1_2_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/whitediffs/fileslave1_2_nopatch_png-vs-fileslave1_2_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/whitediffs/fileworker1_2_nopatch_png-vs-fileworker1_2_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>125</a>% (perceptual diff) | 124
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/diffs/fileslave1_2_nopatch_png-vs-fileslave1_2_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/diffs/fileworker1_2_nopatch_png-vs-fileworker1_2_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/diffs/fileslave1_2_nopatch_png-vs-fileslave1_2_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/diffs/fileworker1_2_nopatch_png-vs-fileworker1_2_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave2_1.png.html b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker2_1.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave2_1.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker2_1.png.html
index f1f9145..1671762 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave2_1.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker2_1.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave2_1.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave2/fileslave2_.skp'>Download SKP</a>
+            <a>fileworker2_1.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker2/fileworker2_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave2/nopatch/fileslave2_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker2/nopatch/fileworker2_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave2/nopatch/fileslave2_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker2/nopatch/fileworker2_1.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave2/withpatch/fileslave2_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker2/withpatch/fileworker2_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave2/withpatch/fileslave2_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker2/withpatch/fileworker2_1.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>212</a>% (211)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave2/whitediffs/fileslave2_1_nopatch_png-vs-fileslave2_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker2/whitediffs/fileworker2_1_nopatch_png-vs-fileworker2_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave2/whitediffs/fileslave2_1_nopatch_png-vs-fileslave2_1_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker2/whitediffs/fileworker2_1_nopatch_png-vs-fileworker2_1_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>215</a>% (perceptual diff) | 214
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave2/diffs/fileslave2_1_nopatch_png-vs-fileslave2_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker2/diffs/fileworker2_1_nopatch_png-vs-fileworker2_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave2/diffs/fileslave2_1_nopatch_png-vs-fileslave2_1_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker2/diffs/fileworker2_1_nopatch_png-vs-fileworker2_1_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_1.png.html b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_1.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_1.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_1.png.html
index 0cbf73c..9e8e3be 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_1.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_1.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave3_1.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave3/fileslave3_.skp'>Download SKP</a>
+            <a>fileworker3_1.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker3/fileworker3_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_1.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_1.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>312</a>% (311)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_1_nopatch_png-vs-fileslave3_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_1_nopatch_png-vs-fileworker3_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_1_nopatch_png-vs-fileslave3_1_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_1_nopatch_png-vs-fileworker3_1_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>315</a>% (perceptual diff) | 314
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_1_nopatch_png-vs-fileslave3_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_1_nopatch_png-vs-fileworker3_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_1_nopatch_png-vs-fileslave3_1_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_1_nopatch_png-vs-fileworker3_1_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_2.png.html b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_2.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_2.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_2.png.html
index 99db97f..efdcebe 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_2.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_2.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave3_2.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave3/fileslave3_.skp'>Download SKP</a>
+            <a>fileworker3_2.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker3/fileworker3_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_2.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_2.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_2.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_2.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_2.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_2.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_2.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_2.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>322</a>% (321)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_2_nopatch_png-vs-fileslave3_2_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_2_nopatch_png-vs-fileworker3_2_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_2_nopatch_png-vs-fileslave3_2_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_2_nopatch_png-vs-fileworker3_2_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>325</a>% (perceptual diff) | 324
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_2_nopatch_png-vs-fileslave3_2_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_2_nopatch_png-vs-fileworker3_2_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_2_nopatch_png-vs-fileslave3_2_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_2_nopatch_png-vs-fileworker3_2_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_3.png.html b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_3.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_3.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_3.png.html
index 2bc7360..a1000ad 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_3.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_3.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave3_3.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave3/fileslave3_.skp'>Download SKP</a>
+            <a>fileworker3_3.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker3/fileworker3_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_3.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_3.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_3.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_3.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_3.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_3.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_3.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_3.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>332</a>% (331)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_3_nopatch_png-vs-fileslave3_3_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_3_nopatch_png-vs-fileworker3_3_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_3_nopatch_png-vs-fileslave3_3_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_3_nopatch_png-vs-fileworker3_3_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>335</a>% (perceptual diff) | 334
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_3_nopatch_png-vs-fileslave3_3_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_3_nopatch_png-vs-fileworker3_3_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_3_nopatch_png-vs-fileslave3_3_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_3_nopatch_png-vs-fileworker3_3_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_4.png.html b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_4.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_4.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_4.png.html
index 818c9c8..7b97b6c 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_no_url/fileslave3_4.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_no_url/fileworker3_4.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave3_4.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave3/fileslave3_.skp'>Download SKP</a>
+            <a>fileworker3_4.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker3/fileworker3_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_4.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_4.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_4.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_4.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_4.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_4.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_4.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_4.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>342</a>% (341)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_4_nopatch_png-vs-fileslave3_4_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_4_nopatch_png-vs-fileworker3_4_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_4_nopatch_png-vs-fileslave3_4_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_4_nopatch_png-vs-fileworker3_4_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>345</a>% (perceptual diff) | 344
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_4_nopatch_png-vs-fileslave3_4_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_4_nopatch_png-vs-fileworker3_4_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_4_nopatch_png-vs-fileslave3_4_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_4_nopatch_png-vs-fileworker3_4_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_no_url/index.html b/ct/py/test_data/combiner/html_outputs/differences_no_url/index.html
index f260637..b179a06 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_no_url/index.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_no_url/index.html
@@ -16,22 +16,22 @@
 
     <table border="1" cellpadding="5">
       <tr bgcolor="#CCCCFF">
-        <th>Slave</th>
+        <th>Worker</th>
         <th>Total failing files</th>
       </tr>
       
         <tr>
-          <td>slave1</td>
+          <td>worker1</td>
           <td align="center">2</td>
         </tr>
       
         <tr>
-          <td>slave2</td>
+          <td>worker2</td>
           <td align="center">1</td>
         </tr>
       
         <tr>
-          <td>slave3</td>
+          <td>worker3</td>
           <td align="center">4</td>
         </tr>
       
diff --git a/ct/py/test_data/combiner/html_outputs/differences_no_url/list_of_all_files.html b/ct/py/test_data/combiner/html_outputs/differences_no_url/list_of_all_files.html
index 71dc0d3..9f8028e 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_no_url/list_of_all_files.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_no_url/list_of_all_files.html
@@ -12,7 +12,7 @@
     Click on a filename to view its images.<br/>
     Click on the linked column headers to sort rows.<br/><br/>
 
-    <table border="1" cellpadding="5" id="slave_results">
+    <table border="1" cellpadding="5" id="worker_results">
       <thead>
       <tr bgcolor="#CCCCFF">
         <th><a href="#" onclick="sortRows(0, false, [0, 1, 2, 3]); return false;">Failed Files</a><img src="" id="toggle-arrows-0"></th>
@@ -26,7 +26,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='fileslave1_1.png.html'>fileslave1_1.png</a>
+            <a id='compare_value' href='fileworker1_1.png.html'>fileworker1_1.png</a>
           </td>
           <td>
             <a id='compare_value'>115</a>% (115)
@@ -41,7 +41,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='fileslave1_2.png.html'>fileslave1_2.png</a>
+            <a id='compare_value' href='fileworker1_2.png.html'>fileworker1_2.png</a>
           </td>
           <td>
             <a id='compare_value'>125</a>% (125)
@@ -58,7 +58,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='fileslave2_1.png.html'>fileslave2_1.png</a>
+            <a id='compare_value' href='fileworker2_1.png.html'>fileworker2_1.png</a>
           </td>
           <td>
             <a id='compare_value'>215</a>% (215)
@@ -75,7 +75,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='fileslave3_1.png.html'>fileslave3_1.png</a>
+            <a id='compare_value' href='fileworker3_1.png.html'>fileworker3_1.png</a>
           </td>
           <td>
             <a id='compare_value'>315</a>% (315)
@@ -90,7 +90,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='fileslave3_2.png.html'>fileslave3_2.png</a>
+            <a id='compare_value' href='fileworker3_2.png.html'>fileworker3_2.png</a>
           </td>
           <td>
             <a id='compare_value'>325</a>% (325)
@@ -105,7 +105,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='fileslave3_3.png.html'>fileslave3_3.png</a>
+            <a id='compare_value' href='fileworker3_3.png.html'>fileworker3_3.png</a>
           </td>
           <td>
             <a id='compare_value'>335</a>% (335)
@@ -120,7 +120,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='fileslave3_4.png.html'>fileslave3_4.png</a>
+            <a id='compare_value' href='fileworker3_4.png.html'>fileworker3_4.png</a>
           </td>
           <td>
             <a id='compare_value'>345</a>% (345)
diff --git a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave1_1.png.html b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker1_1.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave1_1.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker1_1.png.html
index 3dc063b..1e5f060 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave1_1.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker1_1.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave1_1.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave1/fileslave1_.skp'>Download SKP</a>
+            <a>fileworker1_1.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker1/fileworker1_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/nopatch/fileslave1_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/nopatch/fileworker1_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/nopatch/fileslave1_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/nopatch/fileworker1_1.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/withpatch/fileslave1_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/withpatch/fileworker1_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/withpatch/fileslave1_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/withpatch/fileworker1_1.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>112</a>% (111)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/whitediffs/fileslave1_1_nopatch_png-vs-fileslave1_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/whitediffs/fileworker1_1_nopatch_png-vs-fileworker1_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/whitediffs/fileslave1_1_nopatch_png-vs-fileslave1_1_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/whitediffs/fileworker1_1_nopatch_png-vs-fileworker1_1_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>115</a>% (perceptual diff) | 114
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/diffs/fileslave1_1_nopatch_png-vs-fileslave1_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/diffs/fileworker1_1_nopatch_png-vs-fileworker1_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/diffs/fileslave1_1_nopatch_png-vs-fileslave1_1_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/diffs/fileworker1_1_nopatch_png-vs-fileworker1_1_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave1_2.png.html b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker1_2.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave1_2.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker1_2.png.html
index 1a346ad..f64fd78 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave1_2.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker1_2.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave1_2.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave1/fileslave1_.skp'>Download SKP</a>
+            <a>fileworker1_2.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker1/fileworker1_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/nopatch/fileslave1_2.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/nopatch/fileworker1_2.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/nopatch/fileslave1_2.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/nopatch/fileworker1_2.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/withpatch/fileslave1_2.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/withpatch/fileworker1_2.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/withpatch/fileslave1_2.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/withpatch/fileworker1_2.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>122</a>% (121)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/whitediffs/fileslave1_2_nopatch_png-vs-fileslave1_2_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/whitediffs/fileworker1_2_nopatch_png-vs-fileworker1_2_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/whitediffs/fileslave1_2_nopatch_png-vs-fileslave1_2_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/whitediffs/fileworker1_2_nopatch_png-vs-fileworker1_2_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>125</a>% (perceptual diff) | 124
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave1/diffs/fileslave1_2_nopatch_png-vs-fileslave1_2_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker1/diffs/fileworker1_2_nopatch_png-vs-fileworker1_2_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave1/diffs/fileslave1_2_nopatch_png-vs-fileslave1_2_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker1/diffs/fileworker1_2_nopatch_png-vs-fileworker1_2_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave2_1.png.html b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker2_1.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave2_1.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker2_1.png.html
index d69f134..29d9d25 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave2_1.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker2_1.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave2_1.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave2/fileslave2_.skp'>Download SKP</a>
+            <a>fileworker2_1.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker2/fileworker2_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave2/nopatch/fileslave2_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker2/nopatch/fileworker2_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave2/nopatch/fileslave2_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker2/nopatch/fileworker2_1.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave2/withpatch/fileslave2_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker2/withpatch/fileworker2_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave2/withpatch/fileslave2_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker2/withpatch/fileworker2_1.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>212</a>% (211)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave2/whitediffs/fileslave2_1_nopatch_png-vs-fileslave2_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker2/whitediffs/fileworker2_1_nopatch_png-vs-fileworker2_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave2/whitediffs/fileslave2_1_nopatch_png-vs-fileslave2_1_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker2/whitediffs/fileworker2_1_nopatch_png-vs-fileworker2_1_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>215</a>% (perceptual diff) | 214
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave2/diffs/fileslave2_1_nopatch_png-vs-fileslave2_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker2/diffs/fileworker2_1_nopatch_png-vs-fileworker2_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave2/diffs/fileslave2_1_nopatch_png-vs-fileslave2_1_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker2/diffs/fileworker2_1_nopatch_png-vs-fileworker2_1_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_1.png.html b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_1.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_1.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_1.png.html
index 5208266..5f85e18 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_1.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_1.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave3_1.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave3/fileslave3_.skp'>Download SKP</a>
+            <a>fileworker3_1.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker3/fileworker3_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_1.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_1.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_1.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_1.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_1.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>312</a>% (311)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_1_nopatch_png-vs-fileslave3_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_1_nopatch_png-vs-fileworker3_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_1_nopatch_png-vs-fileslave3_1_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_1_nopatch_png-vs-fileworker3_1_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>315</a>% (perceptual diff) | 314
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_1_nopatch_png-vs-fileslave3_1_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_1_nopatch_png-vs-fileworker3_1_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_1_nopatch_png-vs-fileslave3_1_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_1_nopatch_png-vs-fileworker3_1_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_2.png.html b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_2.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_2.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_2.png.html
index 7fc6450..a99aa9b 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_2.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_2.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave3_2.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave3/fileslave3_.skp'>Download SKP</a>
+            <a>fileworker3_2.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker3/fileworker3_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_2.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_2.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_2.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_2.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_2.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_2.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_2.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_2.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>322</a>% (321)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_2_nopatch_png-vs-fileslave3_2_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_2_nopatch_png-vs-fileworker3_2_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_2_nopatch_png-vs-fileslave3_2_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_2_nopatch_png-vs-fileworker3_2_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>325</a>% (perceptual diff) | 324
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_2_nopatch_png-vs-fileslave3_2_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_2_nopatch_png-vs-fileworker3_2_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_2_nopatch_png-vs-fileslave3_2_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_2_nopatch_png-vs-fileworker3_2_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_3.png.html b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_3.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_3.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_3.png.html
index 80bc7e2..a158c03 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_3.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_3.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave3_3.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave3/fileslave3_.skp'>Download SKP</a>
+            <a>fileworker3_3.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker3/fileworker3_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_3.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_3.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_3.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_3.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_3.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_3.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_3.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_3.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>332</a>% (331)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_3_nopatch_png-vs-fileslave3_3_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_3_nopatch_png-vs-fileworker3_3_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_3_nopatch_png-vs-fileslave3_3_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_3_nopatch_png-vs-fileworker3_3_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>335</a>% (perceptual diff) | 334
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_3_nopatch_png-vs-fileslave3_3_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_3_nopatch_png-vs-fileworker3_3_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_3_nopatch_png-vs-fileslave3_3_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_3_nopatch_png-vs-fileworker3_3_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_4.png.html b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_4.png.html
similarity index 78%
rename from ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_4.png.html
rename to ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_4.png.html
index 8f17694..2d9d21b 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_with_url/fileslave3_4.png.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_with_url/fileworker3_4.png.html
@@ -24,40 +24,40 @@
       <tbody>
         <tr ng-controller="ImageController">
           <td align="center">
-            <a>fileslave3_4.png</a><br/>
-            <a href='http://storage.cloud.google.com/dummy-bucket/skps/slave3/fileslave3_.skp'>Download SKP</a>
+            <a>fileworker3_4.png</a><br/>
+            <a href='http://storage.cloud.google.com/dummy-bucket/skps/worker3/fileworker3_.skp'>Download SKP</a>
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_4.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_4.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="baseline"
                          name="baseline"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/nopatch/fileslave3_4.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/nopatch/fileworker3_4.png"
                          class="gm-image left-image" />
           </td>
           <td>
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_4.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_4.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="test"
                          name="test"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/withpatch/fileslave3_4.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/withpatch/fileworker3_4.png"
                          class="gm-image right-image" />
           </td>
           <td>
             <a id='compare_value'>342</a>% (341)
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_4_nopatch_png-vs-fileslave3_4_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_4_nopatch_png-vs-fileworker3_4_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differingPixelsInWhite"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/whitediffs/fileslave3_4_nopatch_png-vs-fileslave3_4_withpatch_png.png" />
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/whitediffs/fileworker3_4_nopatch_png-vs-fileworker3_4_withpatch_png.png" />
           </td>
           <td>
             <a id='compare_value'>345</a>% (perceptual diff) | 344
-            <a href='http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_4_nopatch_png-vs-fileslave3_4_withpatch_png.png' target="_blank">View Image</a>
+            <a href='http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_4_nopatch_png-vs-fileworker3_4_withpatch_png.png' target="_blank">View Image</a>
             <br/>
             <img-compare type="differencePerPixel"
                          class="left-image"
-                         src="http://storage.cloud.google.com/dummy-bucket/slave3/diffs/fileslave3_4_nopatch_png-vs-fileslave3_4_withpatch_png.png"
+                         src="http://storage.cloud.google.com/dummy-bucket/worker3/diffs/fileworker3_4_nopatch_png-vs-fileworker3_4_withpatch_png.png"
                          ng-mousedown="MagnifyDraw($event, true)"
                          ng-mousemove="MagnifyDraw($event, false)"
                          ng-mouseup="MagnifyEnd($event)"
diff --git a/ct/py/test_data/combiner/html_outputs/differences_with_url/index.html b/ct/py/test_data/combiner/html_outputs/differences_with_url/index.html
index cbe211e..6553467 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_with_url/index.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_with_url/index.html
@@ -16,22 +16,22 @@
 
     <table border="1" cellpadding="5">
       <tr bgcolor="#CCCCFF">
-        <th>Slave</th>
+        <th>Worker</th>
         <th>Total failing files</th>
       </tr>
       
         <tr>
-          <td>slave1</td>
+          <td>worker1</td>
           <td align="center">2</td>
         </tr>
       
         <tr>
-          <td>slave2</td>
+          <td>worker2</td>
           <td align="center">1</td>
         </tr>
       
         <tr>
-          <td>slave3</td>
+          <td>worker3</td>
           <td align="center">4</td>
         </tr>
       
diff --git a/ct/py/test_data/combiner/html_outputs/differences_with_url/list_of_all_files.html b/ct/py/test_data/combiner/html_outputs/differences_with_url/list_of_all_files.html
index ce9ac03..c5b1793 100644
--- a/ct/py/test_data/combiner/html_outputs/differences_with_url/list_of_all_files.html
+++ b/ct/py/test_data/combiner/html_outputs/differences_with_url/list_of_all_files.html
@@ -12,7 +12,7 @@
     Click on a filename to view its images.<br/>
     Click on the linked column headers to sort rows.<br/><br/>
 
-    <table border="1" cellpadding="5" id="slave_results">
+    <table border="1" cellpadding="5" id="worker_results">
       <thead>
       <tr bgcolor="#CCCCFF">
         <th><a href="#" onclick="sortRows(0, false, [0, 1, 2, 3]); return false;">Failed Files</a><img src="" id="toggle-arrows-0"></th>
@@ -26,7 +26,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='http://dummy-link.foobar/fileslave1_1.png.html'>fileslave1_1.png</a>
+            <a id='compare_value' href='http://dummy-link.foobar/fileworker1_1.png.html'>fileworker1_1.png</a>
           </td>
           <td>
             <a id='compare_value'>115</a>% (115)
@@ -41,7 +41,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='http://dummy-link.foobar/fileslave1_2.png.html'>fileslave1_2.png</a>
+            <a id='compare_value' href='http://dummy-link.foobar/fileworker1_2.png.html'>fileworker1_2.png</a>
           </td>
           <td>
             <a id='compare_value'>125</a>% (125)
@@ -58,7 +58,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='http://dummy-link.foobar/fileslave2_1.png.html'>fileslave2_1.png</a>
+            <a id='compare_value' href='http://dummy-link.foobar/fileworker2_1.png.html'>fileworker2_1.png</a>
           </td>
           <td>
             <a id='compare_value'>215</a>% (215)
@@ -75,7 +75,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='http://dummy-link.foobar/fileslave3_1.png.html'>fileslave3_1.png</a>
+            <a id='compare_value' href='http://dummy-link.foobar/fileworker3_1.png.html'>fileworker3_1.png</a>
           </td>
           <td>
             <a id='compare_value'>315</a>% (315)
@@ -90,7 +90,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='http://dummy-link.foobar/fileslave3_2.png.html'>fileslave3_2.png</a>
+            <a id='compare_value' href='http://dummy-link.foobar/fileworker3_2.png.html'>fileworker3_2.png</a>
           </td>
           <td>
             <a id='compare_value'>325</a>% (325)
@@ -105,7 +105,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='http://dummy-link.foobar/fileslave3_3.png.html'>fileslave3_3.png</a>
+            <a id='compare_value' href='http://dummy-link.foobar/fileworker3_3.png.html'>fileworker3_3.png</a>
           </td>
           <td>
             <a id='compare_value'>335</a>% (335)
@@ -120,7 +120,7 @@
         
         <tr>
           <td align="center">
-            <a id='compare_value' href='http://dummy-link.foobar/fileslave3_4.png.html'>fileslave3_4.png</a>
+            <a id='compare_value' href='http://dummy-link.foobar/fileworker3_4.png.html'>fileworker3_4.png</a>
           </td>
           <td>
             <a id='compare_value'>345</a>% (345)
diff --git a/ct/py/test_data/csv_comparer/discard_outliers/index.html b/ct/py/test_data/csv_comparer/discard_outliers/index.html
index b4f2859..ef362e2 100644
--- a/ct/py/test_data/csv_comparer/discard_outliers/index.html
+++ b/ct/py/test_data/csv_comparer/discard_outliers/index.html
@@ -19,7 +19,7 @@
     This report was created on 2014-05-19 16:50 UTC
     <br/>
     <br/>
-    The run was done on Android slaves using the Mobile10k page set
+    The run was done on Android workers using the Mobile10k page set
     <br/>
     The run was done using Chromium commit hash <a href='https://chromium.googlesource.com/chromium/src/+show/abcdefg1234567'>abcdefg</a> and Skia commit hash <a href='https://skia.googlesource.com/skia/+show/tuvwxyz1234567'>tuvwxyz</a>
     <br/>
@@ -35,13 +35,13 @@
     Read <a href="https://docs.google.com/a/chromium.org/document/d/1GhqosQcwsy6F-eBAmFn_ITDF7_Iv_rY9FhCKwAnk9qQ/edit?pli=1#heading=h.lgvqzgu7bc4d">this</a> for an explanation of CT's accuracy of results.
     <br/>
     
-      <br/><b>Note:</b> The following slaves are down and their results are missing from the report: <b>build1-b5 build10-b5</b><br/>
+      <br/><b>Note:</b> The following workers are down and their results are missing from the report: <b>build1-b5 build10-b5</b><br/>
     
     
-      <br/><b>Note:</b> Android devices in the following slaves are down and their results are missing from the report: <b>build99-b5 build100-b5</b><br/>
+      <br/><b>Note:</b> Android devices in the following workers are down and their results are missing from the report: <b>build99-b5 build100-b5</b><br/>
     
     
-      <br/><b>Note:</b> The following slaves failed to report their results:
+      <br/><b>Note:</b> The following workers failed to report their results:
           
             <a href="https://chrome-swarming.appspot.com/tasklist?l=500&amp;f=runid:testing&amp;f=name:perf_task_1">task1</a>
           
diff --git a/ct/py/test_data/csv_comparer/keep_outliers/index.html b/ct/py/test_data/csv_comparer/keep_outliers/index.html
index 0387b69..4dcf42a 100644
--- a/ct/py/test_data/csv_comparer/keep_outliers/index.html
+++ b/ct/py/test_data/csv_comparer/keep_outliers/index.html
@@ -19,7 +19,7 @@
     This report was created on 2014-05-19 16:50 UTC
     <br/>
     <br/>
-    The run was done on Linux slaves using the 10k page set
+    The run was done on Linux workers using the 10k page set
     <br/>
     The run was done using Chromium commit hash <a href='https://chromium.googlesource.com/chromium/src/+show/abcdefg1234567'>abcdefg</a> and Skia commit hash <a href='https://skia.googlesource.com/skia/+show/tuvwxyz1234567'>tuvwxyz</a>
     <br/>
diff --git a/go/gce/swarming/setup-script-linux.sh b/go/gce/swarming/setup-script-linux.sh
index 52bb061..bbcaec8 100644
--- a/go/gce/swarming/setup-script-linux.sh
+++ b/go/gce/swarming/setup-script-linux.sh
@@ -105,7 +105,6 @@
 HOSTNAME=`hostname`
 curl "${SWARMING}/bot_code?bot_id=${HOSTNAME}" --header "Authorization":"Bearer $TOKEN" \
   --location --output /b/s/swarming_bot.zip
-ln --symbolic --force --no-dereference /b/s /b/swarm_slave
 
 cat <<EOF | sudo tee /etc/systemd/system/swarming_bot.service
 [Unit]
diff --git a/scripts/chromebot-schtask.ps1 b/scripts/chromebot-schtask.ps1
index 4dfafa7..faddfa4 100644
--- a/scripts/chromebot-schtask.ps1
+++ b/scripts/chromebot-schtask.ps1
@@ -221,9 +221,9 @@
 }
 
 banner "Start Swarming."
-$swarm_slave_dir = "c:\b\s"
-if (!(Test-Path ($swarm_slave_dir))) {
-  new-item $swarm_slave_dir -itemtype directory
+$swarm_worker_dir = "c:\b\s"
+if (!(Test-Path ($swarm_worker_dir))) {
+  new-item $swarm_worker_dir -itemtype directory
   $swarming = "https://chromium-swarm.appspot.com"
   if ($hostname.StartsWith("skia-i-") -Or $hostname.StartsWith("ct-")) {
     $swarming = "https://chrome-swarming.appspot.com"
@@ -232,9 +232,9 @@
     $swarming = "https://chromium-swarm-dev.appspot.com"
   }
   $metadataJson = Invoke-WebRequest -Uri http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token -Headers @{"Metadata-Flavor"="Google"} -UseBasicParsing | ConvertFrom-Json
-  curl $swarming/bot_code?bot_id=$hostname -Headers @{"Authorization"="Bearer " + $metadataJson.access_token} -OutFile $swarm_slave_dir/swarming_bot.zip
+  curl $swarming/bot_code?bot_id=$hostname -Headers @{"Authorization"="Bearer " + $metadataJson.access_token} -OutFile $swarm_worker_dir/swarming_bot.zip
 }
-cmd /c "python $swarm_slave_dir/swarming_bot.zip start_bot"
+cmd /c "python $swarm_worker_dir/swarming_bot.zip start_bot"
 
 banner "The Task ended"
 
diff --git a/task_scheduler/go/types/task.go b/task_scheduler/go/types/task.go
index 5b7684c..9240ed7 100644
--- a/task_scheduler/go/types/task.go
+++ b/task_scheduler/go/types/task.go
@@ -151,7 +151,7 @@
 	// Status is the current task status, default TASK_STATUS_PENDING.
 	Status TaskStatus `json:"status"`
 
-	// SwarmingBotId is the ID of the Swarming slave that ran this task. This
+	// SwarmingBotId is the ID of the Swarming bot that ran this task. This
 	// field will not be set if the Task does not correspond to a Swarming task or
 	// if the task is still pending.
 	SwarmingBotId string `json:"swarmingBotId"`