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

xxxx #2

Open
wants to merge 577 commits into
base: master
Choose a base branch
from
Open

xxxx #2

wants to merge 577 commits into from

Conversation

jshachm
Copy link
Owner

@jshachm jshachm commented Nov 22, 2018

No description provided.

lifupan and others added 30 commits May 11, 2019 04:36
Since runtime needs to update gogo/protobuf to v1.2.1
to support latest shimv2, in order to keep align with
runtime, update it too.

Shortlog since last vendoring of github.com/gogo/protobuf:

    746e99c merged in golang/protobuf commit aa810b61a9c79d51363740d207bb46cf8e620ed5 - proto: fix handling of required fields after multiple violations
    4f863fb merged in golang/protobuf commit 89a0c16f4dc2a70c0ed864d8ef64878f24fdaa51 - README.md: remove usage of group in example
    2f3f4c2 merged in golang/protobuf commit 7d1b268556d691919f2262240737157830eab632 - jsonpb: avoid unexported fields in hand-crafted message (#526)
    f2db49f merged in golang/protobuf commit f5983d50c82d70eaa88c17080245cc871558081f - proto: make invalid UTF-8 errors non-fatal (#525)
    7aa71d7 merged in golang/protobuf commit 560bdb64431cc123098c2db67f16053a923a0688 - jsonpb: strictly document JSONPBMarshaler and JSONPBUnmarshaler behavior (#524)
    eee5829 merged in golang/protobuf commit 93b26e6a70e37abb14f2f88194949312b0592a84 - protoc-gen-go: refactor generator by splitting up generateMessage
    ad62c6c part of golang's 427e165 commit. Missed removing this file with their test refactor
    efb8d72 merged in golang/protobuf commit 427e165155e0a4ff5993a36657c1f733f5b0f782 - proto: fix and cleanup test for deterministic marshal with custom marshalers
    7143b48 merged in golang/protobuf commit 14aad3d5ea4c323bcd7a2137e735da24a76e814c - jsonpb: avoid copying string-valued map-keys
    48e2601 merged in golang/protobuf commit 1325a051a2753cd67556b182843b1b693d0854cd -  proto: fix quadratic behavior in nested map marshaling (no size caching for stdduration/stdtime)
    bc71a26 merged in golang/protobuf commit f05648d464991ab1aa8cf6a499122c56f0f50f2f - jsonpb: handle map key and value properties properly
    be27d1b merged in golang/protobuf commit 9eb2c01ac278a5d89ce4b2be68fe4500955d8179 - jsonpb: decode int32/uint32/float32/float64 strings
    b43a52d merged in golang/protobuf commit 05f48f4eaf0e05663b562bab533cdd472238ce29 - proto: revert UTF-8 validation for proto2
    808c1f7 merged in golang/protobuf commit 64db29d85ff91ba669cfaf009d5f400a4da8a55f - jsonpb: error on scalar enum provided for repeated enums instead of panic
    07eab6a use only one write in the varint writer when possible (#504)
    dd51cd8 fix typo independant to independent (#512)
    211a54c Add godocs link to Readme.md (#506)
    e87afe3 Fix text unmarshal for (u)int(8/16) fields (#498)
    e5d5b02 Codegen for well-known types (#489)
    6f222ca reorder some of the protoc paths in order to prefer our protobuf/google/protobuf/*.proto files. This is just to avoid using the wrong protos if you have the same protos in you gopath/src dir. (#502)
    fd322a3 fix error: bad Go source code was generated, illegal hexadecimal number (#488)
    61dbc13 Jsonpb custom type - #411 (#491)
    e14cafb Customtype  Warnings and issues  update (#479)
    7c690ae Exact slice allocation for repeated packed varints (#480)
    4aa4cc2 Adding missing func to CustomType documentation (#483)
    5669497 bumped the go version (#475)
    64d6d2f added nil check in Proto/Size methods fix #444 (#451)
    3e657e5 fix for letmegrpc (#474)
    3cefc55 options to not generate xxx fields (#467)
    4c0a09c updated to go1.11 and removed go1.9 (#473)
    2b9e95f merged in golang/protobuf commit 70c277a8a150a8e069492e6600926300405c2884 - Fix unmarshaling JSON object with escaped string into Struct type. (#464)
    2f2ea5  Added ProtoSize wrapper functions for the well known types  #438 (#443)
    5440baf exact slice allocation for fixed size packed fields (#437)
    6eaa97b Added gRPC Course on Udemy (#434)
    a4c2ffc Update Readme.md
    646de4d Fix typo (#441)
    636bf03 fix #427 consistent import naming between the import declaration and the vars in grpc
    7d68e88 fix build by regenerating everything
    fae8c2d fix git diff for travis
    2c42fe8 merged 7c4add53b497798e7fd7b204f28e41ab409bdbb7 from golang/protobuf. protoc-gen-go: remove deprecated function in grpc (#426)
    ebc0565 merged 3fac2a27c94f99f4379551928df388fcb0ad37ce from golang/protobuf. ptypes: optimize Is to avoid prefix scan (#425)
    37f19cd Handle deterministic marshaling for generated marshalers in XXX_Marshal
    67fcf76 Swap type assert and fix it (#418)
    30cf7ac gofmt
    6b99319 travis: opt into apt get
    110e410 text: allow customtype to have a Bytes() method (#227)
    99cb001 dev: amortize cost of growing a Buffer - merge fae8ec697c5d103f717d7fec21103cb5ec020bc8 from golang/protobuf
    1a0e3bd dev: proto: remove unused writeRaw function - merge d167f5cf056d2db6c0f53f44a3309ac60b99ab5b from golang/protobuf
    99bb9bf dev: Revert "protoc-gen-go: use standard library context (requires Go1.9) - merge bf2da8229df5077275b46b301818c6219ebe1003 from golang/protobuf
    9c8b44c dev: Implement "import public" using type aliases. - merge 6fb5325cf9e4b38b58cef6cd1f60c773cc2d5ad2 from golang/protobuf
    6487871 Expose vanity TurnOnGoRegistration (#402)
    b8814cc dev: protoc-gen-go: fix generation of proxy getters for distant types - merge 9bb87600c289706cc58f76b46a91b05ddd2a44d8 from golang/protobuf
    9ddc509 dev: protoc-gen-go: fix up generation of package names - merge 3b4abe1a0672c5916c1937b8817dde8aeb579fe5 from golang/protobuf
    cbb7298 dev: protoc-gen-go: revert some API changes - merge 06c268a946d24fdcb0b59370c36ab876ece17556 from golang/protobuf
    8a67e47 dev: proto: do not allow unknown fields to satisfy required field bit - merge 91cccdb44a5fc8dfdf368e8b4d517a21de94dce9 from golang/protobuf
    265a302 dev: protoc-gen-go: Dont rely on local package name for mset name hack - merge 9c8fb7a95075eb047ab75e702de52f68ff360f17 from golang/protobuf
    00f8f1f dev: proto: ignore unknown fields in map entries - merge b028a76c61b7288aefe6746ab7b561d7eb15ab71 from golang/protobuf
    90d0c2a dev: conformance: remove useless variable declaration - merge conformance: remove useless variable declaration from golang/protobuf
    60491a7 dev: conformance: clean up, fix conformance tests - merge ab964bf603354327027b1974c2d1a199ce839899 from golang/protobuf
    9f8212a dev: protoc-gen-go: fix generation of public imports -merge 80c8f764516eebbf17174ea9fd61601d6a52f0f6 from golang/protobuf
    3860157 dev: Reduce a bunch of generated code in oneof sizers. - merge d0dc0def2e8a155b703a9b4966ca8f803ce06308 from golang/protobuf
    e41f35d protoc-gen-go: dont generate blank // import comment - merge b244a785444d0c500df2e0c6b968c05531365a00 from golang/protobuf
    6764c01 dev: golden_test: normalize path separators for Windows - merge 12a586e0adaf626e5d2f8da7881f321f076dbe2c from golang/protobuf
    e844e5c dev: protoc-gen-go: use standard library context (requires Go1.9) - merge 3dc8a89f965ba7bf716fd0d92b83c5da1792ab9c from golang/protobuf
    dfaf7a7 dev: protobuf: Delete makefiles, regenerate protos consistently - didnt merge everything, left Makefiles, but made the other small changes - merge 251359bf9d6712b0aefe759977c168b79d1f3a27 from golang/protobuf
    828b125 dev: protoc-gen-go: fix test - merge 2b3479d8d7175442fbfd46f4ba5c14d971aeb521 from golang/protobuf
    f5a1220 dev: protoc-gen-go: add paths=source_relative option - merge 6fb8a6f1c1f011b7fde2b40f72f46587180d8d25 from golang/protobuf
    214eb97 dev: fix golden tests for older protoc versions
    aa7e6f4 dev: protoc-gen-go: handle package import names per-file - merge 9d4962b4dc40a899c435fe1aaec48e683b4300ef from golang/protobuf
    08f8895 dev: protoc-gen-go: add test for various generation params - merge a1987161d42e479a8a593d7f66ff1be81574b1e0 from golang/protobuf
    d178c98 dev: protoc-gen-go: dont depend on input file ordering - merge f4733c73b342d1d1a07fda684e831f77f840a688 from golang/protobuf
    253b333 dev: protoc-gen-go: add more golden tests for imports - merge 15c34729da28f0a8c71325b8ee35ef19362290e6 from golang/protobuf
    100bcd0 dev: Rename generated Marshal and Unmarshal protobuf method - merge 60f8421f4063f411270d0527ca77697eb9f29f1e from golang/protobuf
    26c4e69 dev: protoc-gen-go: remove relative import in main_test.go - merge protoc-gen-go: remove relative import in main_test.go from golang/protobuf
    5f4a927 dev: protoc-gen-go: include canonical import comment - merge 1021ee9d478ac35478bd39859883102741f9c4c1 from golang/protobuf
    9c3ad97 dev: proto: avoid pointer arithmetic with invalidField - merge 649500c21ecd283d00f78859ac2f386df8ed2c96 from golang/protobuf
    e23e1bc dev: no more generated package doc - merge efae459c9350a60c1f8f503f34e3cb67f803a617 from golang/protobuf
    8b846a8 dev: Merge pull request #520 from neild/dev.alias + Fix top-level Makefile to descend into protoc-gen-go. - merge 04869ad56b1a4eb4179ceadb8a1b787a9ce4b0a3, 8cbe6f4e7d1aa3a63d2ae35cf9e9eaa1aa4c6876, 025a21d09bcd80bade5d4d6c1fb7026dcf1056dd, f7e61e16d550efe3e664c64e8ef42b624b408643, 055d7b0dba6f8ba91c7e12e4f9cc891ba607f4e7, b322e49f0e384b8e162e1f55cdeedfbba461269c + 2c2f6de12273f767388d4f3aebf6306ae3a9c7cb from golang/protobuf
    2c90c88 upstream: add back proto.Sizer
    754b8fa dev: proto: treat bad wire types as unknown fields - merge e6af52bec88380a7a18ecc0977fa4312370a970b from golang/protobuf
    0091a58 dev: jsonpb: skip unexported or non-protobuf fields - merge 42d4f477264bec37ad9b729039d071eaedd32d9b from golang/protobuf
    504621d dev: protoc-gen-go: indicate deprecated fields in documentation - merge da3e23721ffb60cccccdef6dfaef948bce1ad9d7 from golang/protobuf
    5db6fbe dev: proto: support purego build tag - merge 9a84eb8532beb2edb9dfbd6a2d823e696b57b450 from golang/protobuf
    e1d2528 dev: proto: robustify tests that compare error messages - merge 57af8637f022e8bf7f313f6156d9873b7f5ebaba from golang/protobuf
    6026053 dev: proto: remove Proto3UnknownFields flag - merge b409cc5837a65fa96edf2a5e4f1ec2ccf0cc31a8 from golang/protobuf
    81f6217 dev: proto: reject invalid UTF-8 in strings - merge 35253352f94915c119f607b2cac4ef87bd3b085b from golang/protobuf
    4192d1c dev: proto: add logic to handle legacy message - merge 10c2d9d3cccc103717e4e5dc6c503fefc8a33dea from golang/protobuf
    9806df0 dev: jsonpb: change Marshal to trim timestamp/duration to 0 fractional digits if possible - merge f9bf3fbed3136fa83399f35204bf39644e205a30 from golang/protobuf
    a30fc23 dev: jsonpb: fix handling of illegal and negative nanoseconds - merge ac606b176499a528828d10c85583a7c3107939f6 from golang/protobuf
    b34bdd4 dev: proto: expose accessors for raw value of extensions - merge 5f34c20e59ed64239722b4215413f1ffd1efa9de from golang/protobuf
    54b14bf dev: Remove raw interface - merge 7d76aa1a8129e37aae7c421a64e04a4ced5ef1ac from golang/protobuf
    5f21c7a dev: Use fmt.Errorf instead of errors.New - merge 572071ce41835e834277d132bd34f72baa4754cc from golang/protobuf
    5028789 dev: jsonpb: change Marshal/Unmarshal to return error if any required field is not set - merge 2bc5431dca4a5134e05a24d7b874cd189e934a38 from golang/protobuf
    b56d376 dev: Cleanup comments and whitespace - merge 575152efd80e5accf3969091e05f9ec30b35a2f2 from golang/protobuf
    761ef94 dev: jsonpb: check for nil in Marshal and return error to avoid panic. - merge 49f2ba7d08e875af9b5f3bd5d2f29d5fb1ca86b1 from golang/protobuf
    88bd217 dev: Simplify code - merge 5c7dd3329b568cef186709cadf093cad82f8fdfc from golang/protobuf
    d2459a7 dev: Fix uint64->int overflow in table unmarshal - merge 1ec9e17d4d187ddb55cc9858887b2202b3f75707 from golang/protobuf
    b559abf dev: Correct some mistakes - merge 013f295b1c740bd8ca5ce84ea810940b1945fcb0 from golang/protobuf
    5ec47c3 dev: Remove unused code - merge 3ffccb49d84ed0b9eb1e518dd391a6d015adfeb4 from golang/protobuf
    44af720 Upstream (#399): Merging upstream from golang/protobuf into dev branch golang/protobuf@8cc9e46
    1ef32a8 messagename
    49944b4 grpc error usage article
    58efb20 add mentions from Johan Brandhorst
    1d2310f merge bbd03ef6da3a115852eaf24c8a1c46aeb39aa175 from golang/protobuf
    ac06767 upgrade to go1.10
    9b87cea fix build for gopherjs that now requires go 1.10
    a74c03e fix build
    1ae71f0 fix for issue 389: importing of customtypes that are messages should not cause another import for the original message
    d5bc08a Update Readme.md
    f8f204f add new user : go-spacemesh
    b75782e protoc-min-version don't suppress protoc stdout and stderr out on success. (#381)
    73bcffa Update Readme.md
    43a6153 More well known types (#378)
    ff3a3b6 Added link to new blog post in README (#375)
    1adfc12 merge 925541529c1fa6821df4e44ce2723319eb2be768 from golang/protobuf
    26de2f9 Added instructions for using proto files from google/protobuf (#371)
    160de10 another user: zero stor
    d4d8b59 Update to protobuf 3.5.1 and minor cleanups for Golang 1.10 (#363)
    35b81a0 Test with latest Go and protobuf patch versions. (#352)
    aee20e7 plugin/equal: "return this == nil" to satisfy gosimple linter
    620da83 plugin/populate: avoid loops on non top-level packages
    cc007c0 example
    cd5e432 Incorporate review comments
    c4bc39e Mentioning the bit about proto_path up front
    ff2773e Ensure v3 to compile importduplicate.proto
    e683811 Minor update to the comment.
    bf3b9f4 Fix issue when provided f!=nil
    563235a Fix duplicate import names when same name used in different contexts
    3813b83 fix for testdata/my_test
    685a9b3 Test duplicate import names from proto package and generated code.
    b0a8a05 Removed unsafe stuff that got readded; regenerated .pb.go files
    8ddeac9 Update generated test files.
    c9c3a74 Update gogoproto/Makefile.
    f646b88 Review feedback
    b1c3a66 Add go_package
    7eaf46c min version 3 for my_test/test.proto
    3db9d03 Grammar Issues
    0c5dcd7 Update extensions.md
    acc574d merged 130e6b02ab059e7b717a096f397c5b60111cae74 from golang/protobuf
    2e9fe32 updated descriptor
    7cc42a6 merged 11b8df160996e00fd4b55cbaafb3d84ec6d50fa8 from golang/protobuf
    04380c3 merged 17ce1425424ab154092bbb43af630bd647f3bb0d from golang/protobuf
    92733a0 merged 5afd06f9d81a86d6e3bb7dc702d6bd148ea3ff23 from golang/protobuf
    79e6522 Revised comment regarding the uniqueness of package names.
    44008aa Regenerated pb.go files.
    48a47cb Fixed double import prefix issue.
    874a222 Fixed misleading comment.
    c59a8c7 Readded alias name to import statements.
    3ae4cfd Fix to avoid printing import alias when same as import path suffix.
    ca6d352 Fix to avoid long import alias names when not needed.033462 merge in golang/protobuf commit 3a3da3a4e26776cc22a79ef46d5d58477532dede - proto: mention field name in error message (#616) (#465)
    98f6aa8 added license details to Readme.md (#469)
    e66941c Update Readme.md (#468)
    476a2e9 Set defaults on nonnullable fields (#435) (#459)
    5e81640 removed the GOPATH env dep in the makefile protopath (#461)
    7af9d32 Fix nullable extension issues for non generated code (#453)
    888d305 merge in golang/protobuf commit d7d60bc05d9f92d4692aa196ac022618c2d86655 - grpc: fix and improve interface comments for client/server types (#604)
    a4350c5 merge in golang/protobuf commit 668a607657a5d387d6333648a2d9c749761fdc69 - LICENSE: Move title to README.md
    8599525 merged golang/protobuf commit 927b65914520a8b7d44f5c9057611cfec6b2e2d0 - proto: adjust documentation on RequiredNotSetError (#603)
    8e3eb24 Fix wrong build tags (#445)
    797fbbb merged commit 32a84b27e28ab9f681f0df16160c4ef1f6587094 from golang/prb

Fixes:#555

Signed-off-by: lifupan <[email protected]>
vendor: update gogo/protobuf to v1.2.1
For now, update interface in agent will fail when hot-add
nic to a running containers on arm64 as rescan pci bus will
occur between uf and bf of shpc hotplug interrupt handling.

Another problem is that the rootBusPath will be
"/devices/platform/4010000000.pcie/pci0000:00" on arm64.

To enable hot-add nic on arm64, rootBusPath should be changed here
and shpc hotplug should be disabled in guest kernel.

This patch just change rootBusPath.

Fixes: #544
Signed-off-by: Jianyong Wu <[email protected]>
- vendor: update gogo/protobuf to v1.2.1

86ca8e0 vendor: update gogo/protobuf to v1.2.1

Signed-off-by: Eric Ernst <[email protected]>
We need a proper rollback to decrement the sandbox storage
reference counter when addStorages() failed.

Fixes: #549

Signed-off-by: Xie Yongji <[email protected]>
Add link in the README to the existing cpuset doc which previously was
not very visible.

Fixes #557.

Signed-off-by: James O. D. Hunt <[email protected]>
vendor: update vsock package version
updateInterface: enable hot-add nic on arm64
…addStorages

mount: Add a proper rollback path to addStorages()
Fix spelling mistakes and formatting issues.

Fixes #562.

Signed-off-by: James O. D. Hunt <[email protected]>
docs: Fix typos and formatting
Invoke tmp.mount by adding it to kata-containers.target.
This is not invoked by systemd with current rootfs setup we have
as one of the dependencies for tmp.mount is systemd-remount-fs.service
which depends on /etc/fstab file being present(it is currenty missing)
Instead of adding that file, start the tmp.mount unit by including
it in kata-containers.target

With this and change in os-builder to not delete the tmp.mount unit,
(kata-containers/osbuilder#301) /tmp should now
be writeable for systemd based images.
For initrd this is handled by the agent itself.

Fixes #565

Signed-off-by: Archana Shinde <[email protected]>
Unit test for `onlineResources` function.

fixes #387

Signed-off-by: Julio Montes <[email protected]>
grpc: add unit test for onlineResources function
- grpc: add unit test for onlineResources function
- docs: Fix typos and formatting
- mount: Add a proper rollback path to addStorages()
- docs: Add missing document link
- updateInterface: enable hot-add nic on arm64
- vendor: update vsock package version

ca2f724 grpc: add unit test for onlineResources function
353263d docs: Fix typos and formatting
5064045 docs: Add missing document link
c66349b mount: Add a proper rollback path to addStorages()
5f9df74 updateInterface: enable hot-add nic on arm64
560dc87 vendor: update vsock package version

Signed-off-by: katacontainersbot <[email protected]>
Version bump no changes

Signed-off-by: katacontainersbot <[email protected]>
tmp: Add tmp.mount to kata-containers.target
For block devices added by acrn, virtpath is directly udpated
in storage.source and so no scanning of PCIAddr is required.
This is because, the virtio-blk device is not hot-plugged but
added during VM launch and updated later with container rootfs
using block rescan feature.

v2->v3:
1. Addressed weak match for checking storage block device.
2. Added device check for storage block device.
3. Added negative unit tests for the new code.

v1->v2:
gofmt'd the mount file.

Fixes: #573

Signed-off-by: Vijay Dhanraj <[email protected]>
Correct an incorrectly capitalized term.

Fixes: #576.

Signed-off-by: James O. D. Hunt <[email protected]>
mount: Virtio-blk container rootfs mount for ACRN hypervisor
- mount: Virtio-blk container rootfs mount for ACRN hypervisor
- docs: Fix spelling

0ead592 docs: Fix capitalization
9b59925 mount: Virtio-blk container rootfs mount for ACRN hypervisor

Signed-off-by: Peng Tao <[email protected]>
Child subreaper is a thread local property. We need to lock os
thread to make sure the underlying go runtime M thread is not
scheduled off and then quits. Otherwise it is possible that we
lose the subreaper M thread and fail to wait child threads.

Fixes: #582
Signed-off-by: Peng Tao <[email protected]>
agent: lock subreaper agent thread
gcc __attribute__ constructors cannot take arguments and cannot
access main function arguments on musl. Such functionality is glibc
specific and only works on x86 and x86_64. As a result, the pause
binary always quits on musl causing sandbox share pidns to malfunction.

Fix it by grabbing arguments from /proc/self/cmdline instead.

Fixes: #584
Signed-off-by: Peng Tao <[email protected]>
dgibson and others added 30 commits September 23, 2020 18:43
This function watches for uvents that match addresses stored in
s.deviceWatchers() and if there's a matching entry signals the associated
channel.

"Matching" in this instance means soem sort of comparison between the
address we're watching for and the sysfs path in the uevent.  Currently we
match any of a bunch of different cases for different types of device.
Being very specific with how we match *sounds* like a good idea, but it's
complicated, tightly coupled to other parts of the code and, ultimately,
pointless.

The user of the data we're collecting here is getDeviceName().  Before
registering a watcher it checks s.sysToDevMap in case the uevent it's
interested in has already happened.

To have consistent behaviour regardless of when the uevent arrives,
the matching that getDeviceName() uses against s.sysToDevMap must be
the same as we use in listenToUdevEvents() and right now, it's not.
So, change the matching in listenToUdevEvents() to be the same as the
much simpler version in getDeviceName().

fixes #848

Signed-off-by: David Gibson <[email protected]>
Consistent device address matching between `getDeviceName()` and `listenToUdevEvents()`
Remove the GitHub issue template from this repository. We already have a
central set of templates [1] that are being used so the template in this
repository is redundant.

[1] - https://github.com/kata-containers/.github/tree/master/.github/ISSUE_TEMPLATE/

Fixes: #846.

Signed-off-by: James O. D. Hunt <[email protected]>
getDevicePCIAddress() has pretty confusing semantics.  Both its input
and output are in other parts of the code described as a "PCI
address", but neither is *actually* a PCI address (in the standard
DDDD:BB:DD.F format).

What it's really about is resolving a "PCI path" - that is way to
locate a PCI device by using it's slot number and the slot number of
the bridge leading to it - into a sysfs path.

Rename the function, and change a bunch of variable names to make
those semantics clearer.

Signed-off-by: David Gibson <[email protected]>
pciPathToSysfs takes a PCI path, with a particular format.  A number
of places implicitly need strings in that format, many of them repeat
the description.  To make things safer and briefer create a newtype
wrapper for strings in this format, and just describe the internals at
the type definition.

Then, update variable names and comments throughout to call things in
this format "PCI path", rather than "PCI identifier", which is vague
or "PCI address" which is just plain wrong.  Likewise we change names and
comments which incorrectly refer to sysfs paths as a "PCI address".

This changes the grpc proto definitions, but because it's just
changing the name of a field without changing the field number, it
shouldn't change the actual protocol.  It also trivially changes the
copyright notice, because Travis whinges otherwise.

Signed-off-by: David Gibson <[email protected]>
This does some general reorganization of TestPciPathToSysfs.  It tests the
same things (plus a few trivial extras), but is set out in a way that will
be easier to extend when we broaden the allowed pciPath values we accept.

It also removes some intermediate variables that seemed to make things
harder rather than easier to follow.

Signed-off-by: David Gibson <[email protected]>
Currently pciPathToSysfsImpl, which translates PCI paths into sysfs paths
accepts only pci paths with exactly 2 components; which represents PCI
devices separated from the root bus by exactly one PCI to PCI bridge (which
could be a virtual P2P bridge, such as a PCI-E root port).

There are cases we might reasonably want to support which have devices
either plugged directly into the root bus (zero bridges), or under
multiple layers of P2P bridge (a PCI-E switch would require at least 2
layers).

So, generalize pciPathToSysfs to support any number of components in the
PCI path.

We need to adjust some tests to match, not only because of the intended
change in behaviour, but also because the new version probes sysfs a bit
differently, so we need to mock things to match.

fixes #854

Signed-off-by: David Gibson <[email protected]>
Handle PCI paths consistently and more generally
- Handle PCI paths consistently and more generally
- action: Improve porting checks
- Consistent device address matching between `getDeviceName()` and `listenToUdevEvents()`
- Fix potential major:minor conflicts during device updates
- network: Fix Could not create destination mount point: /etc/resolv.conf
- action: Require PR porting labels
- action: Add issue to project and move to "In progress" on linked PR

9804b1e device: Generalize PCI paths to any number of bridges
134f55a device: Reorganize TestPciPathToSysfs
da4bc1d device: Introduce PciPath type, name things consistently
0eb612f device: Rename and clarify semantics of getDevicePCIAddress
0a4d443 device: Simplify uevent matching in listenToUdevEvents()
bd4dcc5 device: Rename pciDeviceMap in sandbox struct
27ebdc9 device: Check type as well as major:minor when looking up devices
d88d468 device: Index all devices in spec before updating them
8336b5b action: Improve porting checks
5cc719a action: Add issue to project and move to "In progress" on linked PR
427dc4e action: Require PR porting labels
a48a062 network: Fix Could not create destination mount point: /etc/resolv.conf

Signed-off-by: Carlos Venegas <[email protected]>
github: Remove issue template and use central one
Currently, rootBusPath is set as a constant value. Bus this pcie bus path
is not alway static, eg. the rootBus on arm64 is
"/devices/platform/4010000000.pcie/pci0000:00". The address part of
"4010000000.pcie" may vary with the maxMem in qemu so it should not be a
fixed value.

For exmaple:
HIGH PCIE address reserved in qemu on virt is from 0 to 512G. The lower
part of address may be allocated to normal memory. In general, normal memory
is largely less than 256G, so the base address of HIGH PCIE can be 256G.
But, in case the maxmem is large enough, like around 256G, the base address
of HIGH PCIE must be increase, eg. 300G.
In the current implementation of kata-runtime, the maxmem in qemu is the host
memory size. So if the host memory size is large enough, the prefix of the
pci device path name will be different from rootBusPath set in kata-agent which
can lead to failure on device hotplug.

This patch offer a mechanism to create rootBusPath dynamically but only give
implemention for arm64 and return the default value of rootBusPath for other arch.

Fixes: #859
Signed-off-by: Jianyong Wu <[email protected]>
"make proto" will fail on arm64 using docker 18.06. This bug will be
gone if using docker 19.03. so upgrade docker before "make proto"
for arm64.

Depends-on: github.com/kata-containers/runtime#3057
Fixes: #861
Signed-off-by: Jianyong Wu <[email protected]>
ci: install docker 19.03 for arm64 to let build image go
rootBusPath: create rootBusPath dynamically.
This PR enables the github actions for agent repository.

Fixes #869

Signed-off-by: Gabriela Cervantes <[email protected]>
- github: Add github actions
- rootBusPath: create rootBusPath dynamically.
- ci: install docker 19.03 for arm64 to let build image go

09af1d8 github: Add github actions
23bd1c7 ci: install docker 19.03 for arm64 to let build image go
d66fcb8 rootBusPath: create rootBusPath dynamically.

Signed-off-by: Eric Ernst <[email protected]>
PCI bus path in qemu/arm64 is different between acpi enabled and
disabled. It's better to check if there is a pci bus path for acpi which
is a static value before try to offer a varying pci bus path for no acpi.

Fixes: #881
Signed-off-by: Jianyong Wu <[email protected]>
arm/pci: add create pci bus path support for acpi
Mount hugepage directories and configure the requested number of hugepages
dynamically by writing to sysfs files

Fixes: #871

Signed-off-by: Pradipta Banerjee <[email protected]>
- arm/pci: add create pci bus path support for acpi

e4bac35 arm/pci: add create pci bus path support for acpi

Signed-off-by: Peng Tao <[email protected]>
This reverts commit 5c01a4b, as the
release 1.13.0-alpha1 was never tagged.

Fixes: #891

Signed-off-by: Fabiano Fidêncio <[email protected]>
…e-bump

release: Revert "release: Kata Containers 1.13.0-alpha1"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.