mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-20 18:31:15 +00:00
Merge pull request #84412 from jfbai/move-funcs-of-nodeutil-to-cloud-gcp
Move funcs of node_util to cloud/gcp.
This commit is contained in:
commit
efe5edfb3d
@ -9,6 +9,7 @@ go_library(
|
|||||||
importpath = "k8s.io/kubernetes/test/e2e/cloud",
|
importpath = "k8s.io/kubernetes/test/e2e/cloud",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
|
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
|
@ -19,6 +19,7 @@ package cloud
|
|||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
@ -55,7 +56,7 @@ var _ = SIGDescribe("[Feature:CloudProvider][Disruptive] Nodes", func() {
|
|||||||
|
|
||||||
framework.Logf("Original number of ready nodes: %d", len(origNodes.Items))
|
framework.Logf("Original number of ready nodes: %d", len(origNodes.Items))
|
||||||
|
|
||||||
err = framework.DeleteNodeOnCloudProvider(nodeToDelete)
|
err = deleteNodeOnCloudProvider(nodeToDelete)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
framework.Failf("failed to delete node %q, err: %q", nodeToDelete.Name, err)
|
framework.Failf("failed to delete node %q, err: %q", nodeToDelete.Name, err)
|
||||||
}
|
}
|
||||||
@ -73,3 +74,8 @@ var _ = SIGDescribe("[Feature:CloudProvider][Disruptive] Nodes", func() {
|
|||||||
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// DeleteNodeOnCloudProvider deletes the specified node.
|
||||||
|
func deleteNodeOnCloudProvider(node *v1.Node) error {
|
||||||
|
return framework.TestContext.CloudConfig.Provider.DeleteNode(node)
|
||||||
|
}
|
||||||
|
@ -281,43 +281,6 @@ func nodePoolsGKE() ([]string, error) {
|
|||||||
return strings.Fields(stdout), nil
|
return strings.Fields(stdout), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// MigTemplate (GCE-only) returns the name of the MIG template that the
|
|
||||||
// nodes of the cluster use.
|
|
||||||
func MigTemplate() (string, error) {
|
|
||||||
var errLast error
|
|
||||||
var templ string
|
|
||||||
key := "instanceTemplate"
|
|
||||||
if wait.Poll(Poll, SingleCallTimeout, func() (bool, error) {
|
|
||||||
// TODO(mikedanese): make this hit the compute API directly instead of
|
|
||||||
// shelling out to gcloud.
|
|
||||||
// An `instance-groups managed describe` call outputs what we want to stdout.
|
|
||||||
output, _, err := retryCmd("gcloud", "compute", "instance-groups", "managed",
|
|
||||||
fmt.Sprintf("--project=%s", TestContext.CloudConfig.ProjectID),
|
|
||||||
"describe",
|
|
||||||
fmt.Sprintf("--zone=%s", TestContext.CloudConfig.Zone),
|
|
||||||
TestContext.CloudConfig.NodeInstanceGroup)
|
|
||||||
if err != nil {
|
|
||||||
errLast = fmt.Errorf("gcloud compute instance-groups managed describe call failed with err: %v", err)
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// The 'describe' call probably succeeded; parse the output and try to
|
|
||||||
// find the line that looks like "instanceTemplate: url/to/<templ>" and
|
|
||||||
// return <templ>.
|
|
||||||
if val := ParseKVLines(output, key); len(val) > 0 {
|
|
||||||
url := strings.Split(val, "/")
|
|
||||||
templ = url[len(url)-1]
|
|
||||||
Logf("MIG group %s using template: %s", TestContext.CloudConfig.NodeInstanceGroup, templ)
|
|
||||||
return true, nil
|
|
||||||
}
|
|
||||||
errLast = fmt.Errorf("couldn't find %s in output to get MIG template. Output: %s", key, output)
|
|
||||||
return false, nil
|
|
||||||
}) != nil {
|
|
||||||
return "", fmt.Errorf("MigTemplate() failed with last error: %v", errLast)
|
|
||||||
}
|
|
||||||
return templ, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func gceUpgradeScript() string {
|
func gceUpgradeScript() string {
|
||||||
if len(TestContext.GCEUpgradeScript) == 0 {
|
if len(TestContext.GCEUpgradeScript) == 0 {
|
||||||
return path.Join(TestContext.RepoRoot, "cluster/gce/upgrade.sh")
|
return path.Join(TestContext.RepoRoot, "cluster/gce/upgrade.sh")
|
||||||
@ -401,8 +364,3 @@ func (k *NodeKiller) kill(nodes []v1.Node) {
|
|||||||
}
|
}
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeleteNodeOnCloudProvider deletes the specified node.
|
|
||||||
func DeleteNodeOnCloudProvider(node *v1.Node) error {
|
|
||||||
return TestContext.CloudConfig.Provider.DeleteNode(node)
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user