Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

backports: 1.6.3 #1612

Closed

Conversation

ganeshmaharaj
Copy link
Contributor

Backporting the below patches for 1.6.3 release.

#1409
#1439
#1528
#1541
#1547
#1554
#1599
#1530

katacontainers bot and others added 30 commits March 20, 2019 17:06
Version bump no changes

Signed-off-by: katacontainers bot <katacontainersbot@katacontainers.io>
Now, function NewFactory will return nil even create template
does't complete. As for this, it will tell user that factory
has been initialized no matter whether the template is created
or not. This patch correct it by adding another return value
of error in NewFactory.

Testing initFactoryCommand when enable template will need root
privilege to mount tmpfs. So skip it for no-root user.

Testing initFactoryCommand func will create template, but no
proxy type assigned to VMconfig which will using katabuiltinProxy
instead. this will lead to failure for this type of proxy will
check proxyparams which contains many null value. This commit
fix it by substitute katabuiltinProxy as noopProxy when for test
purpose.

Fixes: kata-containers#1333
Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
Fixes: kata-containers#1422

Detect failing test case:

```
....
=== RUN   TestEnterContainerFailingContNotStarted
--- PASS: TestEnterContainerFailingContNotStarted (0.01s)
=== RUN   TestEnterContainer
--- FAIL: TestEnterContainer (0.00s)
 Error Trace: sandbox_test.go:1154
 Error:      	Expected value not to be nil.
 Messages:   	Entering non-running container should fail
 Error Trace: sandbox_test.go:1157
 Error:      	Expected nil, but got: &errors.errorString{s:"Can not
move from running to running"}
 Messages:   	Failed to start sandbox: Can not move from running to
running
FAIL
```

`TestEnterContainerFailingContNotStarted` calls `cleanUp` at function
begging but it doesn't clean its garbage after it ends.
`TestEnterContainer` only call `cleanUp` in the end but it doesn't do
cleanUp in the begging, that gives first test case a chance to impact
latter one.

This commit modifies all the test cases, let them all do the cleanUp()
in the end.

The policy here is: "everyone needs to take their garbage away when they
leave" :)

Signed-off-by: Wei Zhang <zhangwei555@huawei.com>
do cleanup inside startVM() if start vm get error

Fixes: kata-containers#1426

Signed-off-by: Ace-Tang <aceapril@126.com>
update architecture.md link, since it has moved to within the
design/ directory.

Fixes: kata-containers#1462

Signed-off-by: Gabi Beyer <Gabrielle.n.beyer@intel.com>
Version bump no changes

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
Like shim, we should validate the proxy path if it is provided.

Fixes: kata-containers#1424

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
gometalinter is deprecated and will be archived April '19. The
suggestion is to switch to golangci-lint which is apparently 5x faster
than gometalinter.

Partially Fixes: kata-containers#1377

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
(cherry picked from commit f442876)
After we switched golang linter to golangci-lint, we has extra 'deadcode'
linter check, and we need to remove this linter check for all
generic items.

Fixes: kata-containers#1432

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
(cherry picked from commit 2e5194e)
Use TRAVIS branch to checkout test repository

Fixes: kata-containers#1481

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
The agent expects a IP CIDR for the route destination
rather than an IP address. netmon was incorrectly
converting route dest to an IP address and hence
exiting with an error.

We did not have an integration test for netmon with tcfilter mode.
macvtap mode did not uncover this, as with macvtap routes are
not really passed to the agent.
We delete the IP on the veth device, and netmon looks at the
routes after the IP is deleted with macvtap.

Fixes kata-containers#1523

Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
stable 1.6 backport: netmon: Fix bug in how routes are converted
…c-default

network: Make tcfilter model as default
(cherry picked from commit edc77a0)

Fixes: kata-containers#1501

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
config: fix panic in type assertion
(cherry picked from commit 303f126)

Fixes: kata-containers#1440

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
…fixtop

virtcontainers: prepend a kata specific string to host cgroups path
(cherry picked from commit d99693a)

Fixes: kata-containers#1488

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
Fixes: kata-containers#1545

Depends-on:github.com/kata-containers/tests#1479

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
cli: fix kata-check test
(cherry picked from commit da08b3a)

Fixes: kata-containers#1508

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
shimv2: fix the issue of stop container failed
(cherry picked from commit c08976e)

Fixes:kata-containers#1493

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
- stable 1.6 backport: netmon: Fix bug in how routes are converted

506c2bd netmon: Fix bug in how routes are converted

