Merge pull request #94823 from zhouya0/fix_e2e_hpa_failure

Fix e2e autoscaling namespace error
This commit is contained in:
Kubernetes Prow Robot 2020-09-16 21:12:44 -07:00 committed by GitHub
commit 51184187b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 16 deletions

View File

@ -259,11 +259,11 @@ func (tc *CustomMetricTestCase) Run() {
} }
defer monitoring.CleanupDescriptors(gcmService, projectID) defer monitoring.CleanupDescriptors(gcmService, projectID)
err = monitoring.CreateAdapter(tc.framework.Namespace.ObjectMeta.Name, monitoring.AdapterDefault) err = monitoring.CreateAdapter(monitoring.AdapterDefault)
if err != nil { if err != nil {
framework.Failf("Failed to set up: %v", err) framework.Failf("Failed to set up: %v", err)
} }
defer monitoring.CleanupAdapter(tc.framework.Namespace.ObjectMeta.Name, monitoring.AdapterDefault) defer monitoring.CleanupAdapter(monitoring.AdapterDefault)
// Run application that exports the metric // Run application that exports the metric
err = createDeploymentToScale(tc.framework, tc.kubeClient, tc.deployment, tc.pod) err = createDeploymentToScale(tc.framework, tc.kubeClient, tc.deployment, tc.pod)

View File

@ -252,11 +252,11 @@ func prometheusExporterPodSpec(metricName string, metricValue int64, port int32)
// CreateAdapter creates Custom Metrics - Stackdriver adapter // CreateAdapter creates Custom Metrics - Stackdriver adapter
// adapterDeploymentFile should be a filename for adapter deployment located in StagingDeploymentLocation // adapterDeploymentFile should be a filename for adapter deployment located in StagingDeploymentLocation
func CreateAdapter(namespace, adapterDeploymentFile string) error { func CreateAdapter(adapterDeploymentFile string) error {
// A workaround to make the work on GKE. GKE doesn't normally allow to create cluster roles, // A workaround to make the work on GKE. GKE doesn't normally allow to create cluster roles,
// which the adapter deployment does. The solution is to create cluster role binding for // which the adapter deployment does. The solution is to create cluster role binding for
// cluster-admin role and currently used service account. // cluster-admin role and currently used service account.
err := createClusterAdminBinding(namespace) err := createClusterAdminBinding()
if err != nil { if err != nil {
return err return err
} }
@ -265,12 +265,12 @@ func CreateAdapter(namespace, adapterDeploymentFile string) error {
if err != nil { if err != nil {
return err return err
} }
stat, err := framework.RunKubectl(namespace, "create", "-f", adapterURL) stat, err := framework.RunKubectl("", "create", "-f", adapterURL)
framework.Logf(stat) framework.Logf(stat)
return err return err
} }
func createClusterAdminBinding(namespace string) error { func createClusterAdminBinding() error {
stdout, stderr, err := framework.RunCmd("gcloud", "config", "get-value", "core/account") stdout, stderr, err := framework.RunCmd("gcloud", "config", "get-value", "core/account")
if err != nil { if err != nil {
framework.Logf(stderr) framework.Logf(stderr)
@ -278,7 +278,7 @@ func createClusterAdminBinding(namespace string) error {
} }
serviceAccount := strings.TrimSpace(stdout) serviceAccount := strings.TrimSpace(stdout)
framework.Logf("current service account: %q", serviceAccount) framework.Logf("current service account: %q", serviceAccount)
stat, err := framework.RunKubectl(namespace, "create", "clusterrolebinding", ClusterAdminBinding, "--clusterrole=cluster-admin", "--user="+serviceAccount) stat, err := framework.RunKubectl("", "create", "clusterrolebinding", ClusterAdminBinding, "--clusterrole=cluster-admin", "--user="+serviceAccount)
framework.Logf(stat) framework.Logf(stat)
return err return err
} }
@ -317,8 +317,8 @@ func CleanupDescriptors(service *gcm.Service, projectID string) {
} }
// CleanupAdapter deletes Custom Metrics - Stackdriver adapter deployments. // CleanupAdapter deletes Custom Metrics - Stackdriver adapter deployments.
func CleanupAdapter(namespace, adapterDeploymentFile string) { func CleanupAdapter(adapterDeploymentFile string) {
stat, err := framework.RunKubectl(namespace, "delete", "-f", adapterDeploymentFile) stat, err := framework.RunKubectl("", "delete", "-f", adapterDeploymentFile)
framework.Logf(stat) framework.Logf(stat)
if err != nil { if err != nil {
framework.Logf("Failed to delete adapter deployments: %s", err) framework.Logf("Failed to delete adapter deployments: %s", err)
@ -327,11 +327,11 @@ func CleanupAdapter(namespace, adapterDeploymentFile string) {
if err != nil { if err != nil {
framework.Logf("Failed to delete adapter deployment file: %s", err) framework.Logf("Failed to delete adapter deployment file: %s", err)
} }
cleanupClusterAdminBinding(namespace) cleanupClusterAdminBinding()
} }
func cleanupClusterAdminBinding(namespace string) { func cleanupClusterAdminBinding() {
stat, err := framework.RunKubectl(namespace, "delete", "clusterrolebinding", ClusterAdminBinding) stat, err := framework.RunKubectl("", "delete", "clusterrolebinding", ClusterAdminBinding)
framework.Logf(stat) framework.Logf(stat)
if err != nil { if err != nil {
framework.Logf("Failed to delete cluster admin binding: %s", err) framework.Logf("Failed to delete cluster admin binding: %s", err)

View File

@ -114,11 +114,11 @@ func testCustomMetrics(f *framework.Framework, kubeClient clientset.Interface, c
} }
defer CleanupDescriptors(gcmService, projectID) defer CleanupDescriptors(gcmService, projectID)
err = CreateAdapter(f.Namespace.Name, adapterDeployment) err = CreateAdapter(adapterDeployment)
if err != nil { if err != nil {
framework.Failf("Failed to set up: %s", err) framework.Failf("Failed to set up: %s", err)
} }
defer CleanupAdapter(f.Namespace.Name, adapterDeployment) defer CleanupAdapter(adapterDeployment)
_, err = kubeClient.RbacV1().ClusterRoleBindings().Create(context.TODO(), HPAPermissions, metav1.CreateOptions{}) _, err = kubeClient.RbacV1().ClusterRoleBindings().Create(context.TODO(), HPAPermissions, metav1.CreateOptions{})
if err != nil { if err != nil {
@ -162,11 +162,11 @@ func testExternalMetrics(f *framework.Framework, kubeClient clientset.Interface,
defer CleanupDescriptors(gcmService, projectID) defer CleanupDescriptors(gcmService, projectID)
// Both deployments - for old and new resource model - expose External Metrics API. // Both deployments - for old and new resource model - expose External Metrics API.
err = CreateAdapter(f.Namespace.Name, AdapterForOldResourceModel) err = CreateAdapter(AdapterForOldResourceModel)
if err != nil { if err != nil {
framework.Failf("Failed to set up: %s", err) framework.Failf("Failed to set up: %s", err)
} }
defer CleanupAdapter(f.Namespace.Name, AdapterForOldResourceModel) defer CleanupAdapter(AdapterForOldResourceModel)
_, err = kubeClient.RbacV1().ClusterRoleBindings().Create(context.TODO(), HPAPermissions, metav1.CreateOptions{}) _, err = kubeClient.RbacV1().ClusterRoleBindings().Create(context.TODO(), HPAPermissions, metav1.CreateOptions{})
if err != nil { if err != nil {