text:
[LFX Fall '24 Mentorship]: Intelli-j IDE plugin integration of analyzer-lsp for real time updates with Konveyor AI

This is a LFX mentorship project intended to run in Fall 2024
Related to: https://github.com/cncf/mentoring/blob/main/programs/lfx-mentorship/2024/03-Sep-Nov/project_ideas.md#intelli-j-ide-plugin-integration-of-analyzer-lsp-for-real-time-updates-with-konveyor-ai
Description
Konveyor provides a unified experience of tools to help organizations modernize their applications at scale, transitioning them to Kubernetes and cloud-native technologies. Recently the Konveyor community began the development of a Generative AI approach for application modernization called Konveyor-AI.  Konveyor AI accelerates application migration by discovering migration incidents in the source code and providing LLM-generated fixes in a diff view presentation. When proposed changes are accepted, it provides real-time updates on the number of incidents.  The presentation side for this work is currently serviced via an IDE extension for VSCode.
We would like to expand Konveyor AI to have an Intelli-J plugin. The first step to establishing an Intelli-J plugin for Konveyor AI is to explore how we integrate the static code analysis tool, analyzer-lsp, into an Intelli-J plugin.  We would like to create a common module that encapsulates interaction with analyzer-lsp and leverage this common module in multiple IDE plugins, to begin this will focus on VSCode and IntelliJ.
In this project, you will:

Learn how the existing Konveyor AI VSCode plugin functions.
Learn the code base for an existing Intelli-J plugin the team plans to use for a basis of work
Learn the basics of static code analysis in Konveyor, via the analyzer-lsp tool
Learn the basic APIs associated with Intelli-J IDE plugin development
Define an approach for how to integrate analyzer-lsp into multiple IDE plugins.  We are interested in creating a common module for working with analyzer-lsp which will be leveraged in multiple IDE plugins, both VSCode and IntelliJ to start.  One of the challenges to overcome is how to bridge the usage of a common module between TypeScript and Java projects.
Implement the approach and associated unit tests
Provide a demonstration of this common module for using analyzer-lsp. The demonstration will show this module integrated into the Intelli-J plugin and its ability to update analysis info seconds after a file has been modified.
Participate in biweekly Konveyor community calls, sharing milestones of progress.

Current Situation:
The IntelliJ platform-based IDE currently uses the Konveyor CLI tool, Kantra (https://github.com/konveyor/kantra), which unifies analysis and transformation capabilities.  However, for time optimization in real-time update functionality, we need to replace Kantra with the analyzer-lsp tool.
Expected Outcome:
Define and implement a new module or library to facilitate integration of analyzer-lsp into multiple IDEs.  We will start with VSCode and IntelliJ to begin.
This project will not only enhance the functionality of Konveyor-AI across multiple IDEs but also provide a rich learning experience for participating students. By converting analyzer-lsp into a reusable module or library, we can ensure easier maintenance and scalability of the tool.
Related Links:
Konveyor Contributor Guide
Konveyor Unified Experience
Konveyor AI
Kai VScode plugin
Kantra

I am looking forward to participate in the mentorship. Where can i get started to understand this project better?

@savitharaghunathan @hhpatel14 Any communication channel to get discuss of this idea? and how to get started?

Hey @savitharaghunathan @hhpatel14,
I really want to be a part of the Konveyor organization by solving this issue. I believe being selected for LFX through this project is the best way to prove myself to this organization. I am proficient in TypeScript and Go and familiar with Java as well. Additionally, I have made numerous open-source contributions and was a previous GSoC mentee. You will definitely see some contributions to Konveyor projects from my side that align with my tech stack. After understanding this problem I will start working on a detailed proposal on how I plan to solve this problem as well.

Hello @savitharaghunathan @hhpatel14
Myself Soham, an Intern at PricewaterhouseCoopers LLP as a Security Operations Center analyst and GSOC 2022 and 2023 mentee is expressing his keen interest to be a part of the CNCF mentorship programme under the Konveyor organisation.
As I have previous experience working with generative AI and developing IDE plugins in my previous internships.
I have a strong foundation and professional experience in Typescript and Java thus this project interests me a lot!
Currently I am looking forward to drafting a detailed proposal for the problem statement mentioning the details and processes that would be involved in order to deliver the expected outcomes.
Looking forward to communicate with you all and be a part of this amazing organisation.
Cheers!

@savitharaghunathan @hhpatel14 Any communication channel to get discuss of this idea? and how to get started?

To get started with learning about Kai backend you can begin looking at https://github.com/konveyor/kai/blob/main/CONTRIBUTING.md
For learning about the current VSCode plugin for Kai see:  https://github.com/konveyor-ecosystem/kai-vscode-plugin/blob/main/docs/user-guide.md
Best :)

@savitharaghunathan @hhpatel14 Any communication channel to get discuss of this idea? and how to get started?

To get started with learning about Kai backend you can begin looking at https://github.com/konveyor/kai/blob/main/CONTRIBUTING.md
For learning about the current VSCode plugin for Kai see:  https://github.com/konveyor-ecosystem/kai-vscode-plugin/blob/main/docs/user-guide.md
Best :)

Sure!
I'll have a look at the resources..
Thanks for the support! 😊

@savitharaghunathan @hhpatel14 Any communication channel to get discuss of this idea? and how to get started?

To get started with learning about Kai backend you can begin looking at https://github.com/konveyor/kai/blob/main/CONTRIBUTING.md
For learning about the current VSCode plugin for Kai see:  https://github.com/konveyor-ecosystem/kai-vscode-plugin/blob/main/docs/user-guide.md
Best :)

Sure!
Thanks for the resources...will have a look asap! 😊

Hello @jwmatthews @hhpatel14 @savitharaghunathan My name is Temi I am on open source developer with extensive experience in contributing to software libraries. I am a 2 times summer of bitcoin intern with strong contributions to PYASIC and BitcoinDevKit libraries and I have extensive knowledge in the field of AI and ML
My tech stack includes  Python, Swift, Rust and Shell . I have a strong interest in language intelligence tooling for application development and I want to go deep down its rabbit hole working on Konveyor AI.
I will appreciate a project walkthrough from mentors and community members about the project's  expected outcome.
Looking forward to work with the talented developers at Konveyor AI this fall.

Attention: @hhpatel14 The two projects for  Konveyor AI are pointing to the same issue #187 but they are two different projects. I have intentions to work on
Enhancing Kai with Data Querying for Fine-Tuning and Potential InstructLab Integration
CNCF - Konveyor AI: Data Querying for Kai & InstructLab Integration Potential (2024 Term 3)

Attention: @hhpatel14 The two projects for Konveyor AI are pointing to the same issue #187 but they are two different projects. I have intentions to work on
Enhancing Kai with Data Querying for Fine-Tuning and Potential InstructLab Integration
CNCF - Konveyor AI: Data Querying for Kai & InstructLab Integration Potential (2024 Term 3)

cc @JonahSussman
Thank you @Ytemiloluwa I will work with team to correct the mistake in
https://github.com/cncf/mentoring/blob/main/programs/lfx-mentorship/2024/03-Sep-Nov/README.md?plain=1#L478
That should point to
https://github.com/konveyor/enhancements/issues/191

Attention: @hhpatel14 The two projects for Konveyor AI are pointing to the same issue #187 but they are two different projects. I have intentions to work on
Enhancing Kai with Data Querying for Fine-Tuning and Potential InstructLab Integration
CNCF - Konveyor AI: Data Querying for Kai & InstructLab Integration Potential (2024 Term 3)

cc @JonahSussman
Thank you @Ytemiloluwa I will work with team to correct the mistake in
https://github.com/cncf/mentoring/blob/main/programs/lfx-mentorship/2024/03-Sep-Nov/README.md?plain=1#L478
That should point to #191

You are welcome @jwmatthews . Yes it should point to #191

Hey @jwmatthews I am looking forward to communication channel can you help me find that !.
Looking foward to healthy contribution this fall LFX

Are mentees required to submit a PR or Proposal on how they intend to approach their projects? @jwmatthews

No, not required by us.  You will need to follow all of the LFX rules and guidance for applying but we do not have any special requirements on top of that process
I believe there is a cover letter which may be submitted with your LFX application, you may share any thoughts you have there for project approach but this is not required.

Hey @jwmatthews I am looking forward to communication channel can you help me find that !.

Slack and or GitHub issues are good places to communicate with the team.
Please see:  https://github.com/konveyor/kai/blob/main/CONTRIBUTING.md#slack

Looking foward to healthy contribution this fall LFX

Appreciate it 👍

Are mentees required to submit a PR or Proposal on how they intend to approach their projects? @jwmatthews

No, not required by us. You will need to follow all of the LFX rules and guidance for applying but we do not have any special requirements on top of that process
I believe there is a cover letter which may be submitted with your LFX application, you may share any thoughts you have there for project approach but this is not required.

Yes there is a cover letter. Thank you for the feedback.

Hello @savitharaghunathan @hhpatel14 @jwmatthews
I am Riya, an undergraduate student looking forward to making meaningful contributions to this project. I have previous software development experience through an internship as a software engineer at Google and through multiple hackathons.
I have experience working with Java and JavaScript. I am comfortable with developer workflow tools like Git, GitHub and have worked with IntelliJ as well as VScode. This project aligns well with my experience and interests and thus I am highly interested in working on this.
I am getting more familiar with the project and its details and going through the resources provided. I will start working on a proof of concept once I am done with the ramp-up. Looking forward to making some impactful contributions! Thanks!

Hey thats looking cool , looking forward to healthy contribution under LFX Mentorship

repo: konveyor/enhancements


text:
[proposal] descheduler should support NodeResourceReservation

What is your proposal:
Currently koord-descheduler still judges the capacity according to node.status.allocatable, but the node resource reservation mechanism needs to deduct some resources, otherwise there will be some problems.
Why is this needed:
Is there a suggested solution, if so, please add it:

/assign

source: gharchive/issue

repo: koordinator-sh/koordinator

license_type: permissive

license_source: github-api


text:
api: remove deprecated field in NodeSLO

Signed-off-by: Jason Liu jasonliu747@gmail.com
Ⅰ. Describe what this PR does
CPUEvictThresholdPercent is no longer in used. This PR would remove it from NodeSLO.Spec
Ⅱ. Does this pull request fix one issue?

fixes #189
Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews

Codecov Report