Signed-off-by: katacontainers bot <katacontainersbot@katacontainers.io>
Need to figure out why CI didn't catch and address
package build failure.  In the meantime, unblock 1.6.2.

Fixes: kata-containers#1571

Signed-off-by: Eric Ernst <eric.ernst@intel.com>
revert kernel bump for 1.6.2 release
Make VMCache and VM templating can work together.

Fixes: kata-containers#1376

Signed-off-by: Hui Zhu <teawater@hyper.sh>
(cherry picked from commit 343a0d3)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
The "ephemeral" is just used to indicate ephemeral volumes in
runtime. We should not pass it to agent. Instead, "bind" should be
the correct mount type to be passed.

Fixes: kata-containers#1438

Signed-off-by: Xie Yongji <xieyongji@baidu.com>
(cherry picked from commit 2d422a8)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
So that shimv2 can convert it into grpc errors.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
(cherry picked from commit cf90751)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
bergwolf and others added 12 commits April 30, 2019 11:37
containerd checks for the grpc error code to determine
correct recover action upon grpc errors. We need to provide
them properly.

Unfortunately ttrpc doesn't support grpc interceptor so we have
to modify every service function for it.

Fixes: kata-containers#1527

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
(cherry picked from commit 8215a3c)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
So that caller can determine that it is ENOENT-alike error.

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
(cherry picked from commit f512542)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
GENERATED_FILES already includes COLLECT_SCRIPT, so there's no need to
specify it again:

  GENERATED_FILES += $(COLLECT_SCRIPT)
  ...
  clean:
    $(QUIET_CLEAN)rm -f ... $(GENERATED_FILES) $(COLLECT_SCRIPT)

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit b20fd9d)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
The netmon target must be rebuilt when the VERSION file changes since it
uses the value of VERSION on the build command-line.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit bbf9253)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
Depending on Makefile is not enough to detect all changes.  We must
rebuild when included makefiles change, too.

The MAKEFILE_LIST special variable contains the filenames of all
included makefiles and Makefile itself.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 1eb5d6c)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
When a parallel build is invoked using "make -j4" there is a race
between EXTRA_DEPS ('clean') and generating files:

  CPU1                             CPU2
  ----                             ----
  create cli/generated-config.go
                                   rm cli/generated-config.go
  go build -> error: generated-config.go doesn't exist!

Previous commits ensured that targets relying on version information
like VERSION and COMMIT declare appropriate dependencies.  Therefore
make is now able to detect changes and rebuild targets as needed.  It is
no longer necessary to abuse the clean target to force a rebuild.

Fixes: kata-containers#1540
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 53ebe51)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
Makefile had a template for cli/config-generated.go embedded inside it.
There is already a templating mechanism for .in files.  Using a .in file
is cleaner since it avoids make's awkward interaction with shell
escaping and line splitting.

This patch moves the template into cli/config-generated.go.in and reuses
the existing .in file templating mechanism.  Only the PKGRUNDIR variable
needs to be added.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 0f7bb25)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
Makefile uses $(shell) to build a git commit string.  Unfortunately this
means make targets cannot be rebuilt when COMMIT changes value.  We need
to reflect this string value into files on which make can process
dependencies.

I stole a solution from QEMU's Makefile:
1. Print the string into .git-commit.tmp
2. If .git-commit.tmp differs from .git-commit, copy it to .git-commit
3. Depend on .git-commit from all targets that need $COMMIT

This way targets are only rebuilt if the commit string value actually
changes.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 7949cd6)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
Add check if vm template is on before vm template initialize.

Fixes: kata-containers#1514

Signed-off-by: Hui Zhu <teawater@hyper.sh>
(cherry picked from commit 76a5076)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
Fix gofmt complain for virtcontainers/qemu_s390x.go

Fixes: kata-containers#1553

Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
(cherry picked from commit a013f9b)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
kata-runtime list command should list all valid container, not fail
when some containers information uncorrent, like rootfs not found.

Fixes: kata-containers#1592

Signed-off-by: Ace-Tang <aceapril@126.com>
(cherry picked from commit b7f51be)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
Don't set a default CPU constraint if period and quota are not specified, that
way the container will inherit the CPU constraint from its parent. Container
creation won't fail if the parent CPU constraint is smaller than the default
number of vCPUs.

fixes kata-containers#1521

Signed-off-by: Julio Montes <julio.montes@intel.com>
(cherry picked from commit 59e3956)
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
@ganeshmaharaj ganeshmaharaj requested a review from a team as a code owner May 1, 2019 19:52
@ganeshmaharaj ganeshmaharaj deleted the bp-1.6.3-rel branch July 17, 2019 17:00
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.