mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
Merge pull request #47497 from mikedanese/binary
Automatic merge from submit-queue (batch tested with PRs 54773, 52523, 47497, 55356, 49429). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. don't check in mounter binary ```release-note GCI mounter is moved from the manifests tarball to the server tarball. ```
This commit is contained in:
commit
f7dc3966a4
@ -122,6 +122,7 @@ release_filegroup(
|
||||
release_filegroup(
|
||||
name = "server-targets",
|
||||
srcs = [
|
||||
"//cluster/gce/gci/mounter",
|
||||
"//cmd/cloud-controller-manager",
|
||||
"//cmd/hyperkube",
|
||||
"//cmd/kube-apiserver",
|
||||
|
@ -412,7 +412,6 @@ function kube::release::package_kube_manifests_tarball() {
|
||||
cp "${salt_dir}/rescheduler/rescheduler.manifest" "${gci_dst_dir}/"
|
||||
cp "${salt_dir}/e2e-image-puller/e2e-image-puller.manifest" "${gci_dst_dir}/"
|
||||
cp "${KUBE_ROOT}/cluster/gce/gci/configure-helper.sh" "${gci_dst_dir}/gci-configure-helper.sh"
|
||||
cp "${KUBE_ROOT}/cluster/gce/gci/mounter/mounter" "${gci_dst_dir}/gci-mounter"
|
||||
cp "${KUBE_ROOT}/cluster/gce/gci/health-monitor.sh" "${gci_dst_dir}/health-monitor.sh"
|
||||
cp "${KUBE_ROOT}/cluster/gce/container-linux/configure-helper.sh" "${gci_dst_dir}/container-linux-configure-helper.sh"
|
||||
cp -r "${salt_dir}/kube-admission-controls/limit-range" "${gci_dst_dir}"
|
||||
|
@ -141,7 +141,7 @@ function install-gci-mounter-tools {
|
||||
chmod a+x "${CONTAINERIZED_MOUNTER_HOME}"
|
||||
mkdir -p "${CONTAINERIZED_MOUNTER_HOME}/rootfs"
|
||||
download-or-bust "${mounter_tar_sha}" "https://storage.googleapis.com/kubernetes-release/gci-mounter/mounter.tar"
|
||||
cp "${KUBE_HOME}/kube-manifests/kubernetes/gci-trusty/gci-mounter" "${CONTAINERIZED_MOUNTER_HOME}/mounter"
|
||||
cp "${KUBE_HOME}/kubernetes/server/bin/mounter" "${CONTAINERIZED_MOUNTER_HOME}/mounter"
|
||||
chmod a+x "${CONTAINERIZED_MOUNTER_HOME}/mounter"
|
||||
mv "${KUBE_HOME}/mounter.tar" /tmp/mounter.tar
|
||||
tar xf /tmp/mounter.tar -C "${CONTAINERIZED_MOUNTER_HOME}/rootfs"
|
||||
|
1
cluster/gce/gci/mounter/.gitignore
vendored
Normal file
1
cluster/gce/gci/mounter/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
mounter
|
Binary file not shown.
@ -32,6 +32,7 @@ kube::golang::server_targets() {
|
||||
vendor/k8s.io/kube-aggregator
|
||||
vendor/k8s.io/apiextensions-apiserver
|
||||
plugin/cmd/kube-scheduler
|
||||
cluster/gce/gci/mounter
|
||||
)
|
||||
echo "${targets[@]}"
|
||||
}
|
||||
|
@ -34,6 +34,7 @@ var buildTargets = []string{
|
||||
"cmd/kubelet",
|
||||
"test/e2e_node/e2e_node.test",
|
||||
"vendor/github.com/onsi/ginkgo/ginkgo",
|
||||
"cluster/gce/gci/mounter",
|
||||
}
|
||||
|
||||
func BuildGo() error {
|
||||
|
@ -30,8 +30,7 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
localCOSMounterPath = "cluster/gce/gci/mounter/mounter"
|
||||
systemSpecPath = "test/e2e_node/system/specs"
|
||||
systemSpecPath = "test/e2e_node/system/specs"
|
||||
)
|
||||
|
||||
// NodeE2ERemote contains the specific functions in the node e2e test suite.
|
||||
@ -61,7 +60,7 @@ func (n *NodeE2ERemote) SetupTestPackage(tardir, systemSpecName string) error {
|
||||
}
|
||||
|
||||
// Copy binaries
|
||||
requiredBins := []string{"kubelet", "e2e_node.test", "ginkgo"}
|
||||
requiredBins := []string{"kubelet", "e2e_node.test", "ginkgo", "mounter"}
|
||||
for _, bin := range requiredBins {
|
||||
source := filepath.Join(buildOutputDir, bin)
|
||||
if _, err := os.Stat(source); err != nil {
|
||||
@ -85,11 +84,6 @@ func (n *NodeE2ERemote) SetupTestPackage(tardir, systemSpecName string) error {
|
||||
}
|
||||
}
|
||||
|
||||
// Include the GCI/COS mounter artifacts in the deployed tarball
|
||||
err = tarAddCOSMounter(tardir)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -110,51 +104,11 @@ func tarAddFile(tar, source, dest string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// Includes the GCI/COS mounter artifacts in the deployed tarball
|
||||
func tarAddCOSMounter(tar string) error {
|
||||
k8sDir, err := builder.GetK8sRootDir()
|
||||
if err != nil {
|
||||
return fmt.Errorf("Could not find K8s root dir! Err: %v", err)
|
||||
}
|
||||
|
||||
source := filepath.Join(k8sDir, localCOSMounterPath)
|
||||
|
||||
// Require the GCI/COS mounter script, we want to make sure the remote test runner stays up to date if the mounter file moves
|
||||
if _, err := os.Stat(source); err != nil {
|
||||
return fmt.Errorf("Could not find GCI/COS mounter script at %q! If this script has been (re)moved, please update the e2e node remote test runner accordingly! Err: %v", source, err)
|
||||
}
|
||||
|
||||
tarAddFile(tar, source, localCOSMounterPath)
|
||||
return nil
|
||||
}
|
||||
|
||||
// prependCOSMounterFlag prepends the flag for setting the GCI mounter path to
|
||||
// args and returns the result.
|
||||
func prependCOSMounterFlag(args, host, workspace string) (string, error) {
|
||||
// If we are testing on a GCI/COS node, we chmod 544 the mounter and specify a different mounter path in the test args.
|
||||
// We do this here because the local var `workspace` tells us which /tmp/node-e2e-%d is relevant to the current test run.
|
||||
|
||||
// Determine if the GCI/COS mounter script exists locally.
|
||||
k8sDir, err := builder.GetK8sRootDir()
|
||||
if err != nil {
|
||||
return args, fmt.Errorf("could not find K8s root dir! Err: %v", err)
|
||||
}
|
||||
source := filepath.Join(k8sDir, localCOSMounterPath)
|
||||
|
||||
// Require the GCI/COS mounter script, we want to make sure the remote test runner stays up to date if the mounter file moves
|
||||
if _, err = os.Stat(source); err != nil {
|
||||
return args, fmt.Errorf("could not find GCI/COS mounter script at %q! If this script has been (re)moved, please update the e2e node remote test runner accordingly! Err: %v", source, err)
|
||||
}
|
||||
|
||||
glog.V(2).Infof("GCI/COS node and GCI/COS mounter both detected, modifying --experimental-mounter-path accordingly")
|
||||
// Note this implicitly requires the script to be where we expect in the tarball, so if that location changes the error
|
||||
// here will tell us to update the remote test runner.
|
||||
mounterPath := filepath.Join(workspace, localCOSMounterPath)
|
||||
output, err := SSH(host, "sh", "-c", fmt.Sprintf("'chmod 544 %s'", mounterPath))
|
||||
if err != nil {
|
||||
return args, fmt.Errorf("unabled to chmod 544 GCI/COS mounter script. Err: %v, Output:\n%s", err, output)
|
||||
}
|
||||
// Insert args at beginning of test args, so any values from command line take precedence
|
||||
mounterPath := filepath.Join(workspace, "mounter")
|
||||
args = fmt.Sprintf("--kubelet-flags=--experimental-mounter-path=%s ", mounterPath) + args
|
||||
return args, nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user