Merging #191 (22cf961) into main (0072d6b) will increase coverage by 1.90%.
The diff coverage is n/a.

:exclamation: Current head 22cf961 differs from pull request most recent head d1910d7. Consider uploading reports for the commit d1910d7 to get more accurate results

@@            Coverage Diff             @@
##             main     #191      +/-   ##
==========================================
+ Coverage   59.05%   60.96%   +1.90%
==========================================
  Files          97       97
  Lines        8793     8791       -2
==========================================
+ Hits         5193     5359     +166
+ Misses       3159     2983     -176
- Partials      441      449       +8

Flag
Coverage Δ

unittests
60.96% <ø> (+1.90%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...webhook/pod/mutating/cluster_colocation_profile.go
55.97% <0.00%> (+1.88%)
:arrow_up:

pkg/slo-controller/noderesource/noderesource.go
85.41% <0.00%> (+13.19%)
:arrow_up:

...controller/noderesource/noderesource_controller.go
44.64% <0.00%> (+44.64%)
:arrow_up:

pkg/webhook/pod/mutating/mutating_handler.go
75.00% <0.00%> (+75.00%)
:arrow_up:

...kg/slo-controller/nodemetric/node_event_handler.go
100.00% <0.00%> (+86.48%)
:arrow_up:

pkg/webhook/pod/validating/validating_handler.go
90.00% <0.00%> (+90.00%)
:arrow_up:

...ontroller/noderesource/nodemetric_event_handler.go
90.90% <0.00%> (+90.90%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0072d6b...d1910d7. Read the comment docs.

/hold

/hold cancel

/lgtm

/approve

source: gharchive/pull-request

authors: codecov-commenter eahydra hormes jasonliu747


text:
scheduler: extend reservation nominator to support reservation preemption

Ⅰ. Describe what this PR does
Extend the reservation nominator. Reservation plugin implements the BeforeFilter function. In this function, we do add the nominated reservation infos.

Ⅱ. Does this pull request fix one issue?
fix #1935

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

/lgtm

/approve


text:
📖 Add membership doc & issue template

Ⅰ. Describe what this PR does
Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews

Codecov Report

Merging #79 (59732af) into main (9b0c938) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 59732af differs from pull request most recent head 6fe5195. Consider uploading reports for the commit 6fe5195 to get more accurate results

@@           Coverage Diff           @@
##             main      #79   +/-   ##
=======================================
  Coverage   41.25%   41.25%
=======================================
  Files          65       65
  Lines        5183     5183
=======================================
  Hits         2138     2138
  Misses       2840     2840
  Partials      205      205

Flag
Coverage Δ

unittests
41.25% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9b0c938...6fe5195. Read the comment docs.

/lgtm
/approve

authors: codecov-commenter hormes jasonliu747


text:
Batch file closes at choco install

Hey there. I've tried to create a batch file for choco installations for myself and now I've found your repo and with your code, I have the exact same issue.
As soon as I get to any choco install line the cmd window just closes and has installed nothing. I'm using Windows 10 with its latest version. Do I need anything else to get it running that I'm missing? I've tried your install.bat.

Do you have cmd started in adminstrator mode?
Which windows?
> ver

Microsoft Windows [Version 10.0.19042.964]

Works here

Without any minimal example, I cannot help.
After re-reading, I thought, that pause (https://github.com/koppor/koppors-chocolatey-scripts/blob/2af2fcf1f29d366634fe5810823a5ec99e6a9b31/install.bat#L229) might be missing, but this does not seem to be the question.
Please execute choco install jabref in a console with administrator rights and provide the output.
I will close the issue until I receive feedback to keep the numbers of opened issues low :)

authors: koppor saschabrockel

repo: koppor/koppors-chocolatey-scripts


text:
Error:Cause: pl/droidsonroids/gradle/localization/LocalizationPlugin : Unsupported major.minor version 52.0

Error:Cause: pl/droidsonroids/gradle/localization/LocalizationPlugin : Unsupported major.minor version 52.0

See #21

Android does not support Java8, using Java8 during compilation results in various compatibility and compilation issues.
Do you have a step by step guide on how to setup Java8 compilation so that it works on Android with your library?

Source and target compatibility can be set in build.gradle like this:
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

or even VERSION_1_6.
Are there still any issues with mentioned compileOptions?

I have 1_7 compatablitiy set in my project, but as soon as I change JDK dir to Java 1.8 - I get an error ParseException: bad class file magic (cafebabe) or version (0034.0000).
All my investigation lead to a conclusion that no matter what settings are - you can't use 1.8 to build android projects stably.

OK, now plugin is copmiled using 1.7 target.

authors: AAverin koral--

license: mit

license_source: bigquery


text:
ISO8601 formats don't handle fractional seconds

Given a timestamp as a DateTimeTz value:
timestamp.format(ISO8601.IsoDateTimeFormat(null, "YYYY-MM-DDThh:mm:ss.sssZ"))
does not work since it wants to try to parse the fractional part as seconds.

This also goes for the DateTime class.

@j0bro, @rwslinkman, you need to use 'S' for fractional part:
timestamp.format(ISO8601.IsoDateTimeFormat(null, "YYYY-MM-DDThh:mm:ss.SSSZ"))

I am afraid that is not the case. They should be lowercase and I inspected
the source, it is not even trying to parse the fraction. What happens is
that it tries to match it against the seconds part, which only succeeds if
one provides two s's after the period, otherwise it fails.
Op zo 19 apr. 2020 17:10 schreef Mikhail Reznichenko <
notifications@github.com>:

@j0bro https://github.com/j0bro, @rwslinkman
https://github.com/rwslinkman, you need to use 'S' for fractional part:
timestamp.format(ISO8601.IsoDateTimeFormat(null,
"YYYY-MM-DDThh:mm:ss.SSSZ"))
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/korlibs/klock/issues/102#issuecomment-616157775, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHU5LESJNPIP2DJNWWMKOTRNMH53ANCNFSM4MEVWLKQ
.

@j0bro it works correctly with 'S' for milliseconds

Ah, I missed your mention about ISO8601 format, sorry. For ISO8601 it's a bug indeed

@j0bro I fixed this bug in #106

@rwslinkman you should use S for milliseconds with DateTime formatting/parsing:
PatternDateFormat("dd MMM yyyy HH:mm:ss.SSS")
If you still need to use s for milliseconds, please create a new issue.

authors: RezMike j0bro rwslinkman

repo: korlibs/klock


text:
Add option to ignore elements

As I described in #101, some frameworks might inject invisible elements to the Slip container. Having an invisible item in Slip container causes every item that is dragged down, no matter where dropped, to report as it moved to the last position.
Here's a demo
I added a configuration value that if set would ignore specified selectors from node search so you could skip detecting invisible elements in Slip container. It swaps back to old behavior when the option is not defined.
Here's how the demo looks like with my fix
The only problem is when the ignored element is visible, it may cause some weird behavior. To prevent this I tried describing the option in readme file.
Closes #101

Thanks for the PR!

authors: kornelski myfrom

repo: kornelski/slip


text:
[Test] screenshot test3

SSIA

JaCoCo Code Coverage 76.92% :white_check_mark:

Class
Covered
Meta
Status

  Generated by :no_entry_sign: Danger

authors: KSNDBOT kosenda

repo: kosenda/hiragana-converter


text:
Release 1.21

add scheduler module to adapter kubernetes 1.21

/close

/close

authors: duanmengkk wuyingjun-lucky

repo: kosmos-io/kosmos


text:
Temp image should write on tmpfs

To reduce the sd card read/write.

Write temp images on tmpfs /dev/shm
https://github.com/kotamorishi/weather-impression/commit/8de1ad76cfac46849b8a364a209b3bea087710d7

repo: kotamorishi/weather-impression

license: MIT


text:
Add tokio compatibility to nonblocking local_socket

I found that I need tokio's AsyncRead and AsyncWrite rather than those from futures.
Posting this draft now to hear if this is something you want to support, and if this is a good way to support it.

Hmm I think I might be a fool: I could just use Compat in the application to get this functionality, without the need to do all this impl... I think

repo: kotauskas/interprocess


text:
Cleanup README

@dkerr64 I appreciate your work on documenting all the things, but I think most part should be moved to the Wiki, and only the most important things should be in the README.md.
Thoughts?

I don't have strong opinion here, so long as instructions are easy to find.  Basic install/setup should be in the README as that is what most people will need.  But details on config.json and specific devices could be moved to the wiki... with the README directing folks to that.

Yeah, I thought the same. I just see that if there are more device types, the readme won't scale nicely.

Next time we're touching package.json we need to handle this.
The plugin "homebridge-midea-platform" requires Node.js version of ^18.17.0 which does not satisfy the current Node.js version of v20.9.0. You may need to upgrade your installation of Node.js - see https://homebridge.io/w/JTKEF
I just upgraded the node version on my production server and get this message from several plugins!  Everything still works.

Nice catch! Weird that the official Homebridge plugin has the Node version contraint fixed on v18.

Nice catch! Weird that the official Homebridge plugin template has the Node version contraint fixed on v18.

I have opened a issue over on the template... https://github.com/homebridge/homebridge-plugin-template/issues/62

Done with  #71

repo: kovapatrik/homebridge-midea-platform


text:
This should fix #171 by allowing a markdown link to start with ac:

With this pr you can add links to already existing confluence pages or pages of which you know the title.
This is a [link to an existing confluence page](ac:Pagetitle)

And this is how to link when the linktext is the same as the [Pagetitle](ac:)

Hey, thanks for contribution!

This was so awaited :) Thank you both for enabling it!

authors: ChristophShyper Skeeve kovetskiy

repo: kovetskiy/mark


text:
Could I add average?

I find myself needing average perhaps more often than other people, but would it be ok to submit a patch to add either or both of these to relude:
average :: (Fractional a, Foldable f) => f a -> Maybe a

averageNonEmpty :: Fractional a => NonEmpty a -> a

A minor thing, but still a quality of life improvement in my opinion.

Hey @aleator!
I see how it could be useful, luckily we already have Relude.Extra.Foldable and Relude.Extra.Foldable1 (for the NonEmpty option, we can call it average1 for consistency) where I think it is okay to add such functions.

repo: kowainik/relude


text:
charクラスのメソッドでUTF32に関する処理を置き換えます

・不正な入力のテストを追加

@ureishi
ありがとうございます！

authors: koyashiro ureishi

repo: koyashiro/udon-encoding


text:
Running test.py with mode 2

Hi, thanks for this great work.
I want to run the test.py on a single image with your pretrained .pkl file . For this reason,
First, I've commented line 32: #loader = Generator() in test.py.(Since I didn't download tusimple dataset).  Then I've run the code on my image. However I've got the following output.  My image is 1920x1080. Since I'm using pretrained weights, I didn't download the TUSIMPLE dataset. Is it necessary even if I want to test on different image?

