jiebi/CodeConvo huggingface dataset:
Change:
// 	    # certFile: "/etcd/kubernetes/pki/etcd/etcd.crt" // 	    # keyFile: "/etcd/kubernetes/pki/etcd/etcd.key" // 	networking: <del> // 	  serviceSubnet: "10.96.0.0/12" // 	  podSubnet: "10.100.0.1/24" </del> <ins> // 	  serviceSubnet: "10.96.0.0/16" // 	  podSubnet: "10.244.0.0/24" </ins> // 	  dnsDomain: "cluster.local" <del> // 	kubernetesVersion: "v1.12.0" </del> <ins> // 	kubernetesVersion: "v1.21.0" </ins> // 	controlPlaneEndpoint: "10.100.0.1:6443" // 	apiServer: // 	  extraArgs:

Discussion:
<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks! If the matter is security related, please disclose it privately via --I am trying to learn how to use kubeadm well and it looks like there may be a problem in the example configuration in . It says , but also uses address 10.100.0.1 for various host things like the kube-apiserver and the etcd server and the scheduler. Also, interestingly, it puts a different address --- 10.100.1.1 --- in the apiserver's cert SANs. I expected to not be confused. Kubernetes version (use ): 1.21.1 Cloud provider or hardware configuration: OS (e.g: ): Kernel (e.g. ): Install tools: Network plugin and version (if this is a network-related bug): Others:
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
seems more like sig/cluster-lifecycle?
/area kubeadm
Sorry, typo, corrected.
But the 'bot does not seem to have noticed the edit.
/remove-sig multicluster
/sig cluster-lifecycle
yeah, FWIW commands are never evaluated on comment edit versus a new comment so that trivial edits do not e.g. restart tests etc. also no need to apologize! just trying to make sure things get the attention of the right folks. in particular seems to stay pretty on top of SCL/kubeadm issues
For the certs sans part, it seems to be intended as the comments above. For podSubnet and node Address overlap, it may be not suggested? Let me check.

Here is an example for dual-stack:
The podSubnet part in the dual stack example is suggested by in
he is right, the docs are wrong should be 10.100.0.0/24, but I think that is more an aesthetic issue, and the code will take the right subnet, but for docs is better to be pedantic yeah, that is why I always suggest to use subnets with more clear differentiation, 10.100.0.0/24 and 10.100.1.0/24 are easy to get wrong, however , 10.96.0.0/16 and 10.244.0.0/16 are not
Change:
claim := state.claims[index] if len(claim.Status.ReservedFor) == 0 || len(claim.Status.ReservedFor) == 1 && claim.Status.ReservedFor[0].UID == pod.UID { <ins> // Before we tell a driver to deallocate a claim, we // have to stop telling it to allocate. Otherwise, // depending on timing, it will deallocate the claim, // see a PodSchedulingContext with selected node, and // allocate again for that same node. if state.podSchedulingState.schedulingCtx != nil && state.podSchedulingState.schedulingCtx.Spec.SelectedNode != "" { state.podSchedulingState.selectedNode = ptr.To("") if err := state.podSchedulingState.publish(ctx, pod, pl.clientset); err != nil { return nil, statusError(logger, err) } } </ins> claim := state.claims[index].DeepCopy() claim.Status.DeallocationRequested = true claim.Status.ReservedFor = nil

Discussion:
/kind failing-test /kind flake /sig node /assign
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
Change:
CudaVectorAdd2 // Dnsutils image Dnsutils <del> // DebianBase image DebianBase </del> // EchoServer image EchoServer // Etcd image

Discussion:
<!-- Please only use this template for submitting reports about failing tests in Kubernetes CI jobs --Which jobs are failing: jobs primarely, like: Which test(s) are failing: [] Container Runtime blackbox test when running a container with a new image should be able to pull image from [NodeConformance] Since when has it been failing: Since this commit merged: Testgrid link: Reason for failure: The test should always pull the image from (), it is not configurable. Anything else we need to know: /sig testing /sig windows /area conformance This issue was fixed once before:
Change:
labels.Everything(), labels.Set{ "involvedObject.name":      name, <del> "involvedObject.kind":      "Pod", </del> "involvedObject.namespace": namespace, }.AsSelector(), )

