Change:
Which jobs are failing: Which test(s) are failing: Since when has it been failing: Last successful run (23 Oct 2020, 10:07 PDT): First unsuccessful run (23 Oct 2020, 12:08 PDT): Testgrid link: Reason for failure: Anything else we need to know: presubmit job in repository also started to fail in the same fashion. Attempted to debug it myself, found out the following stuff: last successful run was accessing the apiserver via HTTP: all unsuccessful runs attempted to access the apiserver via HTTPS but to no avail: perused the history of to find out that the PR is almost certainly the reason of the failures (or rather uncovered some problem with the NPD or its tests): first, it coincides with the start of the failures of , second, we changed the default hostname of the apiserver in node tests in that PR. Judging by the code and the changes in the aforementioned PR I think that a quick mitigation would be to add a flag to the of these jobs. /assign /sig node /cc
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the label and provide further guidance. The label can be by org members by writing in a comment. <detailsInstructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
Opened for a mitigation that would make those jobs stop failing.
This won't work, unfortunately. Copying response:
I have filed to address this issue, but it seems I could not run the test in advance to verify my patch, did you know how to manually trigger the presubmit job?
Unfortunately I don't :/. My PR was also a wild guess. could you take a look at the proposed fix? Thanks once again for your help - really appreciated :).
the submission of hasn't fixed the problems, unfortunately :/. Sample failing run: We still have some peculiar problem related to health checking: and now NPD panics, too:
Thanks for your report, I believe the reason is admission controller has been disabled in node e2e tests: We need to figure out a new approach now. /reopen
Reopened this issue. <detailsIn response to : Thanks for your report, I believe the reason is admission controller has been disabled in node e2e tests: We need to figure out a new approach now. Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
filed . I hope we could completely address this issue this time.
/milestone v1.20

Discussion:
] + select({ "@io_bazel_rules_go//go/platform:android": [ "//pkg/util/procfs:go_default_library", <del> "//staging/src/k8s.io/api/rbac/v1:go_default_library", </del> "//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",

], "@io_bazel_rules_go//go/platform:linux": [ "//pkg/util/procfs:go_default_library", <del> "//staging/src/k8s.io/api/rbac/v1:go_default_library", </del> "//staging/src/k8s.io/apimachinery/pkg/fields:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",

"github.com/onsi/ginkgo" "github.com/onsi/gomega" v1 "k8s.io/api/core/v1" <del> rbacv1 "k8s.io/api/rbac/v1" </del> metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels"

condition = v1.NodeConditionType("TestCondition") // File paths used in the test. <del> logFile      = "/log/test.log" configFile   = "/config/testconfig.json" etcLocaltime = "/etc/localtime" </del> <ins> logFile        = "/log/test.log" configFile     = "/config/testconfig.json" kubeConfigFile = "/config/kubeconfig" etcLocaltime   = "/etc/localtime" </ins> // Volumes used in the test. configVolume    = "config"

] }` <ins> // This token is known to apiserver and its group is `system:masters`. // See also the function `generateTokenFile` in `test/e2e_node/services/apiserver.go`. kubeConfig := fmt.Sprintf(` apiVersion: v1 kind: Config users: - name: node-problem-detector user: token: %s clusters: - cluster: server: %s insecure-skip-tls-verify: true name: local contexts: - context: cluster: local user: node-problem-detector name: local-context current-context: local-context `, framework.TestContext.BearerToken, framework.TestContext.Host) </ins> ginkgo.By("Generate event list options") selector := fields.Set{ "involvedObject.kind":      "Node",

ginkgo.By("Create config map for the node problem detector") _, err = c.CoreV1().ConfigMaps(ns).Create(context.TODO(), &v1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{Name: configName}, <del> Data:       map[string]string{path.Base(configFile): config}, }, metav1.CreateOptions{}) framework.ExpectNoError(err) ginkgo.By("Create the service account for node problem detector") _, err = f.ClientSet.CoreV1().ServiceAccounts(f.Namespace.Name).Create(context.TODO(), &v1.ServiceAccount{ ObjectMeta: metav1.ObjectMeta{ Name:      name, Namespace: ns, }, }, metav1.CreateOptions{}) framework.ExpectNoError(err) ginkgo.By("Bind the cluster role system:node-problem-detector with the service account for node problem detector") _, err = f.ClientSet.RbacV1().ClusterRoleBindings().Create(context.TODO(), &rbacv1.ClusterRoleBinding{ ObjectMeta: metav1.ObjectMeta{ Name: name, }, RoleRef: rbacv1.RoleRef{ APIGroup: rbacv1.GroupName, Kind:     "ClusterRole", Name:     "system:node-problem-detector", }, Subjects: []rbacv1.Subject{ { Kind:      rbacv1.ServiceAccountKind, Name:      name, Namespace: ns, }, </del> <ins> Data: map[string]string{ path.Base(configFile):     config, path.Base(kubeConfigFile): kubeConfig, </ins> }, }, metav1.CreateOptions{}) framework.ExpectNoError(err)

Args: []string{ "--logtostderr", fmt.Sprintf("--system-log-monitors=%s", configFile), <del> fmt.Sprintf(" --apiserver-override=%s?inClusterConfig=true", framework.TestContext.Host), </del> <ins> // `ServiceAccount` admission controller is disabled in node e2e tests, so we could not use // inClusterConfig here. fmt.Sprintf("--apiserver-override=%s?inClusterConfig=false&auth=%s", framework.TestContext.Host, kubeConfigFile), </ins> }, Env: []v1.EnvVar{ {

gomega.Expect(e2epod.WaitForPodToDisappear(c, ns, name, labels.Everything(), pollInterval, pollTimeout)).To(gomega.Succeed()) ginkgo.By("Delete the config map") c.CoreV1().ConfigMaps(ns).Delete(context.TODO(), configName, metav1.DeleteOptions{}) <del> ginkgo.By("Delete the service account") c.CoreV1().ServiceAccounts(ns).Delete(context.TODO(), name, metav1.DeleteOptions{}) ginkgo.By("Delete the clusterRoleBinding") c.RbacV1().ClusterRoleBindings().Delete(context.TODO(), name, metav1.DeleteOptions{}) </del> ginkgo.By("Clean up the events") gomega.Expect(c.CoreV1().Events(eventNamespace).DeleteCollection(context.TODO(), *metav1.NewDeleteOptions(0), eventListOptions)).To(gomega.Succeed()) ginkgo.By("Clean up the node condition")