Testing
Get dataset
Get agent
Setup GPU mode
Testing loop
OpenCV Error: Assertion failed (ssize.area() > 0) in resize, file /home/travis/miniconda/conda-bld/work/opencv-2.4.11/modules/imgproc/src/imgwarp.cpp, line 1968
Traceback (most recent call last):
File "test.py", line 392, in
Testing()
File "test.py", line 86, in Testing
test_image = cv2.resize(test_image, (512,256))/255.0
cv2.error: /home/travis/miniconda/conda-bld/work/opencv-2.4.11/modules/imgproc/src/imgwarp.cpp:1968: error: (-215) ssize.area() > 0 in function resize

How can I solve this problem?
Thank you

The error code frequently occurs when cv2.imread is fail. Please check path of your image, or try it with absolute path. Thank you!

I had the same problem when the video I entered was .avi, I converted it to .mp4 and it worked.
Might be the same issue for you ^^

authors: iltertaha koyeongmin may545

repo: koyeongmin/PINet


text:
Question

Hello just to say it's a great package ^^
it still maintained ?
Thanks in advance

i'm really sorry bro i didn't know that you are from ukraine so it was so rude from me to ask something in those times
i wish you all safe your family and beloved ones ! we are all with you with our hearts from all around the world

@Celibioux thank you!
Currently, I am making all efforts to help my family, friends, and country to survive.
I hope this war will finish soon and I will be able to come back to my regular life and continue to work on software.
Thank you for understanding!

@kozakdenys of course bro i understand and i hope all the best for you , your family and friends
we all are sad for this war and we wish it ends soon
be safe bro

@Celibioux I am already back, so I am closing this issue ❤

authors: Celibioux kozakdenys

repo: kozakdenys/qr-code-styling


text:
some cosmetic changes for the util part:

missing ignore for tcTest added
library changed to use EGL and GLESv2 from libraspberrypi0 package.

@Kunzol Why the library change?  Perhaps it is something to do with kernel version? I wrote and tested this only on Jessie.  Maybe it needs a switch for different kernel versions?

authors: Kunzol kpishere


text:
Added UNDO option after delete action

Whenever folder(s) are deleted in Notes/Starred section of app, an UNDO Snackbar appears
Fixes #27  🔐
Are you a part of GSSOC' 21 ❓

[x] Yes ✔
[ ] No ✖

Describe the changes you've made 🏆
Deletion of folder(s) in the Notes and Starred section of the app is a major task, and users should get an option to reconsider their delete action. So, when folder(s) are deleted in Notes/Starred section of app, an UNDO Snackbar appears for 3 seconds. If user clicks on UNDO, deleted folder(s)/files(s) get restored.
Type of change 🖇
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Checklist: 📋

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] New and existing unit tests pass locally with my changes.
[ ] Any dependent changes have been merged and published in downstream modules.

Screenshots (if required) 📷

Resolve the merge conflicts @neha-b2001

Yes, just working on it.

@neha-b2001 add the undo option for files as well in FileFragment.java

Added undo option for files in FileFragment.java.


text:
Config to disable Cloud Messaging

I'm having a problem, I have a project that is already in production, and I'm working in the development project but I don't have a easy way to disable the Cloud Messaging to prevent to spam real clients.
The only solution that I found is to create a second firebase account and use that credentials but I think we should have a config for .env to disable Firebase, for example FIREBASE_ENABLED=false.

I think a PR won't help 😅. Having a separate Firebase project is currently the recommended (only) way to do it with the PHP SDK, and was the only way to do it before Google released the emulator suite. Support for the emulators will come eventually, but I can't tell you when.
Perhaps I will be able to add a NOOP implementation before that, but I'm currently on vacation and don't know when I'll have the resources for it, so I don't have an ETA for that either.

One can use the Laravel events
 \Illuminate\Notifications\Events\NotificationSending::class => [
            \App\Listeners\Notification\PreventFCMWhenDisabled::class,
        ],

I'm closing this issue because using a separate project remains the only way to do it with the SDK. It now has support for the Emulator Suite, but there's no emulator for FCM (yet).
I haven't tested if/how @ankurk91's suggestion works, but perhaps the can elaborate so that you can implement this as well.

authors: ankurk91 fabiomlferreira jeromegamez

repo: kreait/laravel-firebase


text:
Keyboard shortcut for Rescan MIDI

@krevis, thank you for creating MIDI Monitor! It's become a really helpful and indispensable tool for me.
It would be great if it were possible to rescan MIDI devices via a keyboard shortcut, e.g. ⌘R. RIght now, I can only trigger that via the menu.

Thanks for the patch, it looks fine to me. You could also just use Audio MIDI Setup, which already has command-R to "Refresh MIDI Setup", which I believe is the same thing.
I'm curious, though, why do you need to do this so frequently? What part of your setup doesn't update automatically?

It's more a convenience thing – I often skip opening Audio MIDI setup and use MIDI Monitor directly to verify proper MIDI connectivity. And with some USB devices, it can be helpful to do a manual rescan.

Which USB devices, in particular, have you found that need this?  Just asking out of curiosity, since I don't recall using any USB-MIDI interfaces that didn't automatically update when plugged or unplugged.

authors: crenz krevis

repo: krevis/MIDIApps


text:
Please modify the node name.

Hello, you are using exactly the same code, which is not a problem, but the node names cannot be completely identical. If this situation occurred last year, it would cause ComfyUI to fail to start. Although the requirements have been relaxed now, it can still cause the manager to be unable to recognize which plugin the node comes from.

This pack actually breaks comfy for a lot of people, models can't be found anymore etc...

repo: krich-cto/ComfyUI-Flow-Control


text:
Add test for line override

Can we please add a unit test for #8

closed with https://github.com/kris-nova/logger/commit/352a85877c30081a6236de4e2eee14c281c04ba4

repo: kris-nova/logger


text:
SassFilter does work in load instead of dump

Is there a reason for this?
I have a worker that loads the content of assets to use a Cachebusting hash. I feed it "getContent()" after "BaseAsset::load()" has run - so it processes filter loads.
The uglifyjs filter does its work in dump, which is great. But the SassFilter does it in load. Is there a reason?
I may end up overloading this filter and swapping the dump/load implementations. But would be nice to  defer this compilation in this package if possible.

