Skip to content

Commit 8a7ead1

Browse files
committed
feat: flatcar: install blobfuse2 binary
Signed-off-by: Mateusz Gozdek <[email protected]>
1 parent ae8c8eb commit 8a7ead1

File tree

4 files changed

+50
-3
lines changed

4 files changed

+50
-3
lines changed

e2e/scenario_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,36 @@ func Test_Flatcar_CustomCATrust(t *testing.T) {
7373
})
7474
}
7575

76+
func Test_Flatcar_Blobfuse2(t *testing.T) {
77+
RunScenario(t, &Scenario{
78+
Description: "Tests that a node using the Flatcar VHD has blobfuse2 binary executable at expected path",
79+
Config: Config{
80+
Cluster: ClusterKubenet,
81+
VHD: config.VHDFlatcarGen2,
82+
BootstrapConfigMutator: func(nbc *datamodel.NodeBootstrappingConfiguration) {
83+
},
84+
Validator: func(ctx context.Context, s *Scenario) {
85+
execScriptOnVMForScenarioValidateExitCode(ctx, s, "/var/bin/blobfuse2 mount list", 0, "blobfuse2 binary not found or not executable")
86+
},
87+
},
88+
})
89+
}
90+
91+
func Test_Flatcar_No_Docker_images(t *testing.T) {
92+
RunScenario(t, &Scenario{
93+
Description: "Tests that a node using the Flatcar VHD has no Docker images present",
94+
Config: Config{
95+
Cluster: ClusterKubenet,
96+
VHD: config.VHDFlatcarGen2,
97+
BootstrapConfigMutator: func(nbc *datamodel.NodeBootstrappingConfiguration) {
98+
},
99+
Validator: func(ctx context.Context, s *Scenario) {
100+
execScriptOnVMForScenarioValidateExitCode(ctx, s, "docker image ls -q | grep .", 1, "Docker images found on Flatcar node")
101+
},
102+
},
103+
})
104+
}
105+
76106
func Test_Flatcar_Scriptless(t *testing.T) {
77107
RunScenario(t, &Scenario{
78108
Description: "Tests that a node using a Flatcar and the self-contained installer can be properly bootstrapped",

parts/linux/cloud-init/artifacts/flatcar/cse_install_flatcar.sh

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,24 @@ stub() {
55
}
66

77
installDeps() {
8-
stub
8+
# We must configure containerd before running Docker commands.
9+
installStandaloneContainerd
10+
11+
local ARCH; ARCH="$(uname -m)"
12+
local DOCKER_VERSION; DOCKER_VERSION="$(docker version -f json)"
13+
local IMAGE_ARCH; IMAGE_ARCH="$(echo "${DOCKER_VERSION}" | jq -r .Server.Arch)"
14+
# TODO: Switch to official image before merging, like mcr.microsoft.com/oss/v2/kubernetes-csi/blob-csi:v1.27.0.
15+
local BLOB_CSI_IMAGE="ghcr.io/flatcar-hub/blob-csi:v1.28.0-linux-${IMAGE_ARCH}"
16+
17+
docker run --rm \
18+
-v /var/bin:/host/var/bin \
19+
--env DISTRIBUTION=flatcar \
20+
--env ARCH="${ARCH}" \
21+
--env INSTALL_BLOBFUSE2=true \
22+
--env INSTALL_BLOBFUSE_PROXY=false \
23+
--entrypoint /blobfuse-proxy/install-proxy-rhcos.sh \
24+
"${BLOB_CSI_IMAGE}"
25+
docker image rm "${BLOB_CSI_IMAGE}"
926
}
1027

1128
installCriCtlPackage() {

pkg/agent/testdata/Flatcar/CustomData

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

pkg/agent/testdata/Flatcar/CustomData.inner

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123
},
124124
"contents": {
125125
"compression": "gzip",
126-
"source": "data:;base64,H4sIAAAAAAAC/3ySwW+bMBjF7/wVr5RDeyCo2q1TD1MSqklbEpHQS1VVjvkgVoyNbDOpIvzvk5OM0W4NJyT/3vP7Pr/rq2QrVLJldhcE1rXbm1t0AQAQ32mEUZfmi+ni28/5891LD0+EQR8EQlnHpJxRYweFPxydTY2YOrlifM8q+gxaO6YKJrWiqVaOCUWmGFipOZMoyApDxRMZK7R6CKPu7j7uwyMxzbNsvti8Ps2z9ffl4iG64YMN4l8nCQ7grUNcIESIuMSX29GEvDWGlJNvOEeiAiOTs8c9ou7DZf0Es1O0PxCi7n3YfoL1XjSNUBUuDAytkErmODOT01yixDOufNYwIceTv4H8bymqidO1DPHyFW5H6qjxX70vhEHc4INqAHiDpLUmsTtm6BNbXLhyMLJv1lHNnYQh65hx46UdDuflpkz4fTr9H+o0aSl8G0jZ1lDWKv5PUbgkpvLmcZXPjPCLHghTI85KRI+r/HU2X2+Q6MYlVdOO+rXRWqZG1z98lTJq9Hv/ow251ijceVVFbmnPj3eZvJ4v0+B3AAAA//9Q+oAdPgMAAA==",
126+
"source": "data:;base64,H4sIAAAAAAAC/4RTQXPqNhC++1fs8/MhOcgur5cOGQ7EmJQpDxgbMu2kGUbIMlawJVeSmTDAf+8IG2NCmnJgJPnbb3e//fb7N2/FuLfCKrUspcvV3T3sLQAASlIBtrMfLib+pP8zeOm8HsEgbOtoWYwrjbNsQAvVRNRvkcY8xpng1BdcY8apjK0TIBMEZ9AP/d8fTv8927krOc4poPzebkEGU/+PIFw+B2E0mk4ePtxNWCzIhkrYUqmY4IASeFOCX5GMfvafgmWV7XI2wefWrmmPNhzg7R9AEtyIyi2Vbl+S9IrzcTx9XPrRaHki7NnrlEiXCS/JsCZYorRceatMrBBRrLvtuD9+c39BGePlO3L2lyKOdiVI3YUsOSAkc/j79Gp+aAveFksznK6XCqXPN2iDEOVbGIyieTh6XMyNNHUhN6C69X2V/ebzaBLN++Px0vQ3XETBj56WJYX/xS1n4fTPv3oJztQNWstdIRjXcFIkKRVFhRTvO6/2SXVDMiVCuSptRdvO/lroo92Wi+V4TUHmn+Iu3vQl83U2w2SD17QxqXFwC/SZWRtsNfOYKiZp/FxZzYjY6aK6In8RhsFk3jjTuSMNDaCzOw9ASg0oBhtsY9Vf71sbRkopKdfZ7rw/NIYWSc3RBWf/IdnRhUFVWrMGzv662KML0YYVBePrr7YTBIdhZRy36osl8ALfTK22RzXxLgWZY8LWrhZ5ZsPrA+iU8mZy+SZmElABH6IaACnAK5X0VIol/Q9a+CJlQ6R2StOc6AwkVRpL3RbtcKjFHWJm9NTiE1TVacKMGyhXpaRhycmNUUhGMV8UT7PFQDIjdIOQOaAwAedptlgOgmgOnii0ty7Klr/mQmRDKfKxsVJIC3HNf6KhupQcOiZqTfVU1cP7Gvk9mA6tfwMAAP//Poz9x74FAAA=",
127127
"verification": {}
128128
},
129129
"mode": 484

0 commit comments

Comments
 (0)