Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Update to kubernetes 1.12.4 #1882

Merged
merged 5 commits into from Jan 23, 2019
Merged

Conversation

gonzolino
Copy link
Contributor

What this PR does / why we need it:
This PR updates dependencies from k8s 1.11.2 to 1.12.4. Additionally code and resources were regenerated with make generate.

Special notes for your reviewer:
Please have a look at the changes in pkg/virt-controller. Changes in the new client-go version made it necessary to replace the 'stop' channel with a context.

Release note:

NONE

@ovirt-infra
Copy link

Hello contributor, thanks for submitting a PR for this project!

I am the bot who triggers "standard-CI" builds for this project.
As a security measure, I will not run automated tests on PRs that are not from white-listed contributors.

In order to allow automated tests to run, please ask one of the project maintainers to review the code and then do one of the following:

  1. Type ci test please on this PR to trigger automated tests for it.
  2. Type ci add to whitelist on this PR to trigger automated tests for it and also add you to the contributor white-list so that your future PRs will be tested automatically.
  3. If you are planning to contribute to more than one project, maybe it's better to ask them to add you to the project organization, so you'll be able to run tests for all the organization's projects.

@kubevirt-bot kubevirt-bot added release-note-none Denotes a PR that doesn't merit a release note. size/XXL labels Jan 2, 2019
@cynepco3hahue
Copy link

@gonzolino Hi can you please check why Travis unhappy?
Probably you need to run make and commit changes to generated files.

 M pkg/api/v1/deepcopy_generated.go
 M pkg/api/v1/openapi_generated.go
 M pkg/api/v1/zz_generated.defaults.go
 M pkg/virt-launcher/virtwrap/api/deepcopy_generated.go
 M pkg/virt-launcher/virtwrap/api/zz_generated.defaults.go
The command "if [[ -n "$(git status --porcelain)" ]] ; then echo "It seems like you need to run `make`. Please run it and commit the changes"; git status --porcelain; false; fi" exited with 1.

@kubevirt-bot kubevirt-bot added the kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API label Jan 2, 2019
@gonzolino
Copy link
Contributor Author

@cynepco3hahue thanks for the hint! I should have re-run make generate after doing a rebase this morning 😛
Lets see if the next run works...

@cynepco3hahue
Copy link

ci test please

1 similar comment
@fabiand
Copy link
Member

fabiand commented Jan 4, 2019

ci test please

@kubevirt-bot kubevirt-bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 6, 2019
@cynepco3hahue
Copy link

@gonzolino can you please rebase

Copy link
Member

@rmohr rmohr left a comment

Choose a reason for hiding this comment

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

Looks great. @mfranczy @slintes is there still something blocking us from dropping go 1.9 support? This will make go 1.10 a requirement.

@mfranczy
Copy link
Contributor

mfranczy commented Jan 7, 2019

@rmohr, no, the ds builds use the latest available golang version which is 1.10.3.

@mfranczy
Copy link
Contributor

mfranczy commented Jan 7, 2019

@rmohr although from the k8s changelog I see they upgraded to version 1.10.4,

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.12.md#external-dependencies

kubernetes/kubernetes#68802

@rmohr
Copy link
Member

rmohr commented Jan 7, 2019

@mfranczy could you give it a try and report back?

@mfranczy
Copy link
Contributor

mfranczy commented Jan 7, 2019

@rmohr sure.

@kubevirt-bot kubevirt-bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 7, 2019
@cynepco3hahue
Copy link

@gonzolino why does it downgrade ginkgo O_O? Do you run make commands to update dependencies?
make deps-update

@gonzolino
Copy link
Contributor Author

@cynepco3hahue Turns out I'm just not smart enough to use glide correctly 😛 I was indeed using glide update directly. Using make deps-update worked like a charm. I guess the problem was the missing --strip-vendor.

I will update the PR in a moment.

@cynepco3hahue
Copy link

ci test please

@cynepco3hahue
Copy link

ci test please

1 similar comment
@cynepco3hahue
Copy link

ci test please

