@@ -34,25 +34,21 @@ firecracker_version=v1.0.0
3434release_url =https://github.com/firecracker-microvm/firecracker/releases/download/$(firecracker_version ) /firecracker-$(firecracker_version ) -$(arch ) .tgz
3535
3636testdata_objects = \
37- $(FC_TEST_DATA_PATH ) /vmlinux \
38- $(FC_TEST_DATA_PATH ) /root-drive.img \
39- $(FC_TEST_DATA_PATH ) /jailer \
4037$(FC_TEST_DATA_PATH ) /firecracker \
38+ $(FC_TEST_BIN_PATH ) /host-local \
39+ $(FC_TEST_DATA_PATH ) /jailer \
4140$(FC_TEST_DATA_PATH ) /ltag \
4241$(FC_TEST_BIN_PATH ) /ptp \
43- $(FC_TEST_BIN_PATH ) /host-local \
42+ $(FC_TEST_DATA_PATH ) /root-drive.img \
43+ $(FC_TEST_DATA_PATH ) /root-drive-with-ssh.img \
44+ $(FC_TEST_DATA_PATH ) /root-drive-ssh-key \
4445$(FC_TEST_BIN_PATH ) /static \
45- $(FC_TEST_BIN_PATH ) /tc-redirect-tap
46-
47- # Enable pulling of artifacts from S3 instead of building
48- # TODO: https://github.com/firecracker-microvm/firecracker-go-sdk/issues/418
49- ifeq ($(GID ) , 0)
50- testdata_objects += $(FC_TEST_DATA_PATH ) /root-drive-with-ssh.img $(FC_TEST_DATA_PATH ) /root-drive-ssh-key
51- endif
46+ $(FC_TEST_BIN_PATH ) /tc-redirect-tap \
47+ $(FC_TEST_DATA_PATH ) /vmlinux
5248
5349testdata_dir = testdata/firecracker.tgz testdata/firecracker_spec-$(firecracker_version ) .yaml testdata/LICENSE testdata/NOTICE testdata/THIRD-PARTY
5450
55- # --location is needed to follow redirects on github.com
51+ # --location is needed to follow redirects
5652curl = curl --location
5753
5854GO_VERSION = $(shell go version | cut -c 14- | cut -d' ' -f1 | cut -d'.' -f1,2)
@@ -96,26 +92,23 @@ $(FC_TEST_DATA_PATH)/vmlinux:
9692
9793$(FC_TEST_DATA_PATH ) /firecracker $(FC_TEST_DATA_PATH ) /jailer : $(FC_TEST_DATA_PATH ) /fc.stamp
9894
95+ # Download the pinned release version of firecracker and jailer version from github
9996$(FC_TEST_DATA_PATH ) /fc.stamp :
10097 $(curl ) ${release_url} | tar -xvzf - -C $(FC_TEST_DATA_PATH )
10198 mv $(FC_TEST_DATA_PATH ) /release-$(firecracker_version ) -$(arch ) /firecracker-$(firecracker_version ) -$(arch ) $(FC_TEST_DATA_PATH ) /firecracker
10299 mv $(FC_TEST_DATA_PATH ) /release-$(firecracker_version ) -$(arch ) /jailer-$(firecracker_version ) -$(arch ) $(FC_TEST_DATA_PATH ) /jailer
100+ rm -rf $(FC_TEST_DATA_PATH ) /release-$(firecracker_version ) -$(arch )
103101 touch $@
104102
105103$(FC_TEST_DATA_PATH ) /root-drive.img :
106104 $(curl ) -o $@ https://s3.amazonaws.com/spec.ccfc.min/img/hello/fsfiles/hello-rootfs.ext4
107105
106+ # Download pre-built rootfs image and its ssh key from S3
107+ # TODO: Change the pre-built rootfs to ubuntu 22.04 once firecracker team has it in the public S3 bucket
108+ # Currently the S3 bucket only has ubuntu 18.04 image
108109$(FC_TEST_DATA_PATH ) /root-drive-ssh-key $(FC_TEST_DATA_PATH ) /root-drive-with-ssh.img :
109- # Need root to move ssh key to testdata location
110- ifeq ($(GID ) , 0)
111- $(MAKE) $(FIRECRACKER_DIR)
112- $(FIRECRACKER_DIR)/tools/devtool build_rootfs -m $(FC_TEST_DATA_PATH)/mnt
113- cp $(FIRECRACKER_DIR)/build/rootfs/bionic.rootfs.ext4 $(FC_TEST_DATA_PATH)/root-drive-with-ssh.img
114- cp $(FIRECRACKER_DIR)/build/rootfs/ssh/id_rsa $(FC_TEST_DATA_PATH)/root-drive-ssh-key
115- rm -rf $(FIRECRACKER_DIR)
116- else
117- $(error unable to place ssh key without root permissions)
118- endif
110+ $(curl ) -o $(FC_TEST_DATA_PATH ) /root-drive-with-ssh.img https://s3.amazonaws.com/spec.ccfc.min/ci-artifacts/disks/$(arch ) /ubuntu-18.04.ext4
111+ $(curl ) -o $(FC_TEST_DATA_PATH ) /root-drive-ssh-key https://s3.amazonaws.com/spec.ccfc.min/ci-artifacts/disks/$(arch ) /ubuntu-18.04.id_rsa
119112
120113$(FC_TEST_BIN_PATH ) /ptp :
121114 $(call install_go,github.com/containernetworking/plugins/plugins/main/ptp,v1.1.1)
@@ -132,12 +125,14 @@ $(FC_TEST_BIN_PATH)/tc-redirect-tap:
132125$(FC_TEST_DATA_PATH ) /ltag :
133126 $(call install_go,github.com/kunalkushwaha/ltag,v0.2.3)
134127
135- $(FIRECRACKER_DIR ) :
136- - git clone https://github.com/firecracker-microvm/firecracker.git $(FIRECRACKER_DIR )
137-
128+ # test-images builds firecracker and jailer from main branch of firecracker
129+ # to test against HEAD of firecracker
138130.PHONY : test-images
139131test-images : $(FIRECRACKER_BIN ) $(JAILER_BIN )
140132
133+ $(FIRECRACKER_DIR ) :
134+ - git clone https://github.com/firecracker-microvm/firecracker.git $(FIRECRACKER_DIR )
135+
141136$(FIRECRACKER_BIN ) $(JAILER_BIN ) : $(FIRECRACKER_DIR )
142137 $(FIRECRACKER_DIR ) /tools/devtool -y build --release
143138 cp $(FIRECRACKER_DIR ) /build/cargo_target/$(FIRECRACKER_TARGET ) /release/firecracker $(FIRECRACKER_BIN )
0 commit comments