Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheduler doesn't reschedule vpods that are scheduled on unscehdulable pods #6726

Conversation

pierDipi
Copy link
Member

@pierDipi pierDipi commented Feb 6, 2023

To detect whether scheduling is already done, it uses the
existing placements fields, however, if one or more placements
are for unschedulable pods, it won't reschedule them.

See added unit tests for example scenarios.

Signed-off-by: Pierangelo Di Pilato pierdipi@redhat.com

…e pods

To detect whether scheduling is already done, it uses the existing
placements fields, however, if one or more placements are for
unschedulable pods, it won't reschedule them.

See added unit tests for example scenarios.

Signed-off-by: Pierangelo Di Pilato <pierdipi@redhat.com>
@knative-prow knative-prow bot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Feb 6, 2023
@codecov
Copy link

codecov bot commented Feb 6, 2023

Codecov Report

Base: 80.53% // Head: 80.49% // Decreases project coverage by -0.04% ⚠️

Coverage data is based on head (8c3a4af) compared to base (8b7551c).
Patch coverage: 60.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6726      +/-   ##
==========================================
- Coverage   80.53%   80.49%   -0.04%     
==========================================
  Files         236      236              
  Lines       12100    12107       +7     
==========================================
+ Hits         9745     9746       +1     
- Misses       1867     1873       +6     
  Partials      488      488              
Impacted Files Coverage Δ
pkg/scheduler/state/state.go 81.30% <0.00%> (-2.18%) ⬇️
pkg/scheduler/statefulset/scheduler.go 79.53% <100.00%> (+0.04%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

Copy link
Member

@matzew matzew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@knative-prow knative-prow bot added the lgtm Indicates that a PR is ready to be merged. label Feb 7, 2023
@knative-prow
Copy link

knative-prow bot commented Feb 7, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: matzew, pierDipi

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow knative-prow bot merged commit 1092472 into knative:main Feb 7, 2023
@pierDipi pierDipi deleted the scheduler-reschedule-vreplicas-scheduled-on-unschedulable-pods branch February 7, 2023 09:24
@pierDipi
Copy link
Member Author

pierDipi commented Feb 7, 2023

/cherry-pick release-1.9

@pierDipi
Copy link
Member Author

pierDipi commented Feb 7, 2023

/cherry-pick release-1.8

@knative-prow-robot
Copy link
Contributor

@pierDipi: new pull request created: #6730

In response to this:

/cherry-pick release-1.9

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@knative-prow-robot
Copy link
Contributor

@pierDipi: new pull request created: #6731

In response to this:

/cherry-pick release-1.8

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

knative-prow bot pushed a commit that referenced this pull request Feb 7, 2023
…n unscehdulable pods (#6731)

This is an automated cherry-pick of #6726

Signed-off-by: Pierangelo Di Pilato <pierdipi@redhat.com>
Co-authored-by: Pierangelo Di Pilato <pierdipi@redhat.com>
knative-prow bot pushed a commit that referenced this pull request Feb 7, 2023
…n unscehdulable pods (#6730)

This is an automated cherry-pick of #6726

Signed-off-by: Pierangelo Di Pilato <pierdipi@redhat.com>
Co-authored-by: Pierangelo Di Pilato <pierdipi@redhat.com>
pierDipi added a commit to pierDipi/eventing that referenced this pull request May 17, 2023
…n unscehdulable pods (knative#6730)

This is an automated cherry-pick of knative#6726

Signed-off-by: Pierangelo Di Pilato <pierdipi@redhat.com>
Co-authored-by: Pierangelo Di Pilato <pierdipi@redhat.com>
openshift-merge-robot pushed a commit to openshift-knative/eventing that referenced this pull request May 17, 2023
* [release-1.9] Format Go code (knative#6706)

This is an automated cherry-pick of knative#6702

Signed-off-by: Knative Automation <automation@knative.team>
Co-authored-by: Knative Automation <automation@knative.team>

* [release-1.9] Revert "Change subscription patch logic to ensure resource version (knative#6670) (knative#6725)

This reverts commit
knative@4d6e1fc.

It has the side effect of dropping channel spec fields, so even
immutable
fields are dropped, hence channels will fail to get updated.

We need to re-evalute the approach to fix the orginal issue:
knative#6636, patch will always
have edge cases that will lead the original bug because subscriptions
are reconciled independently from each other (and potentially by
multiple controller replicas), so update is the only way of having
concurrency control at the resource level but we should make sure
that we're preserving unknown fields when updating channelables.

* [release-1.9] Scheduler doesn't reschedule vpods that are scheduled on unscehdulable pods (knative#6730)

This is an automated cherry-pick of knative#6726

Signed-off-by: Pierangelo Di Pilato <pierdipi@redhat.com>
Co-authored-by: Pierangelo Di Pilato <pierdipi@redhat.com>

* [release-1.9] Improve scheduler logging for state and pending vpods (knative#6734)

This is an automated cherry-pick of knative#6729

Signed-off-by: Pierangelo Di Pilato <pierdipi@redhat.com>
Co-authored-by: Pierangelo Di Pilato <pierdipi@redhat.com>

* [release-1.9] Add function to check if a broker resource is `NotReady` (knative#6738)

This is an automated cherry-pick of knative#6737

Signed-off-by: Christoph Stäbler <cstabler@redhat.com>
Co-authored-by: Christoph Stäbler <cstabler@redhat.com>

* [release-1.9] Extract scheduler config in a dedicate struct instead of many parameters (knative#6740)

This is an automated cherry-pick of knative#6736

Signed-off-by: Pierangelo Di Pilato <pierdipi@redhat.com>
Co-authored-by: Pierangelo Di Pilato <pierdipi@redhat.com>

* [release-1.9] Exclusive access to tracing flag for upgrade prober (knative#6768)

This is an automated cherry-pick of knative#6767

```release-note

```

Co-authored-by: Martin Gencur <mgencur@redhat.com>

* [release-1.9] Upgrade to latest dependencies (knative#6775)

bumping pkg -dprotaso

/cc knative/eventing-writers
/assign knative/eventing-writers

Produced by: knative-sandbox/knobots/actions/update-deps

Signed-off-by: Knative Automation <automation@knative.team>

---------

Signed-off-by: Knative Automation <automation@knative.team>
Signed-off-by: Pierangelo Di Pilato <pierdipi@redhat.com>
Signed-off-by: Christoph Stäbler <cstabler@redhat.com>
Co-authored-by: Knative Prow Robot <knative-prow-robot@google.com>
Co-authored-by: Knative Automation <automation@knative.team>
Co-authored-by: Christoph Stäbler <cstabler@redhat.com>
Co-authored-by: Martin Gencur <mgencur@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants