From 6314391edd78b8fc3f746b92280c1d211b569560 Mon Sep 17 00:00:00 2001 From: Marc Nuri Date: Fri, 23 Dec 2022 08:37:54 +0100 Subject: [PATCH] fix: misc fixes to download function --- src/__tests__/download.test.js | 14 +++++++++----- src/download.js | 5 ++--- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/__tests__/download.test.js b/src/__tests__/download.test.js index a1d4b381..52ba3025 100644 --- a/src/__tests__/download.test.js +++ b/src/__tests__/download.test.js @@ -174,17 +174,21 @@ describe('download module test suite', () => { ) ); expect(exec.logExecSync).toHaveBeenCalledWith( - 'sudo ln -s /usr/local/bin/cri-dockerd /usr/bin/cri-dockerd' + 'sudo ln -sf /usr/local/bin/cri-dockerd /usr/bin/cri-dockerd' ); }); test('should install cri-dockerd service', async () => { + // Given + fs.readFileSync.mockImplementation( + () => + 'ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd://' + ); // When await download.installCriDockerd({githubToken: 'secret-token'}); // Then - expect(exec.logExecSync).toHaveBeenCalledWith( - expect.stringMatching( - /sed -i 's\/cri-dockerd --\/cri-dockerd --network-plugin=cni --\/g'/ - ) + expect(fs.writeFileSync).toHaveBeenCalledWith( + '/etc/systemd/system/cri-docker.service', + 'ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --container-runtime-endpoint fd://' ); expect(exec.logExecSync).toHaveBeenCalledWith( expect.stringMatching( diff --git a/src/download.js b/src/download.js index f97ccf34..78522df2 100644 --- a/src/download.js +++ b/src/download.js @@ -73,16 +73,15 @@ const installCriDockerd = async (inputs = {}) => { const binaryDir = await tc.extractTar(binaryTar); const binaryContent = firstDir(binaryDir); logExecSync(`sudo cp -a ${binaryDir}/${binaryContent}/cri-dockerd /usr/local/bin/`); - logExecSync(`sudo ln -s /usr/local/bin/cri-dockerd /usr/bin/cri-dockerd`); + logExecSync(`sudo ln -sf /usr/local/bin/cri-dockerd /usr/bin/cri-dockerd`); // Service file const sourceTar = await tc.downloadTool(`https://github.com/Mirantis/cri-dockerd/archive/refs/tags/${tag}.tar.gz`); const sourceDir = await tc.extractTar(sourceTar); const sourceContent = firstDir(sourceDir); - logExecSync(`sed -i 's/cri-dockerd --/cri-dockerd --network-plugin=cni --/g' ${sourceDir}/${sourceContent}/packaging/systemd/cri-docker.service`); logExecSync(`sudo cp -a ${sourceDir}/${sourceContent}/packaging/systemd/* /etc/systemd/system`); const serviceFile = '/etc/systemd/system/cri-docker.service'; fs.writeFileSync(serviceFile, fs.readFileSync(serviceFile).toString() - .replace(/\/usr\/bin\/cri-dockerd/g, '/usr/local/bin/cri-dockerd') + .replace(/cri-dockerd --/g, 'cri-dockerd --network-plugin=cni --') ); const socketFile = '/etc/systemd/system/cri-docker.socket'; fs.writeFileSync(socketFile, fs.readFileSync(socketFile).toString()