Skip to content

Commit bcfa8ed

Browse files
committed
(CDPE-6808) Remove references to docker in code
Just to make functions and variables clearer, remove all references to docker.
1 parent 7f9781e commit bcfa8ed

File tree

4 files changed

+65
-65
lines changed

4 files changed

+65
-65
lines changed

spec/docker_spec.rb

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,16 @@
3737
describe 'cd4pe_job_helper::get_runtime' do
3838
it 'Detects docker as the available runtime.' do
3939
test_container_image = 'puppetlabs/test:10.0.1'
40-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_image: test_container_image, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
40+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_image: test_container_image, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
4141
expect(job_helper.get_runtime).to eq('docker')
4242
end
4343
end
4444

45-
describe 'cd4pe_job_helper::update_docker_image' do
45+
describe 'cd4pe_job_helper::update_container_image' do
4646
let(:test_container_image) { 'puppetlabs/test:10.0.1' }
4747
it 'Generates a docker pull command.' do
48-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_image: test_container_image, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
49-
docker_pull_command = job_helper.get_docker_pull_cmd
48+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_image: test_container_image, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
49+
docker_pull_command = job_helper.get_image_pull_cmd
5050
expect(docker_pull_command).to eq("docker pull #{test_container_image}")
5151
end
5252

@@ -58,17 +58,17 @@
5858
let(:cert_b64) { Base64.encode64(cert_txt) }
5959

6060
it 'Uses config when present for docker.' do
61-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_image: test_container_image, docker_pull_creds: creds_b64, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
61+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_image: test_container_image, image_pull_creds: creds_b64, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
6262
config_json = File.join(@working_dir, '.docker', 'config.json')
6363
expect(File.exist?(config_json)).to be(true)
6464
expect(File.read(config_json)).to eq(creds_json)
6565

66-
docker_pull_command = job_helper.get_docker_pull_cmd
66+
docker_pull_command = job_helper.get_image_pull_cmd
6767
expect(docker_pull_command).to eq("docker --config #{File.join(@working_dir, '.docker')} pull #{test_container_image}")
6868
end
6969

7070
it 'Registers the CA cert when provided.' do
71-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_image: test_container_image, docker_pull_creds: creds_b64, base_64_ca_cert: cert_b64, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
71+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_image: test_container_image, image_pull_creds: creds_b64, base_64_ca_cert: cert_b64, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
7272

7373
cert_file = File.join(@certs_dir, hostname, 'ca.crt')
7474
expect(File.exist?(cert_file)).to be(true)
@@ -77,7 +77,7 @@
7777
end
7878
end
7979

80-
describe 'cd4pe_job_helper::get_docker_run_cmd' do
80+
describe 'cd4pe_job_helper::get_container_run_cmd' do
8181
it 'Generates the correct docker run command.' do
8282
test_manifest_type = "AFTER_JOB_SUCCESS"
8383
test_container_image = 'puppetlabs/test:10.0.1'
@@ -87,9 +87,9 @@
8787
user_specified_container_run_args = [arg1, arg2, arg3]
8888
job_type = 'unix'
8989

90-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_image: test_container_image, docker_run_args: user_specified_container_run_args, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
90+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_image: test_container_image, container_run_args: user_specified_container_run_args, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
9191

92-
docker_run_command = job_helper.get_docker_run_cmd(test_manifest_type)
92+
docker_run_command = job_helper.get_container_run_cmd(test_manifest_type)
9393
cmd_parts = docker_run_command.split(' ')
9494

9595
expect(cmd_parts[0]).to eq('docker')

spec/podman_spec.rb

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,16 @@
3737
describe 'cd4pe_job_helper::get_runtime' do
3838
it 'Detects podman as the available runtime.' do
3939
test_container_image = 'puppetlabs/test:10.0.1'
40-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_image: test_container_image, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
40+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_image: test_container_image, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
4141
expect(job_helper.get_runtime).to eq('podman')
4242
end
4343
end
4444

45-
describe 'cd4pe_job_helper::update_docker_image' do
45+
describe 'cd4pe_job_helper::update_container_image' do
4646
let(:test_container_image) { 'puppetlabs/test:10.0.1' }
4747
it 'Generates a podman pull command.' do
48-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_image: test_container_image, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
49-
podman_pull_command = job_helper.get_docker_pull_cmd
48+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_image: test_container_image, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
49+
podman_pull_command = job_helper.get_image_pull_cmd
5050
expect(podman_pull_command).to eq("podman pull #{test_container_image}")
5151
end
5252

