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

feat: add support for scheduling pods based on node labels, taints, and affinity #352

Merged
merged 20 commits into from
Oct 4, 2023

Conversation

leninmehedy
Copy link
Member

@leninmehedy leninmehedy commented Sep 18, 2023

Description

This pull request changes the following:

  • Add support for the following:
    • podAnnotations
    • podLabels
    • nodeSelectors
    • tolerations
    • affinity
    • priorityClass
    • podDisruptionBudget
  • Tidy up few makefile targets
  • Add node annotation similar to GKE and also update CI pipeline as needed
  • Add switches to disable dependent charts as needed

Related Issues

@github-actions
Copy link

github-actions bot commented Sep 18, 2023

Unit Test Results

16 files  ±0  16 suites  ±0   35s ⏱️ -3s
85 tests ±0  82 ✔️ ±0  3 💤 ±0  0 ±0 
86 runs  ±0  83 ✔️ ±0  3 💤 ±0  0 ±0 

Results for commit b8ecdc9. ± Comparison against base commit e91f465.

♻️ This comment has been updated with latest results.

@leninmehedy leninmehedy force-pushed the 344-node-labels-taints-and-affinity branch from 3d771e9 to 0eb04fc Compare September 21, 2023 22:00
@leninmehedy leninmehedy marked this pull request as ready for review September 21, 2023 22:00
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
closes: 370
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
…ments

Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
@leninmehedy leninmehedy force-pushed the 344-node-labels-taints-and-affinity branch from be768f3 to 8cbd127 Compare October 4, 2023 03:24
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
@leninmehedy leninmehedy changed the title feat: add support for targeting node labels, taints, and affinity feat: add support for scheduling pods based on node labels, taints, and affinity Oct 4, 2023
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
Signed-off-by: Lenin Mehedy <lenin.mehedy@swirldslabs.com>
@sonarqubecloud
Copy link

sonarqubecloud bot commented Oct 4, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@leninmehedy leninmehedy merged commit 5dd625a into main Oct 4, 2023
10 checks passed
@leninmehedy leninmehedy deleted the 344-node-labels-taints-and-affinity branch October 4, 2023 05:52
swirlds-automation added a commit that referenced this pull request Nov 3, 2023
## [0.12.0](v0.11.0...v0.12.0) (2023-11-03)

### Features

* add a Gradle task for downloading executable for Kubernetes Kind ([#425](#425)) ([aaa9660](aaa9660))
* add fullstack-gradle-plugin project to GitHub workflow ([#421](#421)) ([7b717ab](7b717ab))
* add Gateway API route for Hedera Explorer ([#466](#466)) ([c53943c](c53943c))
* add Gradle build docker image tasks ([#408](#408)) ([338cf40](338cf40))
* add gradle Helm dependency update task  ([#393](#393)) ([8e3ead5](8e3ead5))
* add gradle Helm release exists task ([#389](#389)) ([0b7ae17](0b7ae17))
* add gradle Helm test task ([#403](#403)) ([591cebb](591cebb))
* add helm chart tests for gateway api routes ([#345](#345)) ([3936a64](3936a64))
* add helm dependency update subcommand ([#377](#377)) ([2b3609d](2b3609d))
* add helm execution gradle task: HelmInstallChartTask ([#304](#304)) ([6a29222](6a29222))
* add helm execution gradle task: HelmUninstallChartTask ([#375](#375)) ([ba6cc63](ba6cc63))
* add helm list releases subcommand ([#380](#380)) ([53d092f](53d092f))
* add helm test subcommand with options ([#376](#376)) ([5d08a32](5d08a32))
* add ifExists option to Gradle Helm uninstall task ([#405](#405)) ([0726725](0726725))
* add minio operator to fullstack-cluster-setup chart ([#453](#453)) ([bf7f6ff](bf7f6ff))
* add prometheus operator to fullstack-cluster-setup ([#460](#460)) ([0313c3a](0313c3a))
* add skipIfExists option for Gradle Helm install task ([#406](#406)) ([ccfbabf](ccfbabf))
* add support for scheduling pods based on node labels, taints, and affinity ([#352](#352)) ([5dd625a](5dd625a))
* Adding fabric8 k8s library and helm client for use in Infra API ([#386](#386)) ([3049fe4](3049fe4))
* Adding topology model classes and junit annotation processing ([#383](#383)) ([9c6930e](9c6930e))
* apply nodeSelector and tolerations to all pods including proxies ([#384](#384)) ([40e737a](40e737a))
* **cli:** add traceId in CLI logs for easier debugging ([#449](#449)) ([a1693c7](a1693c7))
* **cli:** implement chart install, uninstall and upgrade commands ([#454](#454)) ([70fd199](70fd199))
* **cli:** implement cluster create and delete commands ([#446](#446)) ([78be823](78be823))
* **cli:** implement cluster setup command ([#452](#452)) ([89c2662](89c2662))
* **cli:** implement tests and dependency checks for init command ([#438](#438)) ([b69dd99](b69dd99))
* enhance Helm Install to support multiple set and values parameters ([#367](#367)) ([05444df](05444df))
* implement fullstack-cluster-setup chart for shared resources ([#363](#363)) ([e91f465](e91f465))
* parameterize the helm chart namespace value ([#351](#351)) ([6d1c0a5](6d1c0a5))
* scaffold fsnetman CLI with ES6 support ([#424](#424)) ([65e06d9](65e06d9))
* upgrade to gradle 8.4 ([#404](#404)) ([69e769d](69e769d))
* upgrade to org.gradlex:java-module-dependencies:1.4.1 ([#365](#365)) ([ba7c32b](ba7c32b))

### Bug Fixes

* avoid hardcoding mirror-node-explorer rest API in values.yaml ([#413](#413)) ([0fe58c7](0fe58c7))
* **cli:** encapsulate helm and kubectl commands and code cleanup ([#476](#476)) ([1b8c499](1b8c499))
* **cli:** encapsulate Kind commands in a separate wrapper class ([#468](#468)) ([6dc6025](6dc6025))
* store hedera-explorer chart as dependency until next official version is released ([#436](#436)) ([201bda5](201bda5))
* support deploying the chart with custom release name ([#412](#412)) ([619b42b](619b42b))
* uninstall envoy-gateway should also remove gateway-system namespace that it created ([#350](#350)) ([8a2f6e1](8a2f6e1))
* update KeyValuePair.equals to only compare key (not value) ([#347](#347)) ([28222e0](28222e0))
@swirlds-automation
Copy link
Contributor

🎉 This PR is included in version 0.12.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Charts[Network Node]: Add support for targeting node labels, taints, and affinity/anti-affinity
3 participants