Discussion:
We introduced UID / UUID to provide time-based uniqueness, but UID / UUID are not user friendly. We are going to have this kind of issues in general at client side.
Yeah, describe does a "get" first, so it has the UID available.
Pretty sure this is a feature until we have a way to lookup dead pods. On Nov 21, 2014 2:47 PM, "Daniel Smith" wrote:
Change:
import ( "context" "errors" <ins> "fmt" "io/ioutil" </ins> "os" <ins> "path/filepath" </ins> "regexp" "strings" "time" "github.com/golang/glog" "github.com/vmware/govmomi/vim25" <del> "fmt" </del> "github.com/vmware/govmomi/vim25/mo" <del> "io/ioutil" </del> "k8s.io/api/core/v1" k8stypes "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere/vclib" "k8s.io/kubernetes/pkg/cloudprovider/providers/vsphere/vclib/diskmanagers" "k8s.io/kubernetes/pkg/util/version" <del> "path/filepath" </del> ) const (

Discussion:
/kind bug /sig release call will never be execute.
/assign
Maybe just cleanUpDummyVMLock.Lock() is you want? The is in infinite loop, and will never execute. I hope to get your reply to help fix it.
yes we need to correct this as below in the routine.
Change:
func (v *ValidationError) Error() string { var s string switch v.Type { <del> case ValidationErrorTypeRequired: </del> <ins> case ValidationErrorTypeRequired, ValidationErrorTypeTooLong: </ins> s = spew.Sprintf("%s: %s", v.Field, v.Type) default: s = spew.Sprintf("%s: %s '%+v'", v.Field, v.Type, v.BadValue)

Discussion:
For example, creating a service with id 'redis-master10012345678999' fails and the returned message contains the following: "message": "service "redis-master10012345678999" is invalid: name: invalid value 'redis-master10012345678999' 'invalid value' is too general, users should understand exactly what is wrong with the input. for example - is it too long? does it contain characters that are not allowed?
Agree - there is now a place to stick the explanations in the ValidationError - we need to link together validation logic and that string. , abonas wrote:
I checked and it seems there are only two errors that do not have detailed explanation. I'll send a PR to fix this.
This is one:
Thanks for the pointer Brian! I'll send second PR to fix this one.
Still second PR to be sent.
Change:
// probeWorker continues polling a pod connectivity status, until the incoming "jobs" channel is closed, and writes results back out to the "results" channel. // it only writes pass/fail status to a channel and has no failure side effects, this is by design since we do not want to fail inside a goroutine. <del> func probeWorker(k8s *kubeManager, jobs <-chan *ProbeJob, results chan<- *ProbeJobResults) { </del> <ins> func probeWorker(k8s *kubeManager, jobs <-chan *ProbeJob, results chan<- *ProbeJobResults, timeoutSeconds int) { </ins> defer ginkgo.GinkgoRecover() for job := range jobs { podFrom := job.PodFrom <del> connected, command, err := k8s.probeConnectivity(podFrom.Namespace, podFrom.Name, podFrom.Containers[0].Name(), job.PodTo.QualifiedServiceAddress(job.ToPodDNSDomain), job.Protocol, job.ToPort) </del> <ins> connected, command, err := k8s.probeConnectivity(podFrom.Namespace, podFrom.Name, podFrom.Containers[0].Name(), job.PodTo.QualifiedServiceAddress(job.ToPodDNSDomain), job.Protocol, job.ToPort, timeoutSeconds) </ins> result := &ProbeJobResults{ Job:         job, IsConnected: connected,

Discussion:
<!-- Please only use this template for submitting enhancement requests --What would you like to be : Ive done preliminary testing with on calico powered clusters on some windows variants and found that the probing seems to work. Can we add wrapper to netpol suite so that we can run it on windows clusters ? Why is this needed: We need this because otherwise, CNIs such as EKS will give us This error is caused when, for example, pods that are landing on a windows node havent defined their target platform. Somehow i guess pods which are landing on linux nodes dont have this issue. Its also needed for the obvious reason that we probably want separate linux and windows test suites for policies, in general, even though we expect the logic to be identical (modulo hostports , which we dont currently test)
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
/sig windows
/assign
grepping around, I can't figure out where those are supposed to go. Can you give me pointers?
(resolved in slack, matts digging into this)
ok, these are running now on eks, lots of failures. will dig
/assign
the netpol are not being applied for the ns: Instead of failing because should not be able to access , the connection succeeds.
Change:
var directDialer utilnet.DialFunc = http.DefaultTransport.(*http.Transport).DialContext func init() { <del> client.Metrics.RegisterMetrics(compbasemetrics.NewKubeRegistry().Registerer()) </del> <ins> client.Metrics.RegisterMetrics(legacyregistry.Registerer()) </ins> } // EgressSelector is the map of network context type to context dialer, for network egress.

Discussion:
At (originally ) component-base metrics exposed Registerer API for raw prometheus registration, and I took dependency in The resulting does not seem to emit the new metrics (example: ). The metrics handler should emit the registered metrics. Falling back to does work. So there is some material difference with . 24, 1.25, 1.26 GKE No response No response No response No response
There are no sig labels on this issue. Please add an appropriate label by using one of the following commands: - Please see the for a listing of the SIGs, working groups, and committees available. <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
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
/assign
/assign jkh52
Change:
} } <ins> func TestConverter_MapElemAddr(t *testing.T) { type Foo struct { A map[int]int } type Bar struct { A map[string]string } c := NewConverter() c.Debug = t err := c.Register( func(in *int, out *string, s Scope) error { *out = fmt.Sprintf("%v", *in) return nil }, ) if err != nil { t.Fatalf("Unexpected error: %v", err) } err = c.Register( func(in *string, out *int, s Scope) error { if str, err := strconv.Atoi(*in); err != nil { return err } else { *out = str return nil } }, ) if err != nil { t.Fatalf("Unexpected error: %v", err) } f := fuzz.New().NilChance(0).NumElements(3, 3) first := Foo{} second := Bar{} f.Fuzz(&first) err = c.Convert(&first, &second, AllowDifferentFieldTypeNames, nil) if err != nil { t.Fatalf("Unexpected error: %v", err) } third := Foo{} err = c.Convert(&second, &third, AllowDifferentFieldTypeNames, nil) if e, a := first, third; !reflect.DeepEqual(e, a) { t.Errorf("Unexpected diff: %v", objDiff(e, a)) } } </ins> func TestConverter_tags(t *testing.T) { type Foo struct { A string `test:"foo"`

Discussion:
In Go you cannot take the address of a because the map implementation hides that from you. Our conversion library assumes that any reflected map value can have Addr() taken, which causes a panic when you try to do the following for PodInfo conversion: The conversion code tries to call Addr() on the reflect.Value (the map's value, ContainerStatus value object) which fails because it cannot have an address. I worked around it by registering a conversion function on *PodInfo and then manually converting the map.
Oh you mean the reflection code can't addr that? ok sounds like a bug. Non-reflection code can certainly do it:
That playground is taking the address of a value before it's in the struct. You can't take the address of m ----- Original Message -----
Right, because go does magical c++ style references there. But I thought the map copying code handled that case specially already?
I think I see what you're talking about. I'll make a test.
I repro'd. Will fix.
It was actually the source value that caused the trouble. Thanks for the report!
Sorry, should have been clearer. ----- Original Message -----
Note that this map violates our API conventions. It should be a list of named subobjects.
Yeah this field has always been problematic. It's still a bug regardless-- could have triggered copying other maps.
Change:
case ctx.Err() == nil: // This is a problem, report it and retry. logger.Error(err, "Reading node resources from gRPC stream failed") <del> // TODO (https://github.com/kubernetes/kubernetes/issues/123689): expontential backoff? </del> select { <del> case <-time.After(5 * time.Second): </del> <ins> case <-time.After(backOff.Get(backOffID)): backOff.Next(backOffID, time.Now()) </ins> case <-ctx.Done(): } }

Discussion:
has to retry after failures. This currently uses a fixed 5 second delay to avoid busy-looping. Exponential backoff might be better. /sig node /triage-accepted /priority important-longterm /lifecycle frozen /assign
/triage accepted
/assign
Change:
storageConfigValue := atomic.Value{} go func() { <ins> // Catch panics that occur in this go routine so we get a comprehensible failure defer func() { if err := recover(); err != nil { t.Errorf("Unexpected panic trying to start API master: %#v", err) } }() </ins> for { kubeAPIServerOptions := options.NewServerRunOptions() kubeAPIServerOptions.SecureServing.BindAddress = net.ParseIP("127.0.0.1")

Discussion:
Seeing a variety of failures Address already in use failures https://k8s- Stack traces: https://k8s- https://k8s- Creation errors: https://k8s-
cc
Here's another false negative in TestEtcdStoragePath: https://k8s-
Change:
cache.ResourceEventHandlerFuncs{ AddFunc: func(cur interface{}) { svc, ok := cur.(*v1.Service) <ins> // Check cleanup here can provide a remedy when controller failed to handle // changes before it exiting (e.g. crashing, restart, etc.). </ins> if ok && (wantsLoadBalancer(svc) || needsCleanup(svc)) { s.enqueueService(cur) }

Discussion:
What happened: Service Load balancer may not be cleaned up on type change if below sequence happen: type changes from to controller restarts/crashes before it gets a chance to process the update from 1. controller starts up again and sees the service doesn't want load balancer, hence skips it. load balancer resource sticks around even if it is no longer needed by the service. Note that this is a different issue than , as load balancer resource will still be cleaned up when the service object is deleted, just not when the type change happens. Anything else we need to know?: This is a corner case that is not covered by the initial service load balancer finalizer implementation (). This can probably be fixed in a trivial way --- make sure the handler takes in service with non-LoadBalancer type but has finalizer attached: I will put more thoughts later. cc
/sig network
Can i reserve this issue in advance? :) I'd like to take this issue as my first issue.
Sure thing, feel free to work on this and glad that you can help :)
Do you mean attach finalizer for service that non-LoadBalancer type in AddFunc? I'm new to kubernetes, hope you can guide me. :)
No worries. I actually meant should include service with non-LoadBalancer type && with finalizer attached. As we only attach finalizer to a service only when we are creating a load balancer for it, a finalizer presents on the service (no matter what type it has) indicates there is a load balancer associated. Hence it makes sense that we should clean up the load balancer if the service no longer wants one, even if the service has not been deleted.
To clarify further, "attach finalizer for service that non-LoadBalancer type in AddFunc" would not be what we want --- we shouldn't attach finalizer to service that we will not be creating load balancer for.
After go through service controller part code, i guess you mean add a condition for as follows: . Am i right? I'm not sure when service type changes if can be involved. Can you clarify this ?
if ok && (wantsLoadBalancer(svc) (svc.Spec.Type != v1.ServiceTypeLoadBalancer && servicehelper.HasLBFinalizer(svc))) . Yea this was what I meant.

On service type change, will be involved instead of . That part is already handled. This issue is explicit for the case when controller fails to handle the type change update before it exiting (e.g. crashing, restart, etc.). Putting such detection to is more off a remedy, it means the next time service controller starts up, it can re-syncs all existing services and find out it still need to cleanup load balancer for this service, even if it doesn't have load balancer type anymore.
Thanks . I have sent a PR assined to you. I think it should be checked in function . It is the case that need to clean up whatever the reason is.
Change:
usage := "containing the resource to delete." cmdutil.AddFilenameOptionFlags(cmd, &options.FilenameOptions, usage) cmd.Flags().StringVarP(&options.Selector, "selector", "l", "", "Selector (label query) to filter on.") <del> cmd.Flags().BoolVar(&options.DeleteAll, "all", false, "[-all] to select all the specified resources.") </del> <ins> cmd.Flags().BoolVar(&options.DeleteAll, "all", false, "select all resources in the namespace of the specified resource types.") </ins> cmd.Flags().BoolVar(&options.IgnoreNotFound, "ignore-not-found", false, "Treat "resource not found" as a successful delete. Defaults to "true" when --all is specified.") cmd.Flags().BoolVar(&options.Cascade, "cascade", true, "If true, cascade the deletion of the resources managed by this resource (e.g. Pods created by a ReplicationController).  Default true.") cmd.Flags().IntVar(&options.GracePeriod, "grace-period", -1, "Period of time in seconds given to the resource to terminate gracefully. Ignored if negative.")

Discussion:
It actually doesn't support --all.
/assign
ohh, thanks, will make a pr to address that right now..
Change:
<ins> kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: system:network-policies namespace: kube-system labels: addonmanager.kubernetes.io/mode: Reconcile rules: - apiGroups: [""] resources: - pods - nodes - namespaces verbs: - get - watch - list # Watch for changes to Kubernetes NetworkPolicies. - apiGroups: ["networking.k8s.io"] resources: - networkpolicies verbs: - watch - list --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: kube-network-policies labels: addonmanager.kubernetes.io/mode: Reconcile roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: system:network-policies subjects: - kind: ServiceAccount name: kube-network-policies namespace: kube-system --- apiVersion: v1 kind: ServiceAccount metadata: name: kube-network-policies namespace: kube-system labels: k8s-app: kube-network-policies kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: Reconcile </ins>  No newline at end of file

Discussion:
,%20google-gce all I can't say , but at least a few weeks ,%20google-gce No response No response /sig network
/assign
/triage accepted
Change:
return allErrs } <del> func validateEndpointAddress(address *core.EndpointAddress, fldPath *field.Path, ipToNodeName map[string]string) field.ErrorList { </del> <ins> func validateEndpointAddress(address *core.EndpointAddress, fldPath *field.Path) field.ErrorList { </ins> allErrs := field.ErrorList{} for _, msg := range validation.IsValidIP(address.IP) { allErrs = append(allErrs, field.Invalid(fldPath.Child("ip"), address.IP, msg))

Discussion:
/kind bug What happened: We have noticed that one of the node-exporters is down. It turned out that service has "old" endpoint still. After digging deeper i see following errors in controller manager Turns out controller manager can not update endpoints for node-exporter service, because of this error. In endpoint list is see right IPs for worker nodes, but wrong IP for master node (that's why we detected the problem). Context: two worker nodes were recreated with new hostnames (generated randomly), but they use same ip address one master node were recreated with new hostname and new ip I've tried to manually update hostname and got same error, seems nodeName is not updatable field. It also affects all other endpoints, we were forced to recreated all pods (so they will change IPs) to be able to fix endpoints reconciliation. What you expected to happen: controller manager successfully update endpoints after node recreated with same IP, but different hostname. How to reproduce it (as minimally and precisely as possible): 1 master, 1 worker, service that points to pods with host network. k8s API service (keep it shut down) worker node with same IP and different host name to recreate pod on worker and in controller manager should appear error above. Anything else we need to know?: Environment: Kubernetes version (use ): 1.10.1 Cloud provider or hardware configuration: baremetal OS (e.g. from /etc/os-release): CoreOS 1688.5.3 Kernel (e.g. ): 4.14.32-coreos Install tools: own tool () Others:
/sig node
what is the use case of changing node name?
/sig api-machinery
We have ephemeral immutable nodes in our clusters. So upgrade or any other operation will cause node recreation. Hostname generated automatically, but the IP address depends on the underlay hypervisor node, where node will be scheduled. So it's possible that node stays on the same hypervisor and uses same ip address.
/cc
/assign
/cc do you think it's reasonable to loose endpoints validation?
/sig network this API is owned by sig network