@@ -58,17 +58,17 @@
5858
let(:cert_b64) { Base64.encode64(cert_txt) }
5959

6060
it 'Uses config when present for podman.' do
61-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_image: test_container_image, docker_pull_creds: creds_b64, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
61+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_image: test_container_image, image_pull_creds: creds_b64, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
6262
config_json = File.join(@working_dir, '.docker', 'config.json')
6363
expect(File.exist?(config_json)).to be(true)
6464
expect(File.read(config_json)).to eq(creds_json)
6565

66-
podman_pull_command = job_helper.get_docker_pull_cmd
66+
podman_pull_command = job_helper.get_image_pull_cmd
6767
expect(podman_pull_command).to eq("podman --config #{File.join(@working_dir, '.docker')} pull #{test_container_image}")
6868
end
6969

7070
it 'Registers the CA cert when provided.' do
71-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_image: test_container_image, docker_pull_creds: creds_b64, base_64_ca_cert: cert_b64, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
71+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_image: test_container_image, image_pull_creds: creds_b64, base_64_ca_cert: cert_b64, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
7272

7373
cert_file = File.join(@certs_dir, hostname, 'ca.crt')
7474
expect(File.exist?(cert_file)).to be(true)
@@ -77,7 +77,7 @@
7777
end
7878
end
7979

80-
describe 'cd4pe_job_helper::get_docker_run_cmd' do
80+
describe 'cd4pe_job_helper::get_container_run_cmd' do
8181
it 'Generates the correct podman run command.' do
8282
test_manifest_type = "AFTER_JOB_SUCCESS"
8383
test_container_image = 'puppetlabs/test:10.0.1'
@@ -87,9 +87,9 @@
8787
user_specified_container_run_args = [arg1, arg2, arg3]
8888
job_type = 'unix'
8989

90-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_image: test_container_image, docker_run_args: user_specified_container_run_args, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
90+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_image: test_container_image, container_run_args: user_specified_container_run_args, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
9191

92-
podman_run_command = job_helper.get_docker_run_cmd(test_manifest_type)
92+
podman_run_command = job_helper.get_container_run_cmd(test_manifest_type)
9393
cmd_parts = podman_run_command.split(' ')
9494

9595
expect(cmd_parts[0]).to eq('podman')

spec/run_cd4pe_job_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,15 +139,15 @@
139139
end
140140

141141
describe 'cd4pe_job_helper::initialize' do
142-
it 'Passes the docker run args through without modifying the structure.' do
142+
it 'Passes the container run args through without modifying the structure.' do
143143
arg1 = '--testarg=woot'
144144
arg2 = '--otherarg=hello'
145145
arg3 = '--whatever=isclever'
146-
user_specified_docker_run_args = [arg1, arg2, arg3]
146+
user_specified_container_run_args = [arg1, arg2, arg3]
147147

148-
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, docker_run_args: user_specified_docker_run_args, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
148+
job_helper = CD4PEJobRunner.new(windows_job: @windows_job, working_dir: @working_dir, container_run_args: user_specified_container_run_args, job_token: @job_token, web_ui_endpoint: @web_ui_endpoint, job_owner: @job_owner, job_instance_id: @job_instance_id, logger: @logger, secrets: @secrets)
149149

150-
expect(job_helper.docker_run_args).to eq("#{arg1} #{arg2} #{arg3}")
150+
expect(job_helper.container_run_args).to eq("#{arg1} #{arg2} #{arg3}")
151151
end
152152

153153
it 'Sets the HOME and REPO_DIR env vars' do

tasks/run_cd4pe_job.rb

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ def make_request(type, api_url, payload = '')
196196

197197
class CD4PEJobRunner < Object
198198
# Class for downloading, running, and logging CD4PE jobs
199-
attr_reader :docker_run_args
199+
attr_reader :container_run_args
200200