@@ -116,7 +116,8 @@ func Convert_v1_Disk_To_api_Disk(diskDevice *v1.Disk, disk *Disk, devicePerBus m
func checkDirectIOFlag(path string) bool {
// check if fs where disk.img file is located or block device
// support direct i/o
f, err := os.OpenFile(path, syscall.O_RDONLY|syscall.O_DIRECT, 0)
f, err := os.OpenFile(path, syscall.O_RDONLY, 0)
//f, err := os.OpenFile(path, syscall.O_RDONLY|syscall.O_DIRECT, 0)

Choose a reason for hiding this comment

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

Why do you change it?
I also think some CI failures can be related to this change

Configurations with driver cache settings [It] should set appropriate cache modes

Copy link
Contributor

Choose a reason for hiding this comment

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

@cynepco3hahue good catch, the O_DIRECT flag must be here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh thank you! What a stupid mistake on my side.
It seems like there is no syscall.O_DIRECT on macOS. I therefore removed the line to prevent an error on my laptop and then I forgot to put it back.

Copy link
Member

Choose a reason for hiding this comment

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

So at least this needs to be fixed.

@mfranczy
Copy link
Contributor

mfranczy commented Jan 9, 2019

@rmohr I was able to compile KubeVirt with golang 1.10.3 (locally and ds scratch build), functional tests passed as well (locally). From the compiler version perspective we are not blocked. When it's possible I will switch to golang 1.11.2 (I will create a PR for upstream as well).

Copy link
Member

@rmohr rmohr left a comment

Choose a reason for hiding this comment

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

The O_DIRECT issue needs to be fixed.

@mfranczy
Copy link
Contributor

mfranczy commented Jan 9, 2019

ci test please

@kubevirt-bot kubevirt-bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 13, 2019
@slintes
Copy link
Contributor

slintes commented Jan 14, 2019

ci test please

Copy link
Contributor

@slintes slintes left a comment

Choose a reason for hiding this comment

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

One small change please. Other than that LGTM 👍

@@ -14,6 +14,7 @@ spec:
pvc:
accessModes:
- ReadWriteOnce
dataSource: null
Copy link
Contributor

Choose a reason for hiding this comment

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

I understand this new field is not required, right? If so, I would like to get rid of these null fields in the example manifests. Can you please remove it? See https://github.com/kubevirt/kubevirt/blob/master/tools/util/marshaller.go#L46

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The three null fields should now be gone. I hope to code to remove them is ok!

gonzolino added a commit to gonzolino/kubevirt that referenced this pull request Jan 14, 2019
Remove required attribute from openAPI and remove empty dataSource
fields in marshaller

See kubevirt#1882 (comment) for
more details.
@gonzolino
Copy link
Contributor Author

@rmohr @slintes Could you have another look?

Copy link
Contributor

@slintes slintes left a comment

Choose a reason for hiding this comment

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

lgtm, thanks! Will trigger a final CI run

for _, tmpl := range templates {
template := tmpl.(map[string]interface{})
_, exists, err = unstructured.NestedString(template, "spec", "pvc", "dataSource")
if !exists {
Copy link
Contributor

Choose a reason for hiding this comment

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

nice that you check if it's empty, makes it future proof 👍

@slintes
Copy link
Contributor

slintes commented Jan 15, 2019

ci test please

Copy link
Contributor

@slintes slintes left a comment

Choose a reason for hiding this comment

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

test failures look unrelated
lgtm now, but I'd like to have a final review of @davidvossel

Copy link
Member

@davidvossel davidvossel left a comment

Choose a reason for hiding this comment

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

Looks good overall. I just noticed a few minor things.

pkg/virt-controller/watch/application.go Outdated Show resolved Hide resolved
tools/util/marshaller.go Show resolved Hide resolved
gonzolino added a commit to gonzolino/kubevirt that referenced this pull request Jan 16, 2019
Remove required attribute from openAPI and remove empty dataSource
fields in marshaller

See kubevirt#1882 (comment) for
more details.
Copy link
Member

@davidvossel davidvossel left a comment

Choose a reason for hiding this comment

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

👍

@davidvossel
Copy link
Member

ci test please

@davidvossel
Copy link
Member

This patch is good to go. #1952 Is about to collide with these vendoring changes though. That CDI change is unfortunately pretty high priority, so we should let that in before merging this PR.

I'm suspecting there will be merge conflicts then. I'll try and help out next week to resolve the conflicts and merge this pr.

gonzolino and others added 5 commits January 21, 2019 12:03
@davidvossel
Copy link
Member

i fixed the merge conflicts. we're just waiting for CI to pass again.

@davidvossel
Copy link
Member

ci test please

@davidvossel
Copy link
Member

ct test please

@cynepco3hahue
Copy link

ci test please

3 similar comments
@cynepco3hahue
Copy link

ci test please

@cynepco3hahue
Copy link

ci test please

@davidvossel
Copy link
Member

ci test please

@cynepco3hahue
Copy link

I think this PR is ready to go 👍

@cynepco3hahue cynepco3hahue merged commit 2f1714d into kubevirt:master Jan 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API release-note-none Denotes a PR that doesn't merit a release note. size/XXL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants