jiebi/CodeConvo huggingface dataset:
Change:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . --Is this a BUG REPORT or FEATURE REQUEST?: /kind feature What happened: e2e tests provide only an (IPv4) ping test for external connectivity. What you expected to happen: Need a way to conditionally run a ping6 external connectivity check, and disable the (IPv4) external connectivity check, for IPv6-only clusters. How to reproduce it (as minimally and precisely as possible): Examine the e2e code ((), or run this test on an IPv6-only cluster. Anything else we need to know?: This test will be needed for IPv6 gating CI tests, at least until Kubernetes dual-stack is fully implemented. /area ipv6 Environment: Kubernetes version (use ): Latest master Cloud provider or hardware configuration**: VirtualBox cluster, Ubuntu 16.04.1 host, CentOS 7 guests OS (e.g. from /etc/os-release): CentOS 7 Kernel (e.g. ): 3.10.0-514.26.2.el7.x8664 SMP Tue Jul 4 15:04:05 UTC 2017 x8664 x8664 x8664 GNU/Linux Install tools: Others:
There are no sig labels on this issue. Please by: a sig: e.g., to notify the contributor experience sig, OR the label manually: e.g., to apply the label Note: Method 1 will trigger an email to the group. You can find the group list and label list . The in the method 1 has to be replaced with one of these: bugs, feature-requests, pr-reviews, test-failures, proposals
/sig network

Discussion:
return } <ins> type PingCommand string const ( IPv4PingCommand PingCommand = "ping" IPv6PingCommand PingCommand = "ping6" ) </ins> // CheckConnectivityToHost launches a pod to test connectivity to the specified // host. An error will be returned if the host is not reachable from the pod. // // An empty nodeName will use the schedule to choose where the pod is executed. <del> func CheckConnectivityToHost(f *Framework, nodeName, podName, host string, timeout int) error { </del> <ins> func CheckConnectivityToHost(f *Framework, nodeName, podName, host string, pingCmd PingCommand, timeout int) error { </ins> contName := fmt.Sprintf("%s-container", podName) command := []string{ <del> "ping", </del> <ins> string(pingCmd), </ins> "-c", "3", // send 3 pings "-W", "2", // wait at most 2 seconds for a reply "-w", strconv.Itoa(timeout),

} }) <del> It("should provide Internet connection for containers", func() { </del> <ins> It("should provide Internet connection for containers [Feature:Networking-IPv4]", func() { </ins> By("Running container which tries to ping 8.8.8.8") framework.ExpectNoError( <del> framework.CheckConnectivityToHost(f, "", "ping-test", "8.8.8.8", 30)) </del> <ins> framework.CheckConnectivityToHost(f, "", "ping-test", "8.8.8.8", framework.IPv4PingCommand, 30)) }) It("should provide Internet connection for containers [Feature:Networking-IPv6][Experimental]", func() { By("Running container which tries to ping google.com") framework.ExpectNoError( framework.CheckConnectivityToHost(f, "", "ping-test", "google.com", framework.IPv6PingCommand, 30)) </ins> }) // First test because it has no dependencies on variables created later on.
Change:
Is this a BUG REPORT or FEATURE REQUEST?: /kind bug What happened: According to the two changes are required to enable it: Add to apiserver and scheduler. Add to apiserver. So I modified the apiserver manifest: And the scheduler manifest: confirms that both are running with the required changes. However, I cannot create PodPriorities by following the example in the documentation: also doesn't think the API is enabled: The only relevant message in the apiserver log is: What you expected to happen: I expected to be able to create podpriority resources by following the example in the documentation. How to reproduce it (as minimally and precisely as possible): See description. Anything else we need to know?: Environment: Kubernetes version (use ):Cloud provider or hardware configuration**: GCE OS (e.g. from /etc/os-release): CentOS Linux 7.4 (1708) Kernel (e.g. ): Linux master-head-1 4.13.4- SMP Wed Sep 27 13:32:23 EDT 2017 x8664 x8664 x8664 GNU/Linux Install tools: Custom scripts Others:
/sig scheduling
The example yaml of priorityclass is wrong, the right version is
please try the recommendation from and close this issue?
unfortunately that version change to the YAML does not fix the problem for me either: To me it looks like the error message points me to where I don't see defined?
Yes, you are right, I have commit a pr to fix this.
Not sure but after using the updated config I am able to create Priority Class successfully but unable to use the feature while creating POD. Here are the errors observed Getting following error while creating pod: The PodPriority is enabled in both API server and Scheduler
I'm able to create PriorityClass and schedule pod with specified PriorityClass on Minikube 0.26.0. ` !
This issue was sorted - on kubeadm production setup, this flag needs to be enabled for kubelet as well - updated doc
I've created the PriorityClass and deployed the pod with the specified PriorityClass. The pod is getting created. I'm wondering is there any way to check the PriorityClass of the pod either in UI or CLI? The steps you've shown is giving me the same result. Can you please help me ? Thanks in advance.

Discussion:
{Group: "storage.k8s.io", Version: "v1beta1"}:                {group: 16800, version: 9}, {Group: "apiextensions.k8s.io", Version: "v1beta1"}:          {group: 16700, version: 9}, {Group: "admissionregistration.k8s.io", Version: "v1alpha1"}: {group: 16700, version: 9}, <ins> {Group: "scheduling.k8s.io", Version: "v1alpha1"}:            {group: 16600, version: 9}, </ins> } func apiServicesToRegister(delegateAPIServer genericapiserver.DelegationTarget, registration autoregister.AutoAPIServiceRegistration) []*apiregistration.APIService {
Change:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . --Is this a BUG REPORT or FEATURE REQUEST?: /kind bug What happened: The makeMounts function adding volumes to the volumes list if the volume doesn't exist or mounter doesn't exist. This is potentially dangerous behavior because an application can write to the mount path (if it already exists in the container image) expecting it to be backed by a persistent volume, but in fact, is only backed by the container rootfs, which is ephemeral. We probably have not seen this issue manifest in the wild because the volume not existing or mounter being nil should never happen, and also the application would probably see a path/file does not exist error first. What you expected to happen: If we can't mount all of the user's requested volumes into the container, we should fail to start the container. /assign /sig storage node /cc

Discussion:
mountEtcHostsFile = mountEtcHostsFile && (mount.MountPath != etcHostsPath) vol, ok := podVolumes[mount.Name] if !ok || vol.Mounter == nil { <del> glog.Warningf("Mount cannot be satisfied for container %q, because the volume is missing or the volume mounter is nil: %q", container.Name, mount) continue </del> <ins> glog.Errorf("Mount cannot be satisfied for container %q, because the volume is missing or the volume mounter is nil: %+v", container.Name, mount) return nil, fmt.Errorf("cannot find volume %q to mount into container %q", mount.Name, container.Name) </ins> } relabelVolume := false

expectErr:      true, expectedErrMsg: "unable to provision SubPath `no/backsteps/../allowed`: must not contain '..'", }, <ins> "volume doesn't exist": { podVolumes: kubecontainer.VolumeMap{}, container: v1.Container{ VolumeMounts: []v1.VolumeMount{ { MountPath: "/mnt/path3", Name:      "disk", ReadOnly:  true, }, }, }, expectErr:      true, expectedErrMsg: "cannot find volume "disk" to mount into container """, }, "volume mounter is nil": { podVolumes: kubecontainer.VolumeMap{ "disk": kubecontainer.VolumeInfo{}, }, container: v1.Container{ VolumeMounts: []v1.VolumeMount{ { MountPath: "/mnt/path3", Name:      "disk", ReadOnly:  true, }, }, }, expectErr:      true, expectedErrMsg: "cannot find volume "disk" to mount into container """, }, </ins> } for name, tc := range testCases {
Change:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . --Is this a BUG REPORT or FEATURE REQUEST?: /kind bug What happened: alpha suite has been failing in the BeforeSuite since 9/22 Did we recently enable some alpha taints feature?
It may be related to cc
/assign
, do you know how to trigger this test in CI, e.g. ?
I don't think there's a way to launch a ci job from here.
This seems to be the same failure as . You can trigger the GKE GPU tests on PRs using . GKE GPU tests use alpha features.
sure, let me add some instrument code and trigger test by ci :).

Discussion:
// TODO(resouer): think about lazily initialize this set invalidPredicates := sets.NewString() <del> oldTaints, oldErr := helper.GetTaintsFromNodeAnnotations(oldNode.GetAnnotations()) if oldErr != nil { glog.Errorf("Failed to get taints from old node annotation for equivalence cache") } newTaints, newErr := helper.GetTaintsFromNodeAnnotations(newNode.GetAnnotations()) if newErr != nil { glog.Errorf("Failed to get taints from new node annotation for equivalence cache") } </del> if !reflect.DeepEqual(oldNode.Status.Allocatable, newNode.Status.Allocatable) { invalidPredicates.Insert("GeneralPredicates") // "PodFitsResources" }

} } } <del> if !reflect.DeepEqual(oldTaints, newTaints) { </del> <ins> oldTaints, oldErr := helper.GetTaintsFromNodeAnnotations(oldNode.GetAnnotations()) if oldErr != nil { glog.Errorf("Failed to get taints from old node annotation for equivalence cache") } newTaints, newErr := helper.GetTaintsFromNodeAnnotations(newNode.GetAnnotations()) if newErr != nil { glog.Errorf("Failed to get taints from new node annotation for equivalence cache") } if !reflect.DeepEqual(oldTaints, newTaints) || !reflect.DeepEqual(oldNode.Spec.Taints, newNode.Spec.Taints) { </ins> invalidPredicates.Insert("PodToleratesNodeTaints") } if !reflect.DeepEqual(oldNode.Status.Conditions, newNode.Status.Conditions) { oldConditions := make(map[v1.NodeConditionType]v1.ConditionStatus) newConditions := make(map[v1.NodeConditionType]v1.ConditionStatus)
Change:
/kind bug What happened: Federation set up using kubefed uses invalid reference format, breaking the Federation control plane. What you expected to happen: That it works. How to reproduce it (as minimally and precisely as possible): Try to set up a control plane using kubefed. Anything else we need to know?: Environment: Kubernetes version (use ): Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0+", GitCommit:"", GitTreeState:"dirty", BuildDate:"2017-10-02T09:48:25Z", GoVersion:"go1.9", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"7+", GitVersion:"v1.7.6-gke.1", GitCommit:"", GitTreeState:"clean", BuildDate:"2017-09-27T21:21:34Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"} Cloud provider or hardware configuration**: GCP OS (e.g. from /etc/os-release): Ubuntu Xenial Kernel (e.g. ): Irrelevant Install tools: GKE
There are no sig labels on this issue. Please by: a sig: e.g., to notify the contributor experience sig, OR the label manually: e.g., to apply the label Note: Method 1 will trigger an email to the group. You can find the group list and label list . The in the method 1 has to be replaced with one of these: bugs, feature-requests, pr-reviews, test-failures, proposals
Reiterating the mentions to trigger a notification: <detailsIn response to : /sig federation /cc 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
cc might be able to help.
/assign
Assigning to you from the build cop rotation.
the fix for this issue is identified and fixed in . But it will take a while to be available on stable releases. Meanwhile you can use flag to to pass specific hyperkube version.

Discussion:
import ( "fmt" "os" <ins> "strings" </ins> "k8s.io/kubernetes/federation/pkg/kubefed" _ "k8s.io/kubernetes/pkg/client/metrics/prometheus" // for client metric registration

) func GetDefaultServerImage() string { <del> return fmt.Sprintf("%s:%s", hyperkubeImageName, version.Get()) </del> <ins> return fmt.Sprintf("%s:%s", hyperkubeImageName, strings.Replace(version.Get().String(), "+", "_", 1)) </ins> } func Run() error {
Change:
/kind bug What happened: If the cloud provider attempts to reserve an IP and it's already reserved, it should continue syncing. Instead, it's returning an error and causing the service controller to retry. The above code only checks for 409 status code, but we need to also check for code 400. If I recall correctly, 409 happens for naming conflicts while 400 occurs for external address conflict. How to reproduce it (as minimally and precisely as possible): a load balancer service address to static with a random name. an LB sync. /sig network /area platform/gce
I don't think we gain anything by backporting the func to 1.7, right? Checking for both status codes seems to be sufficient.
Correct. It could be a minor performance optimization, but wouldn't help with the correctness. Agreed.
Actually, it's not sufficient. Right after that block of code, it tries to retrieve the address by name - a name which may be the user's. I'm thinking this issue is not worth fixing. I don't want to make more changes for a minor edge case.
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
/lifecycle frozen
/remove-lifecycle stale

Discussion:
existed = true } <ins> // If address exists, get it by IP, because name might be different. // This can specifically happen if the IP was changed from ephemeral to static, // which results in a new name for the IP. if existingIP != "" { addr, err := s.GetRegionAddressByIP(region, existingIP) if err != nil { return "", false, fmt.Errorf("error getting static IP address: %v", err) } return addr.Address, existed, nil } // Otherwise, get address by name </ins> addr, err := s.GetRegionAddress(name, region) if err != nil { return "", false, fmt.Errorf("error getting static IP address: %v", err)

if err != nil || !existed || ip != ipPrime { t.Fatalf(`ensureStaticIP(%v, %v, %v, %v, %v) = %v, %v, %v; want %v, true, nil`, gce, ipName, serviceName, gce.region, ip, ipPrime, existed, err, ip) } <ins> // Ensure call with different name ipName = "another-name-for-static-ip" ipPrime, existed, err = ensureStaticIP(gce, ipName, serviceName, gce.region, ip, cloud.NetworkTierDefault) if err != nil || !existed || ip != ipPrime { t.Fatalf(`ensureStaticIP(%v, %v, %v, %v, %v) = %v, %v, %v; want %v, true, nil`, gce, ipName, serviceName, gce.region, ip, ipPrime, existed, err, ip) } </ins> } func TestEnsureStaticIPWithTier(t *testing.T) {
Change:
and node should sort by namespace / name so that results don't jump around. We should consider adding sort, but only after we make a stable sort the default.
next Also, why does it sometimes lose nodes? Annoying
I did not reproduce this. I think this may be caused by the monitoring timeout of heapster. So that the data got missing.

Discussion:
import ( "fmt" "io" <ins> "sort" </ins> "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/api"

w := printers.GetNewTabWriter(printer.out) defer w.Flush() <ins> sort.Slice(metrics, func(i, j int) bool { return metrics[i].Name < metrics[j].Name }) </ins> printColumnNames(w, NodeColumns) var usage api.ResourceList for _, m := range metrics {

if printContainers { printValue(w, PodColumn) } <ins> sort.Slice(metrics, func(i, j int) bool { if withNamespace && metrics[i].Namespace != metrics[j].Namespace { return metrics[i].Namespace < metrics[j].Namespace } return metrics[i].Name < metrics[j].Name }) </ins> printColumnNames(w, PodColumns) for _, m := range metrics { err := printSinglePodMetrics(w, &m, printContainers, withNamespace)
Change:
<!-- This form is for bug reports and feature requests ONLY! If you're looking for help check and the . --Is this a BUG REPORT or FEATURE REQUEST?: /kind bug /assign What happened: Looks like the event messaging has changed

Discussion:
cleanupLocalVolume(config, testVol) }) <del> It("should be able to mount and read from the volume using one-command containers", func() { By("Creating a pod to read from the PV") readCmd := createReadCmd(volumeDir, testFile) podSpec := makeLocalPod(config, testVol, readCmd) //testFileContent was written during setupLocalVolume f.TestContainerOutput("pod reads PV", podSpec, 0, []string{testFileContent}) }) It("should be able to mount and write to the volume using one-command containers", func() { By("Creating a pod to write to the PV") writeCmd, readCmd := createWriteAndReadCmds(volumeDir, testFile, testVol.hostDir /*writeTestFileContent*/) writeThenReadCmd := fmt.Sprintf("%s;%s", writeCmd, readCmd) podSpec := makeLocalPod(config, testVol, writeThenReadCmd) f.TestContainerOutput("pod writes to PV", podSpec, 0, []string{testVol.hostDir}) }) </del> It("should be able to mount volume and read from pod1", func() { By("Creating pod1") pod1, pod1Err := createLocalPod(config, testVol)

AfterEach(func() { cleanupLocalVolume(config, testVol) }) <del> It("should be able to mount volume, write from pod1, and read from pod2 using one-command containers", func() { By("Creating pod1 to write to the PV") writeCmd, readCmd := createWriteAndReadCmds(volumeDir, testFile, testVol.hostDir /*writeTestFileContent*/) writeThenReadCmd := fmt.Sprintf("%s;%s", writeCmd, readCmd) podSpec1 := makeLocalPod(config, testVol, writeThenReadCmd) f.TestContainerOutput("pod writes to PV", podSpec1, 0, []string{testVol.hostDir}) By("Creating pod2 to read from the PV") podSpec2 := makeLocalPod(config, testVol, readCmd) f.TestContainerOutput("pod reads PV", podSpec2, 0, []string{testVol.hostDir}) }) </del> }) LocalVolumeTypes := []LocalVolumeType{DirectoryLocalVolumeType, TmpfsLocalVolumeType}

reason:  "FailedScheduling", pattern: make([]string, 2)} ep.pattern = append(ep.pattern, "MatchNodeSelector") <del> ep.pattern = append(ep.pattern, "No nodes are available") </del> <ins> ep.pattern = append(ep.pattern, "NoVolumeNodeConflict") </ins> for _, testVolType := range LocalVolumeTypes { It("should not be able to mount due to different NodeAffinity", func() {
Change:
Once that event expires I'm fairly certain I would have no idea that the node is cordoned.
can we add one line when , wdyt?
/assign
We should probably reflect the actual field, rather than call it Cordoned. We try to use (as much as possible) the same terminology in the UI as in the API. Unschedulable would probably be sufficient
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale

Discussion:
} printLabelsMultiline(w, "Labels", node.Labels) printAnnotationsMultiline(w, "Annotations", node.Annotations) <del> printNodeTaintsMultiline(w, "Taints", node.Spec.Taints) </del> w.Write(LEVEL_0, "CreationTimestamp:t%sn", node.CreationTimestamp.Time.Format(time.RFC1123Z)) <ins> printNodeTaintsMultiline(w, "Taints", node.Spec.Taints) w.Write(LEVEL_0, "Unschedulable:t%vn", node.Spec.Unschedulable) </ins> if len(node.Status.Conditions) > 0 { w.Write(LEVEL_0, "Conditions:n  TypetStatustLastHeartbeatTimetLastTransitionTimetReasontMessagen") w.Write(LEVEL_1, "----t------t-----------------t------------------t------t-------n")

} <ins> func TestDescribeNode(t *testing.T) { fake := fake.NewSimpleClientset(&api.Node{ ObjectMeta: metav1.ObjectMeta{ Name:      "bar", Namespace: "foo", }, Spec: api.NodeSpec{ Unschedulable: true, }, }) c := &describeClient{T: t, Namespace: "foo", Interface: fake} d := NodeDescriber{c} out, err := d.Describe("foo", "bar", printers.DescriberSettings{ShowEvents: true}) if err != nil { t.Errorf("unexpected error: %v", err) } expectedOut := []string{"Unschedulable", "true"} for _, expected := range expectedOut { if !strings.Contains(out, expected) { t.Errorf("expected to find %q in output: %q", expected, out) } } } </ins> // boolPtr returns a pointer to a bool func boolPtr(b bool) *bool { o := b
Change:
/kind bug /sig cli What happened: The same path was multiple times to KUBECONFIG env variable. What you expected to happen: How to reproduce it (as minimally and precisely as possible): Anything else we need to know?: Environment: Kubernetes version (use ): Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"", GitTreeState:"clean", BuildDate:"2017-10-05T00:40:04Z", GoVersion:"go1.9.1", Compiler:"gc", Platform:"darwin/amd64"} Cloud provider or hardware configuration**: Irrelevant OS (e.g. from /etc/os-release): MacOS Sierra 10.12.6 Kernel (e.g. ): Darwin Kernel Version 16.7.0 Install tools: brew install kubernetes-cli Others:
I would help fix it.
Issues go stale after 90d of inactivity. Mark the issue as fresh with . Stale issues rot after an additional 30d of inactivity and eventually close. Prevent issues from auto-closing with an comment. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle stale
Stale issues rot after 30d of inactivity. Mark the issue as fresh with . Rotten issues close after an additional 30d of inactivity. If this issue is safe to close now please do so with . Send feedback to sig-testing, kubernetes/test-infra and/or . /lifecycle rotten /remove-lifecycle stale
Rotten issues close after 30d of inactivity. Reopen the issue with . Mark the issue as fresh with . Send feedback to sig-testing, kubernetes/test-infra and/or . /close

Discussion:
return []string{} } <del> return filepath.SplitList(envVarValue) </del> <ins> fileList := filepath.SplitList(envVarValue) // prevent the same path load multiple times return deduplicate(fileList) </ins> } func (o *PathOptions) GetLoadingPrecedence() []string {

envVarFiles := os.Getenv(RecommendedConfigPathEnvVar) if len(envVarFiles) != 0 { <del> chain = append(chain, filepath.SplitList(envVarFiles)...) </del> <ins> fileList := filepath.SplitList(envVarFiles) // prevent the same path load multiple times chain = append(chain, deduplicate(fileList)...) </ins> } else { chain = append(chain, RecommendedHomeFile)

} return path, nil } <ins> // deduplicate removes any duplicated values and returns a new slice, keeping the order unchanged func deduplicate(s []string) []string { encountered := map[string]bool{} ret := make([]string, 0) for i := range s { if encountered[s[i]] { continue } encountered[s[i]] = true ret = append(ret, s[i]) } return ret } </ins>

//   user: //     token: red-token } <ins> func TestDeduplicate(t *testing.T) { testCases := []struct { src    []string expect []string }{ { src:    []string{"a", "b", "c", "d", "e", "f"}, expect: []string{"a", "b", "c", "d", "e", "f"}, }, { src:    []string{"a", "b", "c", "b", "e", "f"}, expect: []string{"a", "b", "c", "e", "f"}, }, { src:    []string{"a", "a", "b", "b", "c", "b"}, expect: []string{"a", "b", "c"}, }, } for _, testCase := range testCases { get := deduplicate(testCase.src) if !reflect.DeepEqual(get, testCase.expect) { t.Errorf("expect: %v, get: %v", testCase.expect, get) } } } </ins>