that would totally change the behavior of the filter. And regarding the semantic of load and dump for Assetic filters, that would be wrong (load is for anything happening before the concatenation of the different assets of a collection).
This distinction between load and dump phases might have been a mistake in the Assetic architecture.  Representing the concatenation itself as a filter might have been better.
But this would require a huge rewrite of Assetic, and given that it is not really maintained anymore (@kriswallsmith stopped maintaining years ago, and I also stopped spending time on Assetic as I'm not using anymore since 2 years either).

Ah, I misunderstood the difference between load and dump. I'm not quite sure what would break with such a change, but I understand the hesitation. As a workaround, I will just disable all filters before getting the content, for cache busting purposes. I'll close this ticket.
Regarding a separate filter for concatenation, that would have been very helpful for implementing source maps. I found a workaround that is (nearly) operational that uses a worker to "flatten" an AssetCollection into a flat set of Assets called an AssetBag, and applies a filter on the AssetBag that feeds everything through UglifyJS w/ source maps enabled.

authors: Hoten stof

repo: kriswallsmith/assetic


text:
Getting exec format error for all plugins

Installed the plugin per instructions. Ran the install script. PIP installed packages w/o any issues.

OS Version: Ubuntu 20.10
GIMP Version: 2.10.18-1build2

~/git/GIMP-ML/gimp-plugins$ gimp
GIMP-Error: Unable to run plug-in "update.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/update.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/update.py” (Exec format error)

GIMP-Error: Unable to run plug-in "syncWeights.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/syncWeights.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/syncWeights.py” (Exec format error)

GIMP-Error: Unable to run plug-in "super_resolution.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/super_resolution.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/super_resolution.py” (Exec format error)

GIMP-Error: Unable to run plug-in "semseg.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/semseg.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/semseg.py” (Exec format error)

GIMP-Error: Unable to run plug-in "monodepth.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/monodepth.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/monodepth.py” (Exec format error)

GIMP-Error: Unable to run plug-in "kmeans.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/kmeans.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/kmeans.py” (Exec format error)

GIMP-Error: Unable to run plug-in "invert.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/invert.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/invert.py” (Exec format error)

GIMP-Error: Unable to run plug-in "interpolateframes.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/interpolateframes.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/interpolateframes.py” (Exec format error)

gimp: LibGimpBase-WARNING: gimp: gimp_wire_read(): error
GIMP-Error: Unable to run plug-in "faceparse.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/faceparse.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/faceparse.py” (Exec format error)

GIMP-Error: Unable to run plug-in "facegen.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/facegen.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/facegen.py” (Exec format error)

GIMP-Error: Unable to run plug-in "enlighten.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/enlighten.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/enlighten.py” (Exec format error)

GIMP-Error: Unable to run plug-in "deepmatting.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/deepmatting.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/deepmatting.py” (Exec format error)

GIMP-Error: Unable to run plug-in "deepdenoise.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/deepdenoise.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/deepdenoise.py” (Exec format error)

gimp: LibGimpBase-WARNING: gimp: gimp_wire_read(): error
GIMP-Error: Unable to run plug-in "deepcolor.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/deepcolor.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/deepcolor.py” (Exec format error)

GIMP-Error: Unable to run plug-in "deblur.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/deblur.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/deblur.py” (Exec format error)

GIMP-Error: Unable to run plug-in "colorpalette.py"
(/home/muksihs/git/GIMP-ML/gimp-plugins/colorpalette.py)

Failed to execute child process “/home/muksihs/git/GIMP-ML/gimp-plugins/colorpalette.py” (Exec format error)

Ok solved the "arcane" on my own...
GIMP-ML and Gimp uses Python2 but InstallGimpML.sh assumes the command python2 get-pip.py works... instead it not works...
The problem here, Ubuntu and some distro dropped support for pip2 because is almost dead and other reasons..
The workaround for now (and for me) is:

delete the "gimpenv" folder in cloned repository (GIMP-ML)
execute this command anywhere curl https://bootstrap.pypa.io/2.7/get-pip.py --output get-pip.py && python2 ./get-pip.py
check if pip2 is correctly installed on system pip2 --version should return Python 2.7
run sudo apt install python2-minimal libpython2.7
then modify InstallGimp-ML.sh script, i've already done that here installGimpML-fix-pip2.sh

Hope this works! anyway GIMP-ML should be ported to python3 but i think is a lot of work for the devs...

Hope this works! anyway GIMP-ML should be ported to python3 but i think is a lot of work for the devs...

Tried this... still getting "exec format error"...

in debian 10 solved with
sudo apt install gimp-python

authors: badunit buttha michael-conrad

repo: kritiksoman/GIMP-ML


text:
Fix incorrect region

PR to fix #80

CI seems to break before even getting to tests.

Thanks!

authors: Brian-McG kronusme


text:
[Bug] wrong line break

Action
The yaml has an unwanted line break. The first and second one are correct, but when the line is too long and contains expressions, there is a break.
val DEFAULT_AWS_REGION by Contexts.env

val workflow = workflow(...) {
  job(id = "deploy-dev", runsOn = RunnerType.UbuntuLatest) {
    uses(action = ConfigureAwsCredentialsV1(
      roleToAssume = "arn:aws:iam::${"1234567890".repeat(2)}:role/github-actions-role/${"1234567890".repeat(3)}",
      awsRegion = expr { DEFAULT_AWS_REGION }
    ))
    uses(action = ConfigureAwsCredentialsV1(
      roleToAssume = "arn:aws:iam::${"1234567890".repeat(0)}:role/github-actions-role/${expr { github.token }}",
      awsRegion = expr { DEFAULT_AWS_REGION }
    ))
    uses(action = ConfigureAwsCredentialsV1(
      roleToAssume = "arn:aws:iam::${"1234567890".repeat(1)}:role/github-actions-role/${expr { github.token }}",
      awsRegion = expr { DEFAULT_AWS_REGION }
    ))
    uses(action = ConfigureAwsCredentialsV1(
      roleToAssume = "arn:aws:iam::${"1234567890".repeat(2)}:role/github-actions-role/${expr { github.token }}",
      awsRegion = expr { DEFAULT_AWS_REGION }
    ))
  }
}

produces
...
    - id: step-10
      uses: aws-actions/configure-aws-credentials@v1
      with:
        aws-region: ${{ DEFAULT_AWS_REGION }}
        role-to-assume: arn:aws:iam::12345678901234567890:role/github-actions-role/123456789012345678901234567890
    - id: step-11
      uses: aws-actions/configure-aws-credentials@v1
      with:
        aws-region: ${{ DEFAULT_AWS_REGION }}
        role-to-assume: arn:aws:iam:::role/github-actions-role/${{ github.token }}
    - id: step-12
      uses: aws-actions/configure-aws-credentials@v1
      with:
        aws-region: ${{ DEFAULT_AWS_REGION }}
        role-to-assume: arn:aws:iam::1234567890:role/github-actions-role/${{ github.token
          }}
    - id: step-13
      uses: aws-actions/configure-aws-credentials@v1
      with:
        aws-region: ${{ DEFAULT_AWS_REGION }}
        role-to-assume: arn:aws:iam::12345678901234567890:role/github-actions-role/${{
          github.token }}
...

Expected
valid yaml
Actual
invalid yaml
Workaround, if exists
Manual adjustment of output YAML is not a workaround. Adjusting Kotlin code in a certain way is.
Library version
v0.34.1

Hi @benkeil, thanks for the bug report!
It likely happens because our dependency snakeyaml-engine has a default max scalar width set to 80: https://bitbucket.org/snakeyaml/snakeyaml-engine/src/83527a0dc7eeb8bc2c4cc853029ec8c644a63ded/src/main/java/org/snakeyaml/engine/v2/api/DumpSettingsBuilder.java#lines-74, unless there are no whitespaces, then it doesn't break the string. Here we have the GiHub expressions ({{ ... }}) and spaces inside them, so snakeyaml-engine thinks that it's safe to break the string - it's not aware of extra semantics of the string.
Let me fix it by setting the max width to some large number.


text:
Why is functions (assert) needed?

Hi!
Thanks for the package!
I am curious what is the point of using function(s).
In case of assert (as there is only one function in function"s".ts, currently), nodejs already provides assert, and though the function behaves a little differently, it's fundamentally equivalent, and type is supported by @types/node.
So, why does the package export the function?
Thanks.

@jjangga0214 hey!
Thank you for the question!
assert is helpful if you don't have node environment (e.g. in any browser)
also, you cannot express asserts condition with types only (so it has its benefit)
UnreachableCaseError can be implemented differently (also you can have only a function) but the idea is still the same (check that you don't have more cases)
noop is just emptiness regarding the function which also cannot be implemented on the type level only

Let me know if you have more questions
I will close it for now

repo: krzkaczor/ts-essentials


text:
Simplify type definitions via TS 3.7 recursive type aliases

See here.
By leveraging the recursive type feature introduced in TS 3.7, we no longer need intermediate interfaces to express recursive structures, which can greatly simplify our code base.
Maybe we can open an experimental branch for this, since this would definitely be a breaking change (we will rely on TS 3.7).

Yes, definitely!

Addressed via #105


text:
Check patches for rocket launches

Issue detected while testing a save from #494
Simulation error: Object reference not set to an instance of an object
at (wrapper dynamic-method) VehicleManager.CreateVehicle_Patch2 (object,uint16&,ColossalFramework.Math.Randomizer&,VehicleInfo,UnityEngine.Vector3,TransferManager/TransferReason,bool,bool) <0x00ae3>
at RocketLaunchAI.SimulationStep (uint16,EventData&) <0x0083d>
at EventManager.SimulationStepImpl (int) <0x00149>
at SimulationManagerBase`2.SimulationStep (int) <0x0004c>
at EventManager.ISimulationManager.SimulationStep (int) <0x00024>
at SimulationManager.SimulationStep () <0x00693>
at SimulationManager.SimulationThread () <0x0018a>
  [Core]

VehicleManager.CreateVehicle_Patch2
I don't recall seeing space rockets listed in the vehicle types - maybe that is the issue?

OK i have launched ChirpX under the debugger and no Null Pointer exception occured.
How do I reproduce?

@kvakvs I was testing the save game that's in the .zip in https://github.com/krzychu124/Cities-Skylines-Traffic-Manager-President-Edition/issues/494

Does not even load for me. Debugger shows the loading is getting stuck in the infinite loop in DeleteBuildingImpl on calling CheckBulldozing on a building whose building.Info is null. Might be missing assets?

I was also missing assets (listed in a comment in #494) but it did load - use Loading Screen Mod asset report and it will list what's missing. Although still odd that it would fail to load at all.

Try SafeNets mod - it will avoid some common problems due to loading saves with missing network assets. https://steamcommunity.com/sharedfiles/filedetails/?id=1620588636

Game loaded with SafeNets, auto-deleted all the missing roads so i've played "fix my city" restoring the roads and waiting for ChirpX to charge. It launched no problem, so my guess would be one of the user's assets causing this.

I'll see if I can spot any custom rocket assets in the log...

No custom rockets found. :/

Old issue, there was game update in the meantime, personally I haven't heard about similar issue since then.
Closing, reopen if issue persist.


text:
Is the support for JDK 8 logs been added

Hi krzysztofslusarski,
Appreciate your effort on this repo. Thanks for developing a GC parser which parses gc  and safepoint pauses. Since we use JDK 8 we couldn't reap the benefits of the tool. Could you please confirm whether the support for JDK 8 logs format has been added to jvm-gc-logs-analyzer. If so please let us know which version.
Thanks
Sattish

Hi, not yet. I still want to do it, but some other features have higher priorities right now.

Thanks for your response. Let us know when its available for JDK 1.8

authors: krzysztofslusarski sattishv

repo: krzysztofslusarski/jvm-gc-logs-analyzer


text:
Time for a new tag?

There are 9 commits since v1.3.3.

done

authors: AlekSi kshvakov

repo: kshvakov/clickhouse


text:
找不到 cgc.cpp, audio_player.cpp 等源文件

开源的代码里找不到 cgc.cpp, audio_player.cpp

按照计划：开源 cgc 的必要非充分条件是本项目有 2000 个星。

repo: ksyun-kenc/liuguang


text:
watch option not in read.me file

Could you add in the read.me file that the watch option exists ?

Added. Thank you for reporting!

authors: ktsn stphdenis

repo: ktsn/vuetype


text:
Update to use natural-transformation-0.4

natural-transformation-0.4 was just released, which has breaking API changes. This PR updates aframe-server to account for them.

Closing stale PR.

repo: ku-fpg/aframe-server


text:
ModuleNotFoundError: No module named 'jaconv'

To reproduce
$ kwja --version
Traceback (most recent call last):
  File "/Users/hirokazukiyomaru/.local/bin/kwja", line 5, in <module>
    from kwja.cli.cli import app
  File "/Users/hirokazukiyomaru/.local/pipx/venvs/kwja/lib/python3.10/site-packages/kwja/cli/cli.py", line 15, in <module>
    from kwja.callbacks.word_module_discourse_writer import WordModuleDiscourseWriter
  File "/Users/hirokazukiyomaru/.local/pipx/venvs/kwja/lib/python3.10/site-packages/kwja/callbacks/word_module_discourse_writer.py", line 13, in <module>
    from kwja.datamodule.datasets import WordDataset, WordInferenceDataset
  File "/Users/hirokazukiyomaru/.local/pipx/venvs/kwja/lib/python3.10/site-packages/kwja/datamodule/datasets/__init__.py", line 1, in <module>
    from .char_dataset import CharDataset
  File "/Users/hirokazukiyomaru/.local/pipx/venvs/kwja/lib/python3.10/site-packages/kwja/datamodule/datasets/char_dataset.py", line 13, in <module>
    from kwja.datamodule.examples.char_feature import CharFeatureExample
  File "/Users/hirokazukiyomaru/.local/pipx/venvs/kwja/lib/python3.10/site-packages/kwja/datamodule/examples/__init__.py", line 5, in <module>
    from .reading import ReadingExample
  File "/Users/hirokazukiyomaru/.local/pipx/venvs/kwja/lib/python3.10/site-packages/kwja/datamodule/examples/reading.py", line 6, in <module>
    from kwja.utils.reading import ReadingAligner
  File "/Users/hirokazukiyomaru/.local/pipx/venvs/kwja/lib/python3.10/site-packages/kwja/utils/reading.py", line 8, in <module>
    import jaconv
ModuleNotFoundError: No module named 'jaconv'

I found that f85f6a1883a570616037ba8b16071eca59290bcf moved kyoto-reader to the dev-dependency and consequently jaconv was also moved to dev-dependency.

8581a5e6490e2242e9df70c3ccb260d8fcb6cdec fixed this issue.

repo: ku-nlp/kwja


text:
2.0-SNAPSHOT

download wrapper during build

This change is

/deploy

/deploy

repo: kube-HPC/hkube


text:
fix(CI): Change latest release CI to containerd runtime

Purpose of PR?:
As a part of #1627
We are changing the runtime of our CI release workflow from docker to containerd.
Does this PR introduce a breaking change?
No
If the changes in this PR are manually verified, list down the scenarios covered::
Additional information for reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
Checklist:

[ ] Bug fix. Fixes #
[x] PR Title follows the convention of  <type>(<scope>): <subject>
[x] Commit has unit tests
[x] Commit has integration tests

Also I have added eventually to blockposture to test something, it won't be there in the final PR

Also I have added eventually to blockposture to test something, it won't be there in the final PR

I think we can add if we want to all test suites, that can be a different PR too.

repo: kubearmor/KubeArmor


text:
Snapshot to multiple directories

Hi there
I was wondering if it's possible to have a scheduled backup write to multiple directories or storage mediums.
For example, to have a single snapshot backup to S3, GCS, and Local PVC:
backupSchedule:
  cronExpression: "@every 10m"
  storageSecretName: kubedbStorageSecret

  s3:
    bucket: kubedb-snap
    endpoint: http://minio.svc:8080/

  local:
    mountPath: /repo
    persistentVolumeClaim:
      claimName: snap-pvc

  gcs:
    bucket: kubedb-snap

apiVersion: v1
kind: Secret
metadata:
  labels:
    app: postgres
  name: kubedbStorageSecret
data:
  AWS_ACCESS_KEY_ID: "****"
  AWS_SECRET_ACCESS_KEY: "****"
  GOOGLE_PROJECT_ID: "****"
  GOOGLE_SERVICE_ACCOUNT_JSON_KEY: "****"
type: Opaque

Environment:
$ oc version
oc v3.11.0+0cbc58b
kubernetes v1.11.0+d4cacc0
features: Basic-Auth GSSAPI Kerberos SPNEGO

Server https://example.net:8443
openshift v3.11.0+3b2d3b6-227
kubernetes v1.11.0+d4cacc0

KubeDB Operator Version: 0.12.0
Extra?
Is there a config that can be set so that KubeDB will only keep x number of Snapshots and delete older snapshots automatically?

Currently, you can't do it. However, we are integrating Stash with KubeDB. You will be able to schedule multiple backup into multiple backend of same database.

Thank you for the response @hossainemruz, I look forward to the release!

repo: kubedb/project


text:
Postgres DBs go down when Kubernetes apiserver (master) goes down.

Kubernetes on GKE version v1.15.11-gke.13
KubeDB version kubedb/operator:v0.13.0-rc.0
The Postgres images currently use a leader election that uses the Kubernetes API. If the Kubernetes apiserver  goes down, the current leader shuts down after a timeout (which it totally should, to avoid split brain / diverging timelines etc).
In my opinion, one of the nicest features of Kubernetes is that even if the apiserver is down, kubelets continue running everything they were running before, so your applications don't go down. However, this is not true for kubedb-deployed Postgres databases.
This is a problem because it couples the uptime of the apiserver to the application, elevating the impact of apiserver failure from "I can't do deployments, cronjobs aren't running" to "the entire service is down". Many organizations might want HA applications but not HA apiserver, due to cost or complexity.
The ideal alternative would be to have the database pods do leader election among themselves without depending on the Kubernetes API. Something like an embedded Raft? (I'm not a distributed consensus system expert).
Another option would be using an independent service to do leader election. Similar to what Patroni does in etcd datastore mode.

This issue has been resolved in KubeDB release v2021.03.17 . Please open a new bug if you still see this issue.

authors: Dirbaio tamalsaha


text:
What are the benefits of using Transformer

What are the benefits of using Tromsformer for data pre-processing and post-processing than directly overwriting preprocess and postprocess in KFModel

@swapkh91 Thanks for your suggestion. Is the working method of Transformer interpreted as the following form? The client's data will be sent to the Transformer container, where it will call the prediction function in predictor through gRPC to get the inference result of the model. And kfserving will automatically configure gRPC related files for me?

The Transformer only handles HTTP predictions.
You will need to override the predict to implement gRPC
Like this
class Transformer(kfserving.KFModel):
    def __init__(self, name: str, predictor_host: str):
        super().__init__(name)

        self.channel = grpc.insecure_channel(f"{predictor_host}:80")
        self.stub = your_service_grpc.PredictServiceStub(self.channel)

    def preprocess(self, inputs: Dict) -> Dict:
        ...

    def predict(self, features: Dict) -> list:
        ...

        response = self.stub.Predict(request, timeout=10.0)

        ...

    def postprocess(self, result: list) -> Dict:
        ...

@markwinter Thank you very much for your suggestion.

authors: SeibertronSS markwinter

repo: kubeflow/kfserving


text:
Clarifications to the serving overview

Clarifies the serving overview:

Adds an introductory paragraph to the page.
Shortens and clarifies some sentences.
Styles the table.
Changes Xs to check marks and moves the links to aliases

Fixes https://github.com/kubeflow/website/issues/1459

This change is

Preview: https://deploy-preview-1454--competent-brattain-de2d6d.netlify.com/docs/components/serving/overview/

/assign @ellis-bigelow
@ellis-bigelow Please would you take a look at this PR - it's the promised followup on the original PR https://github.com/kubeflow/website/pull/1405

This PR is now ready for review. I'm applying a hold to allow for multiple reviewers:
/hold

/hold cancel

/lgtm
/Approve

/approve

authors: ellis-bigelow sarahmaddox

repo: kubeflow/website


text:
Downgrade kubernetes python module version and minor fixes in docs

This PR solves https://github.com/kubeless/functions/issues/11.
It also fixes a couple of minor things in the docs

hum, I thought I fixed that
/lgtm

authors: sebgoa tompizmor

repo: kubeless/functions


text:
Fix the goreleaser architecture for aarch64

Replace aarch64 with arm64 for goreleaser.
Proposed solution for https://github.com/kubereboot/kured/issues/823

Updated the PR and made shellcheck happy :slightly_smiling_face:

ping :)

Test run on an aarch64 VM: build.txt
make bootstrap-tools kured && go test -race ./... && go build ./...

I get a binary in dist/kured_linux_arm64 that appears to be working (judging that ./kured -h works).

PR amended and tested on aarch64.

@grisu48 Unfortunately the shellcheck is still not happy.

PR amended and tested on aarch64.

Thank you!

authors: ckotzbauer dirkmueller grisu48

repo: kubereboot/kured


text:
Fix the lint and misspell errors caught by the GoReportCard

What this PR does / why we need it:
This PR fixes the lint and misspell errors caught by the GoReportCard.
Release note:
NONE

/assign @kron4eg

Hetzner E2E tests are broken.
/override pull-kubeone-e2e-hetzner-conformance-1.13.5
/override pull-kubeone-e2e-hetzner-conformance-1.14.0
/override pull-kubeone-e2e-hetzner-upgrade-1.13.5-1.14.0

/override pull-kubeone-e2e-hetzner-conformance-1.13.5
/override pull-kubeone-e2e-hetzner-conformance-1.14.0
/override pull-kubeone-e2e-hetzner-upgrade-1.13.5-1.14.0

/retest

/override pull-kubeone-e2e-hetzner-conformance-1.13.5
/override pull-kubeone-e2e-hetzner-conformance-1.14.0
/override pull-kubeone-e2e-hetzner-upgrade-1.13.5-1.14.0

repo: kubermatic/kubeone


text:
Add option to refresh gcp token when config is cmd-path

The python client does not deal with "gcloud" gke auth in the kube config file as it's based on the "cmd-path" auth.
This is adding the code to take care of this auth.
This should solve https://github.com/kubernetes-client/python/issues/754

please sign cla

please sign cla

I'm working on it with my company right now.

I re-sent this PR as #175

authors: jfrabaute yliaog

repo: kubernetes-client/python-base


text:
Add integration test for truncindex

fix #343
Signed-off-by: yanxuean yan.xuean@zte.com.cn

/assign random-liu

@Random-Liu PTAL

/ok-to-test

/test all

/assign mikebow

/assign mikebrow

/ok-to-test
@yanxuean We are in dockercon this week, will probably review a bit late. :) Sorry for the delay.

I'll review in the morning.

PTAL

Were you going to add an invalid case for the truncated name lookups? For example, two sandboxes with similar names then address by a common prefix?

Oh. It is difficult to do it in intergration test. Because we can not generate id as expected ,so we can not get two similar name.
Do you think?
By the way, we have the test case in unit test.

And the test case look like we are derectly testing trunkindex self  not cri that is the user of truncindex :)

We can make a test case as below.
A sandbox can be addressed before it be deleted,and cannot be addressed after it be deleted.

I might be wrong but I thought if you had two similar named pods that they might end up with the truncid depending on how many chars you use for the prefix. Which would cause an error when passing in the common truncid that you are generating based on slice [:3].
Eg: pod name "foo1" pod name "foo2" truncid through your :3 slice api is "foo" for both pods lookup status on "foo" should error, no? If not don't worry.

I will try it.

I tried it.  It is impossible to construct 2 similar truncID.
Because cri-containerd generate ID by rand. It is not relative with metadata.
func GenerateNonCryptoID() string {
	return generateID(readerFunc(rand.Read))
}

the result as below:
			truncindex_test.go:61: Create a sandbox,2fc2377e24ad91d338c4498749b035e6100f30883a3afc3df7c2ec2e49e24dc0, &runtime.PodSandboxMetadata{Name:"sandbox", Uid:"30cfd3535531cd0c8427eb625f8bdc0ad9e610d4d9e2b450e6aa9376ea6d65fa", Namespace:"TruncIndex", Attempt:0x0}
	truncindex_test.go:62: Create a sandbox,a981bdbf63af11e0437aade8df3b6709ea2ddf042f768431e8f96848bfd9b678, &runtime.PodSandboxMetadata{Name:"sandbox1", Uid:"8fe6422590e7ead5479c54e226e28cc726660272571c40da7c123d11ece5579c", Namespace:"TruncIndex", Attempt:0x0}

I  add a test case as below.
A sandbox can be addressed before it be deleted,and cannot be addressed after it be deleted.

@Random-Liu  @mikebrow    PTAL

I think I might have the answer here.. if the status lookup fails it isn't returning an error. If I remember right that's how @Random-Liu wanted / needed it to work?  Look here:
mike@mike-VirtualBox:~/go/src/github.com/kubernetes-incubator/cri-containerd$ sudo git diff
diff --git a/integration/truncindex_test.go b/integration/truncindex_test.go
index bc7e0c6..3ac580a 100644
--- a/integration/truncindex_test.go
+++ b/integration/truncindex_test.go
@@ -30,7 +30,7 @@ func genTruncIndex(normalName string) string {

 func TestTruncIndex(t *testing.T) {
        t.Logf("Pull an image")
-       const appImage = "busybox"
+       const appImage = "busybox:1.26"
        img, err := imageService.PullImage(&runtimeapi.ImageSpec{Image: appImage}, nil)
        require.NoError(t, err)
        defer func() {
@@ -39,8 +39,25 @@ func TestTruncIndex(t *testing.T) {
        imgTruncId := genTruncIndex(img)

        t.Logf("Get image status by truncindex")
-       _, err = imageService.ImageStatus(&runtimeapi.ImageSpec{Image: imgTruncId})
+       st, err := imageService.ImageStatus(&runtimeapi.ImageSpec{Image: imgTruncId})
        require.NoError(t, err)
+       t.Logf("image status: %+v", st)
+
+       t.Logf("Pull another image")
+       const appImage2 = "busybox:1.27"
+       img2, err := imageService.PullImage(&runtimeapi.ImageSpec{Image: appImage2}, nil)
+       require.NoError(t, err)
+       defer func() {
+               assert.NoError(t, imageService.RemoveImage(&runtimeapi.ImageSpec{Image: img2}))
+       }()
+       imgTruncId2 := genTruncIndex(img2)
+
+       t.Logf("Get image2 status truncid")
+       st2, err := imageService.ImageStatus(&runtimeapi.ImageSpec{Image: imgTruncId2})
+       require.NoError(t, err)
+       t.Logf("image2 status: %+v", st2)
+
+       t.Logf("img & img2: \"%s\",\"%s\" - Truncid & Truncid2: \"%s\",\"%s\"", img, img2, imgTruncId, imgTruncId2)

        // TODO(yanxuean): add test case for ListImages

And the output:
mike@mike-VirtualBox:~/go/src/github.com/kubernetes-incubator/cri-containerd$ sudo make test-integration FOCUS=TestTruncIndex
go test -c github.com/kubernetes-incubator/cri-containerd/integration -o _output/integration.test
1 attempt "sudo /home/mike/go/bin/crictl --runtime-endpoint=/var/run/cri-containerd.sock info"! Trying again in 1 seconds...
=== RUN   TestTruncIndex
--- PASS: TestTruncIndex (7.11s)
	truncindex_test.go:32: Pull an image
	truncindex_test.go:41: Get image status by truncindex
	truncindex_test.go:44: image status: nil
	truncindex_test.go:46: Pull another image
	truncindex_test.go:55: Get image2 status truncid
	truncindex_test.go:58: image2 status: nil
	truncindex_test.go:60: img & img2: "sha256:c30178c5239f2937c21c261b0365efcda25be4921ccb95acd63beeeb78786f27","sha256:54511612f1c4d97e93430fc3d5dc2f05dfbe8fb7e6259b7351deeca95eaf2971" - Truncid & Truncid2: "sha","sha"
	truncindex_test.go:64: Create a sandbox
	truncindex_test.go:74: Get sandbox status by truncindex
	truncindex_test.go:78: Forward port for sandbox by truncindex
	truncindex_test.go:84: Create a container
	truncindex_test.go:97: Get container status by truncindex
	truncindex_test.go:101: Start the container
	truncindex_test.go:107: Stats the container
	truncindex_test.go:111: Update container memory limit after started
	truncindex_test.go:117: Execute cmd in container
	truncindex_test.go:126: Execute cmd in container by sync
	truncindex_test.go:132: Get a non exist sandbox status by truncindex
PASS

Note: no error was returned.. and neither was the status, as st was set to nil on the status request.
so.... probably need to revisit this a bit.

@yanxuean I'll review this PR this weekend.

I think I might have the answer here or at least an issue to address.. if the status lookup fails it isn't returning an error. If I remember right that's how @Random-Liu wanted / needed it to work? Look here:

This is  a problem. I have not noticed it. Tks.

/hold

The image is more complex than container and sandbox:)

We maybe have to modify criContainerdService.localResolve.
In localResolve, we treat the arg "ref" as truncated imageID first.
if we find image by the "truncID" in imageStore, that is good.
if not, we continue to handle it like originly.
The regular imageID all have the prefix "sha256:",  It can clearly distinguish from the image refence.
Do you think about it?   @mikebrow @Random-Liu

Thanks for review. I will go to sleep. I will do late.

@random-liu    PTAL

@yanxuean #375 is merged. Thanks for working on this!

/retest

rebase + remove confused comment
@Random-Liu @mikebrow  PTAL

LGTM overall with final nits.

@Random-Liu add a testcase
t.Logf("Get a non exist container status by truncindex")

authors: Random-Liu mikebrow yanxuean

repo: kubernetes-incubator/cri-containerd


text:
Minor: Remove old/disused CI cruft

- What I did
Removed some legacy cruft
- How I did it
git rm
- How to verify it
Ask if anybody doesn't not use it :smile:
(I used it ages ago, but AFAIK, nobody else even looks at it)

/test all

LGTM, but you shoulda used Cruft-Be-Gone, it's much more efficient.

LGTM

authors: TomSweeneyRedHat cevich rhatdan

repo: kubernetes-incubator/cri-o


text:
Increase the timeout value for create container

Travis is hitting the 3 seconds intermittently.
@runcom @sameo @rhatdan PTAL
Signed-off-by: Mrunal Patel mrunalp@gmail.com

LGTM

LGTM

authors: mrunalp runcom sameo


text:
github.com/Azure/go-autorest: fatal: unable to write new index file

I am unable to build the project.
$ dep ensure -vendor-only
grouped write of manifest, lock and vendor: error while writing out vendor tree: failed to write dep tree: failed to export github.com/Azure/go-autorest: fatal: unable to write new index file
: exit status 128

I don't have to use it with Azure but AWS.
Is there any quick workaround to apply?

I was following the steps given in the main page, when I ran into this build issue
https://github.com/kubernetes-incubator/external-dns
To install all dependencies, make sure to install dep first.

$ git clone https://github.com/kubernetes-incubator/external-dns.git && cd external-dns
$ dep ensure -vendor-only
$ make

I'm not sure, I run this commands all the time and it works. Please make sure to clone the project in the right path, this might be an issue when using dep. @njuettner is working on switching to go modules which should simplify things a bit.

Yes, the PR its ready for review 🤞 #960

authors: Raffo bjethwan njuettner

repo: kubernetes-incubator/external-dns


text:
RBD image connection issue in Kubernetes v1.9.x

This commit fixes the timeout, binding a new image from CEPH to a pod.
The RDB provisioner needs access to the service resource in order to connect the RBD image to the pod. Those permissions are granted with this additional rule
Unable to mount volumes for pod "...":
timeout expired waiting for volumes to attach/mount for pod "...".
list of unattached/unmounted volumes=[volume]

based on the work of @timn in #608

This can actually be further constrained. I have added a PR doing so in #620.

Closed in favor of #620

authors: NicolaiSchmid timn

repo: kubernetes-incubator/external-storage


text:
kompose down with openshift doesn't delete  BuildConfig

I tried running kompose down with the buildconfig example here: https://github.com/kubernetes-incubator/kompose/tree/master/examples/buildconfig
It doesn't delete the buildconfig.
$ kompose --provider=openshift -f docker-compose.yml down
WARN[0000] [foo] Service cannot be created because of missing port.
INFO[0000] Buildconfig using https://github.com/skippbox/kompose2.git::master as source.
INFO[0001] Successfully deleted DeploymentConfig: foo
INFO[0001] Successfully deleted ImageStream: foo
$ oc get bc
NAME      TYPE      FROM         LATEST
foo       Docker    Git@master   1

@ashetty1 buildconfig support was not present when kompose down for openshift got merged. Thanks for reporting the issue.
@kadel I'm working on it.

Correct me if I am wrong, but it appears in my testing that this issue hasn't been fixed yet:
Before running kompose down:
NAME          READY     STATUS      RESTARTS   AGE
foo-1-build   0/1       Completed   0          1m
foo-1-lv0q5   1/1       Running     0          29s
Running kompose down:
INFO Buildconfig using https://github.com/kubernetes-incubator/kompose.git::HEAD as source.
INFO Successfully deleted Service: foo
INFO Successfully deleted DeploymentConfig: foo
INFO Successfully deleted ImageStream: foo
INFO Successfully deleted BuildConfig: foo
Looks like the build pod doesn't get deleted: Output of oc get pods:
NAME          READY     STATUS      RESTARTS   AGE
foo-1-build   0/1       Completed   0          2m

@ashetty1 I think this https://github.com/kubernetes-incubator/kompose/pull/483 will solve the problem!

meanwhile keeping this open since this problem is not completelt solved!

authors: ashetty1 procrypt surajssd

repo: kubernetes-incubator/kompose


text:
Cluster proportional autoscaler logtostderr flag removed

I believe --logtostderr=true may have been removed accidentally in https://github.com/kubernetes-incubator/kube-aws/pull/1345#pullrequestreview-135224092

This can be closed: https://github.com/kubernetes-incubator/kube-aws/blob/master/builtin/files/userdata/cloud-config-controller#L3858

Migrated to plugin

authors: c-knowles davidmccormick jorge07

repo: kubernetes-incubator/kube-aws


text:
Fix typo delete ‘a’

Fix typo delete ‘a’

/assign @piosz

/assign @directxman12

/lgtm

/assign @brancz

@brancz  Thank you for your prompt, I have revised it.

/assign @kawych

/assign @brancz

/lgtm
/approve

authors: brancz kawych xichengliudui

repo: kubernetes-incubator/metrics-server


text:
test storages to make sure they are appropriate types

more "test some stuff so things don't break when I change other stuff" tests

/retest

/lgtm

I would switch the Ω to Expects and then this looks good to me.

took out the unicode expects

/lgtm

/approve

/assign @carolynvs

/approve

/retest

authors: MHBauer jberkhahn

repo: kubernetes-incubator/service-catalog


text:
alb.ingress.kubernetes.io/auth-scope is not escaped in Location header

According to the documentation here: https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/ingress/annotation/#auth-scope, a valid auth scope could be defined as 'email openid'.  However, this produces redirect links of the following form, with the space:
Location: https://xxx.amazoncognito.com/oauth2/authorize?client_id=xxx&redirect_uri=xxxresponse_type=code&scope=openid email&state=xxx

Note that the space between openid and email is preserved and not encoded to %20
While this works with modern browsers because they refuse to send the space, it is not the correct form for the redirect, and so, for instance, the Go http.Client we used trying to follow that redirect link cannot find the page there.

For now, I fixed this problem on the other side with code like this:
		http.Client{
 			...
			CheckRedirect: func(req *http.Request, via []*http.Request) error {
				req.URL.RawQuery = strings.ReplaceAll(req.URL.RawQuery, " ", "%20")
				return nil
			},
		}

I don't think this should have been necessary.

I looked through the code, my current though is that this is poor behavior on the AWS side and not this controller, but I wouldn't mind a second opinion.
I did find the scope is fed into the aws sdk in a AuthenticateCognitoActionConfig struct, which documents the Scope field

The set of user claims to be requested from the IdP. The default is openid.
To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.

Space separated into this struct seems to be the goal.

Hi, i forwarded this to the PM of ELB

Thanks.  I also contacted AWS - the confirmed the bug and said they forwarded it to the team, but could not provide ETA on a fix and I think they closed the ticket.  I'm not sure whether to leave this open or wait until there is a fix (in case others find this useful in the meantime), so I will leave it open for the maintainers to decide.  If I notice it is fixed I can follow up here.

@jswidler
I'll close this and track this in a centralized ALB issue: https://github.com/kubernetes-sigs/aws-load-balancer-controller/issues/1344


text:
CAPK depends on KubeVirt running on the management cluster

Today, CAPK provider will fail to initialize if the management cluster does not have KubeVirt CRDs deployed.
Here's an example (note CAPK provider is failing to initialize):
NAMESPACE                           NAME                                                             READY   STATUS             RESTARTS   AGE
capi-kubeadm-bootstrap-system       capi-kubeadm-bootstrap-controller-manager-5c7c767585-mxfjv       1/1     Running            0          34m
capi-kubeadm-control-plane-system   capi-kubeadm-control-plane-controller-manager-76c769d87c-kjbdp   1/1     Running            0          34m
capi-system                         capi-controller-manager-66fc7b7785-lznb9                         1/1     Running            0          34m
capk-system                         capk-controller-manager-59d88f64fb-fk46z                         1/2     CrashLoopBackOff   7          34m

CAPK manager log shows the following error:
E0222 22:34:33.654495       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}

Full log from CAPK manager:
I0222 22:34:10.170500       1 request.go:665] Waited for 1.041200068s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/coordination.k8s.io/v1?timeout=32s
I0222 22:34:10.673334       1 logr.go:249] controller-runtime/metrics "msg"="Metrics server is starting to listen"  "addr"="127.0.0.1:8080"
I0222 22:34:10.674078       1 logr.go:249] controller-runtime/builder "msg"="skip registering a mutating webhook, object does not implement admission.Defaulter or WithDefaulter wasn't called"  "GVK"={"Group":"infrastructure.cluster.x-k8s.io","Version":"v1alpha1","Kind":"KubevirtMachineTemplate"}
I0222 22:34:10.674140       1 logr.go:249] controller-runtime/builder "msg"="Registering a validating webhook"  "GVK"={"Group":"infrastructure.cluster.x-k8s.io","Version":"v1alpha1","Kind":"KubevirtMachineTemplate"} "path"="/validate-infrastructure-cluster-x-k8s-io-v1alpha1-kubevirtmachinetemplate"
I0222 22:34:10.674259       1 server.go:146] controller-runtime/webhook "msg"="Registering webhook" "path"="/validate-infrastructure-cluster-x-k8s-io-v1alpha1-kubevirtmachinetemplate"
I0222 22:34:10.674373       1 logr.go:249] setup "msg"="starting manager"
I0222 22:34:10.674461       1 server.go:214] controller-runtime/webhook/webhooks "msg"="Starting webhook server"
I0222 22:34:10.674583       1 internal.go:362]  "msg"="Starting server" "addr"={"IP":"127.0.0.1","Port":8080,"Zone":""} "kind"="metrics" "path"="/metrics"
I0222 22:34:10.674611       1 leaderelection.go:248] attempting to acquire leader lease capk-system/controller-leader-election-capk...
I0222 22:34:10.674700       1 internal.go:362]  "msg"="Starting server" "addr"={"IP":"::","Port":9440,"Zone":""} "kind"="health probe"
I0222 22:34:10.674734       1 logr.go:249] controller-runtime/certwatcher "msg"="Updated current TLS certificate"
I0222 22:34:10.674863       1 logr.go:249] controller-runtime/webhook "msg"="Serving webhook server"  "host"="" "port"=9443
I0222 22:34:10.674929       1 logr.go:249] controller-runtime/certwatcher "msg"="Starting certificate watcher"
I0222 22:34:29.050812       1 leaderelection.go:258] successfully acquired lease capk-system/controller-leader-election-capk
I0222 22:34:29.051055       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1alpha1.KubevirtMachine"
I0222 22:34:29.051056       1 controller.go:178] controller/kubevirtcluster "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster" "source"="kind source: *v1alpha1.KubevirtCluster"
I0222 22:34:29.051080       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1beta1.Machine"
I0222 22:34:29.051108       1 controller.go:178] controller/kubevirtcluster "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster" "source"="kind source: *v1beta1.Cluster"
I0222 22:34:29.051137       1 controller.go:186] controller/kubevirtcluster "msg"="Starting Controller" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster"
I0222 22:34:29.051117       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1alpha1.KubevirtCluster"
I0222 22:34:29.051195       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1.VirtualMachineInstance"
I0222 22:34:29.051222       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1.VirtualMachine"
I0222 22:34:29.051245       1 controller.go:178] controller/kubevirtmachine "msg"="Starting EventSource" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine" "source"="kind source: *v1beta1.Cluster"
I0222 22:34:29.051279       1 controller.go:186] controller/kubevirtmachine "msg"="Starting Controller" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine"
I0222 22:34:30.102053       1 request.go:665] Waited for 1.04679704s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/cluster.x-k8s.io/v1alpha4?timeout=32s
E0222 22:34:30.605112       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
I0222 22:34:30.605140       1 controller.go:220] controller/kubevirtcluster "msg"="Starting workers" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster" "worker count"=1
E0222 22:34:33.654495       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:34:41.656424       1 request.go:665] Waited for 1.046721061s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/storage.k8s.io/v1?timeout=32s
E0222 22:34:42.158825       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:34:45.208681       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:34:51.706753       1 request.go:665] Waited for 1.09658386s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/clusterctl.cluster.x-k8s.io/v1alpha3?timeout=32s
E0222 22:34:52.158035       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:34:55.208798       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:01.756577       1 request.go:665] Waited for 1.147322771s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/certificates.k8s.io/v1?timeout=32s
E0222 22:35:02.158878       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:05.208588       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:11.757088       1 request.go:665] Waited for 1.1477616s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/networking.k8s.io/v1beta1?timeout=32s
E0222 22:35:12.158267       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:15.208665       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:21.806808       1 request.go:665] Waited for 1.197688109s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/storage.k8s.io/v1beta1?timeout=32s
E0222 22:35:22.159396       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:25.209345       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:31.856282       1 request.go:665] Waited for 1.247766642s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/cluster.x-k8s.io/v1alpha4?timeout=32s
E0222 22:35:32.158802       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:35.208210       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:41.906657       1 request.go:665] Waited for 1.297384124s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/bootstrap.cluster.x-k8s.io/v1beta1?timeout=32s
E0222 22:35:42.158276       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:45.208500       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:35:51.907172       1 request.go:665] Waited for 1.297277575s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/authorization.k8s.io/v1?timeout=32s
E0222 22:35:52.159635       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:35:55.209096       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:36:01.956369       1 request.go:665] Waited for 1.347632595s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/scheduling.k8s.io/v1beta1?timeout=32s
E0222 22:36:02.158553       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:36:05.208705       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:36:12.006399       1 request.go:665] Waited for 1.397125003s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/coordination.k8s.io/v1?timeout=32s
E0222 22:36:12.158084       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:36:15.208906       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:36:22.056959       1 request.go:665] Waited for 1.447452524s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/policy/v1beta1?timeout=32s
E0222 22:36:22.159369       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:36:25.208501       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachine\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachine"}
I0222 22:36:32.105701       1 request.go:665] Waited for 1.49679813s due to client-side throttling, not priority and fairness, request: GET:https://10.96.0.1:443/apis/authentication.k8s.io/v1beta1?timeout=32s
E0222 22:36:32.158523       1 logr.go:265] controller-runtime/source "msg"="if kind is a CRD, it should be installed before calling Start" "error"="no matches for kind \"VirtualMachineInstance\" in version \"kubevirt.io/v1\""  "kind"={"Group":"kubevirt.io","Kind":"VirtualMachineInstance"}
E0222 22:36:33.756698       1 controller.go:203] controller/kubevirtmachine "msg"="Could not wait for Cache to sync" "error"="failed to wait for kubevirtmachine caches to sync: timed out waiting for cache to be synced" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtMachine"
I0222 22:36:33.756772       1 logr.go:249]  "msg"="Stopping and waiting for non leader election runnables"
I0222 22:36:33.756789       1 logr.go:249]  "msg"="Stopping and waiting for leader election runnables"
I0222 22:36:33.756815       1 controller.go:240] controller/kubevirtcluster "msg"="Shutdown signal received, waiting for all workers to finish" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster"
I0222 22:36:33.756849       1 controller.go:242] controller/kubevirtcluster "msg"="All workers finished" "reconciler group"="infrastructure.cluster.x-k8s.io" "reconciler kind"="KubevirtCluster"
I0222 22:36:33.756862       1 logr.go:249]  "msg"="Stopping and waiting for caches"
I0222 22:36:33.756940       1 logr.go:249]  "msg"="Stopping and waiting for webhooks"
I0222 22:36:33.756982       1 logr.go:249] controller-runtime/webhook "msg"="shutting down webhook server"
I0222 22:36:33.758960       1 logr.go:249]  "msg"="Wait completed, proceeding to shutdown the manager"
E0222 22:36:33.759092       1 logr.go:265] setup "msg"="problem running manager" "error"="failed to wait for kubevirtmachine caches to sync: timed out waiting for cache to be synced"

Investigate a possibility of eliminating this dependency on KubeVirt in the management cluster. This is relevant for the case when management and infra clusters are decoupled. Then, arguably we should impose KubeVirt deployment requirement only on infra cluster.

Will there be any checks for the external infrastructure cluster and make sure the KubeVirt is installed?

One note, we currently have an informer watching VMIs in the kubevirt machine controller. We'd want to shift that informer to being some sort of dynamic informer that watches the external cluster's vmis

/remove-lifecycle stale

Will there be any checks for the external infrastructure cluster and make sure the KubeVirt is installed?

The VM corresponding to a KubeVirtMachine would fail to create if this occurred.

CAPK provider will fail to initialize if the management cluster does not have KubeVirt CRDs deployed.

I think this is due to the VM and VMI watches. It should be possible to make cli option for capk that causes the VM and VMI watches to not be registered.

authors: agradouski cchengleo davidvossel


text:
Image support

Hi, does this provider supports other images than the ubuntu container image? like CentOS qcow2 images ? does it support KubeVirt CDI?

Hi, does this provider supports other images than the ubuntu container image? like CentOS qcow2 images ?

We're currently only building community images for ubuntu, but we certainly aren't limited to ubuntu. The image creation project for building capk images is found here, https://github.com/kubernetes-sigs/image-builder
Image-build supports a few different variants, such as rocky linux, rhel, centos, and ubuntu. You can roll out your own images for capk by running something like make build-kubevirt-qemu-ubuntu-2004 within the images/capi directory of the image-builder repo.

does it support KubeVirt CDI?

also, yes. we do support cdi with capk for persistent VMs.

authors: davidvossel galbeniluz


text:
[e2e] no test timeouts, produce the same image tag as in production

1、Avoid e2e test timeout, after migrating all e2e tests to containers, the execution time may increase, and e2e tests might time out；
2、Modify IMAGE_TAG to fix the version parsing issue;

@ingvagabund Hi, master, this is the first of the splited PRs. I will submit the remaining PRs sequentially. Need your approval.

Thank you for opening the PR.

Modify IMAGE_TAG to fix the version parsing issue

Would you please more elaborate on the parsing issue? E.g. providing an example and an error that is produced.

Thank you for opening the PR.

Modify IMAGE_TAG to fix the version parsing issue

Would you please more elaborate on the parsing issue? E.g. providing an example and an error that is produced.

1、make test-e2e, VERSION="${IMAGE_TAG}"=v0.30.0-127-g0f1890e5c,

2、The VERSION is eventually passed into version.go.

3、splitVersion return's minorVersion will be ""
https://github.com/kubernetes-sigs/descheduler/blob/master/pkg/version/version.go#L72
4、This will cause validateVersionCompatibility to return an error.
https://github.com/kubernetes-sigs/descheduler/blob/master/pkg/descheduler/descheduler.go#L299
We should ensure that the methods for obtaining the version in the e2e tests and in the Makefile are consistent.

/ok-to-test

/approve
/lgtm

authors: fanhaouu ingvagabund

repo: kubernetes-sigs/descheduler


text:
Remove kind binary from repo

🙈 Happened again. This time I'm adding it to .gitignore so it won't happen again.

/assign @seanmalloy

/ok-to-test
/kind cleanup
/lgtm

/assign @damemi @ingvagabund
This is a pretty simple one.

/approve

authors: a7i ingvagabund seanmalloy


text:
Conformance reports unavailable on the website for v1.1 and v1.2

What would you like to be added:

https://gateway-api.sigs.k8s.io/implementations/v1.1/ does not show any conformance reports although the data exists https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports/v1.1.0 . The link for v1.0 works fine

v1.2 was recently released, so a section for this release should also be available on the website. Cilium has already uploaded a conformance report https://github.com/kubernetes-sigs/gateway-api/tree/main/conformance/reports/v1.2.0

Why this is needed:

ooh ill take a look @arkodg !

authors: arkodg xtineskim

repo: kubernetes-sigs/gateway-api


text:
Allow propagation of resources per root namespace

 Issue by hferentschik
Tuesday Mar 16, 2021 at 09:25 GMT
Originally opened as https://github.com/kubernetes-sigs/multi-tenancy/issues/1435

Currently, you can only globally (via the HNCConfiguration) configure the resources to be propagated, eg Secrets. However, propagation might differ between different root namespaces.
IMO it would be nice to be able to configure propagation rules per hierarchy.
For example, we are implementing an application that uses HNC to create and delete dynamically sub-namespaces. For the root namespace of our application and its children we want to propagate Secrets, but not for any other namespace.
ATM, we are installing HNC as part of our Helm chart, but we also have a flag where the HNC install is skipped in the case HNC is already installed on the cluster. In the latter case, our applications need to propagate Secrets might be in conflict with already existing usage of HNC.
Hope this makes sense. I have no idea whether there might be a technical limitation which propagation rules could not be configured per hierarchy.

 Comment by adrianludwin
Tuesday Mar 16, 2021 at 14:35 GMT

There's no technical barrier to doing this, but it's a pretty complicated design problem. For example, assume we add an "allow-propagate" mode as suggested in #1436. Does a "force-propagate" in a parent override an "allow-propagate" in a child, or vice versa? What's the API for controlling all this? I'm sure we can answer all these (after all, filesystems have done this kind of thing for years) but it will take nontrivial effort. The testing will also be quite complicated.
If you'd like to have a go at writing a design doc stating the precise API and semantics of this feature, I'd be happy to have a look, and then review any resulting PRs. However, before I ask the core team to work on this, I'd need to see more evidence of a strong demand. I hope this makes sense!

/remove-lifecycle stale

Hi @hferentschik , I don't think anyone's going to work on this unless there's a design doc that answers the questions I raised earlier on. If you'd like to write such a doc I'd be happy to look at it!

/remove-lifecycle stale

authors: adrianludwin hferentschik yiqigao217

repo: kubernetes-sigs/hierarchical-namespaces


text:
Add changelog for release v0.2.0

What type of PR is this?

/kind documentation
What this PR does / why we need it:
This adds the changelog for v0.2.0. Consensus on this PR means approval for v0.2.0 release
Which issue(s) this PR fixes:

Fixes #118
Does this PR introduce a user-facing change?:

None

/cc @levikobi @mlavacca

/hold

/unhold


text:
feat: add terminalState to jobset status

Fix: https://github.com/kubernetes-sigs/jobset/issues/545

root@VM-0-9-ubuntu:~/jobset# kubectl get jobset
NAME           STATUS    RESTARTS   COMPLETED   SUSPENDED   AGE
paralleljobs   Running                                      3s

        // JobSetRunning means the job is running.
	JobSetRunning JobSetConditionType = "Running"
	// JobSetCompleted means the job has completed its execution.
	JobSetCompleted JobSetConditionType = "Completed"
	// JobSetFailed means the job has failed its execution.
	JobSetFailed JobSetConditionType = "Failed"
	// JobSetSuspended means the job is suspended.
	JobSetSuspended JobSetConditionType = "Suspended"

The phase is converted according to these four fields. The default is Running

/assign @danielvegamyhre
Please also help review, thank you!

Thanks for doing this @googs1025. I will test this out..

... TerminalState: success|failed, if more details are needed, then one needs to look that up in the conditions.

This would work perfectly..

I was able to do the following testing on this PR:

Built a docker image with the code in this PR and pushed it a local docker registry
Installed the new CRD and the new controller. The controller came up fine
Create various types of jobsets that would succeed/fail. Verified that the status.phase field in the jobset object was set correctly to Completed or Failed
Also liked the Phase field being in the output of kubectl get jobset

I was able to do the following testing on this PR:

Built a docker image with the code in this PR and pushed it a local docker registry
Installed the new CRD and the new controller. The controller came up fine
Create various types of jobsets that would succeed/fail. Verified that the status.phase field in the jobset object was set correctly to Completed or Failed
Also liked the Phase field being in the output of kubectl get jobset

This is great! Thanks for testing this.

I was able to do the following testing on this PR:

Built a docker image with the code in this PR and pushed it a local docker registry
Installed the new CRD and the new controller. The controller came up fine
Create various types of jobsets that would succeed/fail. Verified that the status.phase field in the jobset object was set correctly to Completed or Failed
Also liked the Phase field being in the output of kubectl get jobset
Thanks for your test

Later, it will be changed to the TerminalState field and will only have complated and failed, and the others will be empty by default.
I will revise this PR in the next few days. Thank all of you for suggestions.

I changed the field to terminalState. When the jobset reaches the final state, it will be set to Completed or Failed.
root@VM-0-16-ubuntu:/home/ubuntu# kubectl get jobset
NAME             TERMINALSTATE   RESTARTS   COMPLETED   SUSPENDED   AGE
max-restarts     Failed          3                                  89m
paralleljobs     Completed                  True                    89m
success-policy   Completed                  True                    89m

@ahg-g @danielvegamyhre /PTAL

Could this be merged and new release be cut with this feature?

Could this be merged and new release be cut with this feature?

Yep, will do final review shortly

/lgtm
/approve
/label tide/merge-method-squash
This is great, thank you for your patience during the review process!

Thank you or moving this forward!

authors: ahg-g danielvegamyhre googs1025 shrinandj tenzen-y

repo: kubernetes-sigs/jobset