201201
MANIFEST_TYPE = {
202202
:JOB => "JOB",
@@ -206,12 +206,12 @@ class CD4PEJobRunner < Object
206206
DOCKER_CERTS = '/etc/docker/certs.d'
207207
PODMAN_CERTS = '/etc/containers/certs.d'
208208

209-
def initialize(working_dir:, job_token:, web_ui_endpoint:, job_owner:, job_instance_id:, logger:, windows_job: false, base_64_ca_cert: nil, docker_image: nil, docker_run_args: nil, docker_pull_creds: nil, secrets:)
209+
def initialize(working_dir:, job_token:, web_ui_endpoint:, job_owner:, job_instance_id:, logger:, windows_job: false, base_64_ca_cert: nil, container_image: nil, container_run_args: nil, image_pull_creds: nil, secrets:)
210210
@logger = logger
211211
@image_repo = nil
212-
@docker_image = docker_image
213-
@docker_run_args = docker_run_args.nil? ? '' : docker_run_args.join(' ')
214-
@docker_based_job = !blank?(docker_image)
212+
@container_image = container_image
213+
@container_run_args = container_run_args.nil? ? '' : container_run_args.join(' ')
214+
@containerized_job = !blank?(container_image)
215215
@windows_job = windows_job
216216
@runtime = get_runtime
217217
@cert_dir = @runtime == 'podman' ? PODMAN_CERTS : DOCKER_CERTS
@@ -235,21 +235,21 @@ def initialize(working_dir:, job_token:, web_ui_endpoint:, job_owner:, job_insta
235235
end
236236
end
237237

238-
@docker_pull_config = nil
239-
if (!docker_pull_creds.nil?)
240-
creds = Base64.decode64(docker_pull_creds)
238+
@image_pull_config = nil
239+
if (!image_pull_creds.nil?)
240+
creds = Base64.decode64(image_pull_creds)
241241
# podman-login manpage states it uses `.docker/config.json`, so this
242242
# applies to both runtimes
243-
@docker_pull_config = File.join(@working_dir, ".docker")
244-
make_dir(@docker_pull_config)
245-
open(File.join(@docker_pull_config, "config.json"), "wb") do |file|
243+
@image_pull_config = File.join(@working_dir, ".docker")
244+
make_dir(@image_pull_config)
245+
open(File.join(@image_pull_config, "config.json"), "wb") do |file|
246246
file.write(creds)
247247
end
248248

249-
# Ensure the ca_cert_file is added for each Docker registry we might use.
249+
# Ensure the ca_cert_file is added for each registry we might use.
250250
if @ca_cert_file
251-
docker_conf = JSON.parse(creds)
252-
docker_conf['auths'].each do |host, _cred|
251+
runtime_conf = JSON.parse(creds)
252+
runtime_conf['auths'].each do |host, _cred|
253253
dir = File.join(@cert_dir, host)
254254
FileUtils.mkdir_p(dir)
255255
cert = File.join(dir, 'ca.crt')
@@ -388,9 +388,9 @@ def on_job_complete(result, next_manifest_type)
388388
def execute_manifest(manifest_type)
389389
@logger.log("Executing #{manifest_type} manifest.")
390390
result = {}
391-
if (@docker_based_job)
392-
@logger.log("Container image specified. Running #{manifest_type} manifest on container image: #{@docker_image}.")
393-
result = run_with_docker(manifest_type)
391+
if (@containerized_job)
392+
@logger.log("Container image specified. Running #{manifest_type} manifest on container image: #{@container_image}.")
393+
result = run_in_container(manifest_type)
394394
else
395395
@logger.log("No container image specified. Running #{manifest_type} manifest directly on machine.")
396396
result = run_with_system(manifest_type)
@@ -415,38 +415,38 @@ def run_with_system(manifest_type)
415415
run_system_cmd(cmd_to_execute)
416416
end
417417

418-
def get_docker_pull_cmd
419-
image = @image_repo.nil? ? @docker_image : "#{@image_repo}/#{@docker_image}"
420-
if @docker_pull_config.nil?
418+
def get_image_pull_cmd
419+
image = @image_repo.nil? ? @container_image : "#{@image_repo}/#{@container_image}"
420+
if @image_pull_config.nil?
421421
"#{@runtime} pull #{image}"
422422
else
423-
"#{@runtime} --config #{@docker_pull_config} pull #{image}"
423+
"#{@runtime} --config #{@image_pull_config} pull #{image}"
424424
end
425425
end
426426

427-
def update_docker_image
428-
if (@docker_based_job)
429-
@logger.log("Updating container image: #{@docker_image}")
430-
result = run_system_cmd(get_docker_pull_cmd)
427+
def update_container_image
428+
if (@containerized_job)
429+
@logger.log("Updating container image: #{@container_image}")
430+
result = run_system_cmd(get_image_pull_cmd)
431431
if (result[:exit_code] == 125)
432432
@logger.log("Failed to pull using given image name. Re-try directly from docker.io.")
433433
@image_repo = 'docker.io'
434-
result = run_system_cmd(get_docker_pull_cmd)
434+
result = run_system_cmd(get_image_pull_cmd)
435435
end
436436

437437
@logger.log(result[:message])
438438
end
439439
end
440440

441-
def get_docker_run_cmd(manifest_type)
441+
def get_container_run_cmd(manifest_type)
442442
suffix = @runtime == 'podman' ? ':z' : ''
443443
repo_volume_mount = "\"#{@local_repo_dir}:/repo#{suffix}\""
444444
scripts_volume_mount = "\"#{@local_jobs_dir}:/cd4pe_job#{suffix}\""
445-
docker_bash_script = "\"/cd4pe_job/#{manifest_type}\""
446-
"#{@runtime} run --rm #{@docker_run_args} #{get_docker_secrets_cmd} -v #{repo_volume_mount} -v #{scripts_volume_mount} #{@docker_image} #{docker_bash_script}"
445+
container_bash_script = "\"/cd4pe_job/#{manifest_type}\""
446+
"#{@runtime} run --rm #{@container_run_args} #{get_container_secrets_cmd} -v #{repo_volume_mount} -v #{scripts_volume_mount} #{@container_image} #{container_bash_script}"
447447
end
448448

449-
def get_docker_secrets_cmd
449+
def get_container_secrets_cmd
450450
return "" if @secrets.nil?
451451

452452
@secrets.keys.reduce("") do |memo, key|
@@ -455,7 +455,7 @@ def get_docker_secrets_cmd
455455
end
456456

457457
def get_runtime
458-
if !@docker_based_job
458+
if !@containerized_job
459459
return nil
460460
end
461461

@@ -482,9 +482,9 @@ def get_runtime
482482
end
483483
end
484484

485-
def run_with_docker(manifest_type)
486-
docker_cmd = get_docker_run_cmd(manifest_type)
487-
run_system_cmd(docker_cmd)
485+
def run_in_container(manifest_type)
486+
cmd = get_container_run_cmd(manifest_type)
487+
run_system_cmd(cmd)
488488
end
489489

490490
def run_system_cmd(cmd, log_output = true)
@@ -601,9 +601,9 @@ def blank?(str)
601601

602602
params = JSON.parse(STDIN.read)
603603

604-
docker_image = params['docker_image']
605-
docker_run_args = params["docker_run_args"]
606-
docker_pull_creds = params['docker_pull_creds']
604+
container_image = params['docker_image']
605+
container_run_args = params["docker_run_args"]
606+
image_pull_creds = params['docker_pull_creds']
607607
job_instance_id = params["job_instance_id"]
608608
web_ui_endpoint = params['cd4pe_web_ui_endpoint']
609609
job_token = params['cd4pe_token']
@@ -621,9 +621,9 @@ def blank?(str)
621621

622622
job_runner = CD4PEJobRunner.new(
623623
working_dir: @working_dir,
624-
docker_image: docker_image,
625-
docker_run_args: docker_run_args,
626-
docker_pull_creds: docker_pull_creds,
624+
container_image: container_image,
625+
container_run_args: container_run_args,
626+
image_pull_creds: image_pull_creds,
627627
job_token: job_token,
628628
web_ui_endpoint: web_ui_endpoint,
629629
job_owner: job_owner,
@@ -633,7 +633,7 @@ def blank?(str)
633633
secrets: secrets,
634634
logger: @logger)
635635
job_runner.get_job_script_and_control_repo
636-
job_runner.update_docker_image
636+
job_runner.update_container_image
637637
output = job_runner.run_job
638638

639639
output[:logs] = @logger.get_logs

0 commit comments

Comments
 (0)