Skip to content

Commit d71a6b9

Browse files
committed
Modify amazon linux codebuil and spec file to include baking in the CSI driver tar file
1 parent 5ebb834 commit d71a6b9

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

Makefile

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ endif
3232

3333
export GO111MODULE=auto
3434

35+
VERSION = $(shell cat ecs-init/ECSVERSION)
36+
3537
all: docker
3638

3739
# Dynamic go build; useful in that it does not have -a so it won't recompile
@@ -315,6 +317,12 @@ EBS_CSI_DRIVER_DIR=./ecs-agent/daemonimages/csidriver
315317
ebs-csi-driver:
316318
$(MAKE) -C $(EBS_CSI_DRIVER_DIR) $(MFLAGS) bin/ebs-csi-driver
317319

320+
# This is used to build the EBS CSI driver tar files during ECS Init RPM builds via CodeBuild
321+
ebs-csi-driver-codebuild:
322+
$(MAKE) -C $(EBS_CSI_DRIVER_DIR) $(MFLAGS) tarfiles/ebs-csi-driver.tar
323+
cp $(EBS_CSI_DRIVER_DIR)/tarfiles/ebs-csi-driver.tar ebs-csi-driver-v${VERSION}.tar
324+
cp $(EBS_CSI_DRIVER_DIR)/tarfiles/ebs-csi-driver.tar ebs-csi-driver-arm64-v${VERSION}.tar
325+
318326
# Starts EBS CSI Driver as a background process.
319327
# The driver uses /tmp/ebs-csi-driver.sock as the socket file.
320328
start-ebs-csi-driver: ebs-csi-driver
@@ -417,7 +425,7 @@ amazon-linux-sources.tgz:
417425
amazon-linux-rpm-integrated: .amazon-linux-rpm-integrated-done
418426

419427
# Make target for Amazon Linux Codebuild jobs
420-
.amazon-linux-rpm-codebuild-done: get-cni-sources
428+
.amazon-linux-rpm-codebuild-done: get-cni-sources ebs-csi-driver-codebuild
421429
./scripts/update-version.sh
422430
cp packaging/amazon-linux-ami-integrated/ecs-agent.spec ecs-agent.spec
423431
cp packaging/amazon-linux-ami-integrated/ecs.conf ecs.conf
@@ -448,8 +456,6 @@ amazon-linux-rpm-codebuild: .amazon-linux-rpm-codebuild-done
448456
# Build init rpm
449457
generic-rpm-integrated: .generic-rpm-integrated-done
450458

451-
VERSION = $(shell cat ecs-init/ECSVERSION)
452-
453459
.generic-deb-integrated-done: get-cni-sources
454460
./scripts/update-version.sh
455461
mkdir -p BUILDROOT
@@ -513,6 +519,8 @@ clean:
513519
-rm -f .generic-rpm-integrated-done
514520
-rm -f amazon-ecs-volume-plugin
515521
-rm -rf $(EBS_CSI_DRIVER_DIR)/bin
522+
-rm -rf $(EBS_CSI_DRIVER_DIR)/tarfiles
523+
-rm -f ebs-csi-driver-*.tar
516524
-rm -rf /tmp/private-test-registry-htpasswd # private registry credentials cleanup
517525

518526
clean-all: clean

packaging/amazon-linux-ami-integrated/ecs-agent.spec

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
%global no_exec_perm 644
2525
%global debug_package %{nil}
2626
%global agent_image ecs-agent-v%{version}.tar
27+
%global ebs_csi_driver_dir /var/lib/ecs/deps/daemons/ebs-csi-driver
2728

2829
Name: ecs-init
2930
Version: 1.91.0
@@ -38,6 +39,8 @@ Source2: ecs.service
3839
Source3: amazon-ecs-volume-plugin.service
3940
Source4: amazon-ecs-volume-plugin.socket
4041
Source5: amazon-ecs-volume-plugin.conf
42+
Source6: ebs-csi-driver-arm64-v%{version}.tar
43+
Source7: ebs-csi-driver-v%{version}.tar
4144

4245
BuildRequires: golang >= 1.22.0
4346
%if %{with systemd}
@@ -171,6 +174,13 @@ mkdir -p %{buildroot}%{_sysconfdir}/ecs
171174
touch %{buildroot}%{_sysconfdir}/ecs/ecs.config
172175
touch %{buildroot}%{_sysconfdir}/ecs/ecs.config.json
173176

177+
mkdir -p %{buildroot}%{ebs_csi_driver_dir}
178+
%ifarch aarch64
179+
install -m %{no_exec_perm} -D %{SOURCE6} %{buildroot}%{ebs_csi_driver_dir}/ebs-csi-driver.tar
180+
%else
181+
install -m %{no_exec_perm} -D %{SOURCE7} %{buildroot}%{ebs_csi_driver_dir}/ebs-csi-driver.tar
182+
%endif
183+
174184
# Configure ecs-init to reload the bundled ECS container agent image.
175185
mkdir -p %{buildroot}%{_cachedir}/ecs
176186
echo 2 > %{buildroot}%{_cachedir}/ecs/state
@@ -198,6 +208,8 @@ install -m %{no_exec_perm} -D %{SOURCE5} %{buildroot}%{_sysconfdir}/init/amazon-
198208
%{_cachedir}/ecs/%{basename:%{agent_image}}
199209
%{_cachedir}/ecs/state
200210
%dir %{_sharedstatedir}/ecs/data
211+
%dir %{ebs_csi_driver_dir}
212+
%{ebs_csi_driver_dir}/ebs-csi-driver.tar
201213

202214
%if %{with systemd}
203215
%{_unitdir}/ecs.service

0 commit comments

Comments
 (0)