New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 708732 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on:
issue 708265
issue 708267



Sign in to add a comment

init system that allows communication w/ host OS

Project Member Reported by smbar...@chromium.org, Apr 5 2017

Issue description

We need some sort of container init that has a pipe back to the host. This could be done with virtio-sockets.

(FR for networking purposes: use this channel to have the VM set up an IPv4 address that is assigned by the host)
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/a633fcf0d41ce6c5ef051dc3093350efce8b6c2a

commit a633fcf0d41ce6c5ef051dc3093350efce8b6c2a
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jul 25 03:32:45 2017

grpc: Introduce ebuild for version 1.3.0

Add an ebuild for gRPC version 1.3.0.

BUG= chromium:708732 
TEST='sudo emerge grpc' and 'emerge-$BOARD grpc' complete successfully

Change-Id: Iefe0c6fce7a89162f2f71473c6d4b1ade2db7787
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/530051
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/a633fcf0d41ce6c5ef051dc3093350efce8b6c2a/chromeos/config/env/dev-libs/grpc
[add] https://crrev.com/a633fcf0d41ce6c5ef051dc3093350efce8b6c2a/dev-libs/grpc/Manifest
[add] https://crrev.com/a633fcf0d41ce6c5ef051dc3093350efce8b6c2a/dev-libs/grpc/files/0003-grpc-1.3.0-Fix-unsecure-.pc-files.patch
[add] https://crrev.com/a633fcf0d41ce6c5ef051dc3093350efce8b6c2a/dev-libs/grpc/files/0004-grpc-1.3.0-Support-vsock.patch
[add] https://crrev.com/a633fcf0d41ce6c5ef051dc3093350efce8b6c2a/dev-libs/grpc/files/0005-grpc-1.3.0-Don-t-run-ldconfig.patch
[add] https://crrev.com/a633fcf0d41ce6c5ef051dc3093350efce8b6c2a/dev-libs/grpc/files/0001-grpc-1.3.0-Fix-incorrect-sonames-and-library-path.patch
[add] https://crrev.com/a633fcf0d41ce6c5ef051dc3093350efce8b6c2a/dev-libs/grpc/grpc-1.3.0.ebuild
[add] https://crrev.com/a633fcf0d41ce6c5ef051dc3093350efce8b6c2a/dev-libs/grpc/files/0002-grpc-1.3.0-Fix-cross-compiling.patch

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/80e76800d25273f2e5ce0d6fc8b314077c701ae0

commit 80e76800d25273f2e5ce0d6fc8b314077c701ae0
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jul 25 03:32:45 2017

target-chromium-os-sdk: Add dependency on gRPC

gRPC needs to be installed in the SDK so that projects that use gRPC can use the
language-specific plugins to generate code from the .proto files.

BUG= chromium:708732 
TEST='sudo emerge grpc' and then 'emerge-$BOARD maitred'

Change-Id: Ib06d0a93fa36da5f2497445900ea0f7553862423
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/537162
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/80e76800d25273f2e5ce0d6fc8b314077c701ae0/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1.ebuild
[rename] https://crrev.com/80e76800d25273f2e5ce0d6fc8b314077c701ae0/virtual/target-chromium-os-sdk/target-chromium-os-sdk-1-r78.ebuild

Project Member

Comment 3 by bugdroid1@chromium.org, Jul 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/2bb04d584eadf0cbb2de96de757fa3ebdf8e42d5

commit 2bb04d584eadf0cbb2de96de757fa3ebdf8e42d5
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Wed Jul 26 23:46:48 2017

common-mk: Add support for grpc

Add support for generating gRPC code from proto3 files.

BUG= chromium:708732 
TEST=Built maitred code with gRPC
CQ-DEPEND=CL:537162

Change-Id: I86739364347c0b15f3092b600fb181e1ce840a9d
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/534777
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/2bb04d584eadf0cbb2de96de757fa3ebdf8e42d5/common-mk/protoc.gypi

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/4aae408dfb618be8aed0762d477a9c966f709016

commit 4aae408dfb618be8aed0762d477a9c966f709016
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Wed Jul 26 23:46:48 2017

vm_tools: Initial commit

Initial commit of vm_tools directory with OWNERS and README.md.

BUG= chromium:708732 
TEST=none

Change-Id: Ib7583389709f439e4087f1b2886178cfa24b0eaf
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/550410
Reviewed-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/4aae408dfb618be8aed0762d477a9c966f709016/vm_tools/OWNERS
[add] https://crrev.com/4aae408dfb618be8aed0762d477a9c966f709016/vm_tools/README.md

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/966f06a3fd2eb0f461b69fde4d924b19e14193a1

commit 966f06a3fd2eb0f461b69fde4d924b19e14193a1
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Wed Jul 26 23:46:48 2017

vm_tools: Add .proto files for host <-> guest communication

Add .proto files to define the different services that will be running between
the guest and the host.

BUG= chromium:708732 
TEST=In a later CL

Change-Id: I2c0b86399f2bc015a23e70d70b113c0af254021a
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/550411
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>

[add] https://crrev.com/966f06a3fd2eb0f461b69fde4d924b19e14193a1/vm_tools/proto/guest.proto
[add] https://crrev.com/966f06a3fd2eb0f461b69fde4d924b19e14193a1/vm_tools/proto/host.proto
[add] https://crrev.com/966f06a3fd2eb0f461b69fde4d924b19e14193a1/vm_tools/proto/common.proto

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac

commit 5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Wed Aug 09 18:47:54 2017

vm_tools: Add syslog collector

Add the vm_syslog tool, which will be responsible for listening on the syslog
socket (/dev/log) inside the VM and forwarding the logs it receives to a service
on the host for persistent storage.

BUG= chromium:708732 
TEST=unit tests and manual verification of behavior

Change-Id: I673fd2f1bd61bd0ba3e5f8fa957875c4da03333c
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/565965
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac/vm_tools/syslog/parser_unittest.cc
[add] https://crrev.com/5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac/vm_tools/syslog/main.cc
[add] https://crrev.com/5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac/vm_tools/syslog/collector.cc
[modify] https://crrev.com/5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac/vm_tools/vm_tools.gyp
[add] https://crrev.com/5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac/vm_tools/syslog/parser.h
[add] https://crrev.com/5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac/vm_tools/syslog/collector.h
[add] https://crrev.com/5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac/vm_tools/syslog/parser.cc
[modify] https://crrev.com/5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac/vm_tools/proto/host.proto
[add] https://crrev.com/5e8a5fd81d783a2ecda93cbf2b713f7406ae4dac/vm_tools/syslog/collector_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/a025a5981380359e6f36eaa11f58faa9a31e7426

commit a025a5981380359e6f36eaa11f58faa9a31e7426
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Wed Aug 09 18:47:54 2017

vm_tools: Forward kernel logs from /dev/kmsg

Add support to vm_syslog for reading the kernel log buffer in /dev/kmsg and
forwarding the contents out to the host.

BUG= chromium:708732 
TEST=unit tests and manual verification of behavior

Change-Id: I530681d04dce23b3a9d0602d9dd5ac04ac5b2224
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/585578
Reviewed-by: Eric Caruso <ejcaruso@chromium.org>

[modify] https://crrev.com/a025a5981380359e6f36eaa11f58faa9a31e7426/vm_tools/syslog/parser_unittest.cc
[modify] https://crrev.com/a025a5981380359e6f36eaa11f58faa9a31e7426/vm_tools/syslog/collector.cc
[modify] https://crrev.com/a025a5981380359e6f36eaa11f58faa9a31e7426/vm_tools/syslog/parser.h
[modify] https://crrev.com/a025a5981380359e6f36eaa11f58faa9a31e7426/vm_tools/syslog/collector.h
[modify] https://crrev.com/a025a5981380359e6f36eaa11f58faa9a31e7426/vm_tools/syslog/parser.cc
[modify] https://crrev.com/a025a5981380359e6f36eaa11f58faa9a31e7426/vm_tools/syslog/collector_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/df820a2f72d674dcfa7a4701e8fc02fa7c3ab4b1

commit df820a2f72d674dcfa7a4701e8fc02fa7c3ab4b1
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Wed Aug 09 18:47:55 2017

vm_tools: maitred: Log to /dev/kmsg

Configure maitred to send its log messages to /dev/kmsg.  There are several
reasons to send maitred logs here instead of to the standard syslog:

* When maitred runs as init, vm_syslog will not be running (since it needs to be
  started by maitred) so some early maitred logs will be lost.
* The kernel automatically mounts /dev after mounting the rootfs.  This means
  that /dev/kmsg will always be available.
* maitred doesn't need to depend on anything other than the kernel.
* Developers will be able to see maitred logs just by booting a VM kernel with
  the serial console enabled.  This is useful if it's not possible to extract
  logs out of the VM in some other way.

BUG= chromium:708732 
TEST=manual.  Run maitred and see that its messages show up in /dev/kmsg.

Change-Id: Ia85ea78f8234a21fd018f4ef6d0088052ff9fbda
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/590947
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/df820a2f72d674dcfa7a4701e8fc02fa7c3ab4b1/vm_tools/maitred/main.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/2cfcd62d63ab535e3b6185db3c860515eb030950

commit 2cfcd62d63ab535e3b6185db3c860515eb030950
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Mon Aug 21 19:52:09 2017

vm_tools: maitred: Add support to run as init

Add support for maitre'd to run as pid 1 inside
the VM.  Processes are launched via a new
LaunchProcess rpc.

BUG= chromium:708732 
TEST=manual.  Use client program to launch
     process and verify functionality.

Change-Id: I59c09c9b7a49092d25ac8c3e78927b523b10c432
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/604714
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/2cfcd62d63ab535e3b6185db3c860515eb030950/vm_tools/maitred/service_impl.h
[modify] https://crrev.com/2cfcd62d63ab535e3b6185db3c860515eb030950/vm_tools/vm_tools.gyp
[modify] https://crrev.com/2cfcd62d63ab535e3b6185db3c860515eb030950/vm_tools/maitred/service_impl_unittest.cc
[modify] https://crrev.com/2cfcd62d63ab535e3b6185db3c860515eb030950/vm_tools/maitred/main.cc
[modify] https://crrev.com/2cfcd62d63ab535e3b6185db3c860515eb030950/vm_tools/proto/guest.proto
[modify] https://crrev.com/2cfcd62d63ab535e3b6185db3c860515eb030950/vm_tools/maitred/service_impl.cc
[add] https://crrev.com/2cfcd62d63ab535e3b6185db3c860515eb030950/vm_tools/docs/init.md
[modify] https://crrev.com/2cfcd62d63ab535e3b6185db3c860515eb030950/vm_tools/README.md
[add] https://crrev.com/2cfcd62d63ab535e3b6185db3c860515eb030950/vm_tools/maitred/init.cc
[add] https://crrev.com/2cfcd62d63ab535e3b6185db3c860515eb030950/vm_tools/maitred/init.h

Project Member

Comment 11 by bugdroid1@chromium.org, Aug 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/e8c403c5fd7d07c486d05507afdeb9f3312122e0

commit e8c403c5fd7d07c486d05507afdeb9f3312122e0
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Mon Aug 21 19:52:10 2017

vm_tools: maitred: Add client tool

Add a maitred_client tool that can be run on the
host system to send maitred rpcs for performing
various tasks.  For each rpc, the tool expects a
path to a text proto file that fills in the
request protobuf of that rpc.  Example textproto
files are included.

Additionally, since this directory now contains
both host and guest tools, split the gyp file into
common, host, and guest configurations,
respectively.  The common code gets built by
vm_tools.gyp while the appropriate .gypi file is
included depending on whether the USE_kvm_host
flag is set.

BUG= chromium:708732 
TEST=manual.  Run the client
     and see that the server responds correctly.

Change-Id: I5150ba2e6faad71df6f2f8906613e6ec88875f9c
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/604715

[add] https://crrev.com/e8c403c5fd7d07c486d05507afdeb9f3312122e0/vm_tools/maitred/client.cc
[add] https://crrev.com/e8c403c5fd7d07c486d05507afdeb9f3312122e0/vm_tools/host.gypi
[modify] https://crrev.com/e8c403c5fd7d07c486d05507afdeb9f3312122e0/vm_tools/vm_tools.gyp
[add] https://crrev.com/e8c403c5fd7d07c486d05507afdeb9f3312122e0/vm_tools/maitred/vm_syslog.textproto
[add] https://crrev.com/e8c403c5fd7d07c486d05507afdeb9f3312122e0/vm_tools/maitred/agetty.textproto
[modify] https://crrev.com/e8c403c5fd7d07c486d05507afdeb9f3312122e0/common-mk/common.gypi
[add] https://crrev.com/e8c403c5fd7d07c486d05507afdeb9f3312122e0/vm_tools/maitred/network-config.textproto
[add] https://crrev.com/e8c403c5fd7d07c486d05507afdeb9f3312122e0/vm_tools/guest.gypi

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/502346db9bef404a21a19daa1f3cb6c25bc6bfa2

commit 502346db9bef404a21a19daa1f3cb6c25bc6bfa2
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Mon Aug 21 19:52:10 2017

vm_tools: Document changes in syslog behavior

Rather than having multiple vm_launcher instances
collecting logs from multiple VMs, we will instead
have a single daemon that collects logs from all
VMs, scrubs them, and then forwards them to the
syslog on the host.

BUG= chromium:708732 
TEST=none

Change-Id: I563833fee02e3a6550181f7f1c9b7296f972dcfe
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/617805
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/502346db9bef404a21a19daa1f3cb6c25bc6bfa2/vm_tools/README.md

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/2b9d4bbdb50ef072d8ee8b0e5ed270dede1f2675

commit 2b9d4bbdb50ef072d8ee8b0e5ed270dede1f2675
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Aug 22 00:55:27 2017

vm_tools: Add new ebuild

Add a new ebuild for the vm_tools built from platform2.

BUG= chromium:708732 
TEST=emerge-$BOARD vm_tools works
CQ-DEPEND=CL:604715

Change-Id: I0793d445dd9140b48497218dbe32cf52a39ed3a9
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/565352
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[add] https://crrev.com/2b9d4bbdb50ef072d8ee8b0e5ed270dede1f2675/chromeos-base/vm_tools/metadata.xml
[add] https://crrev.com/2b9d4bbdb50ef072d8ee8b0e5ed270dede1f2675/chromeos-base/vm_tools/vm_tools-9999.ebuild

Project Member

Comment 14 by bugdroid1@chromium.org, Aug 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/133f38081129635fba48ad68fd817be141675043

commit 133f38081129635fba48ad68fd817be141675043
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Aug 22 02:53:02 2017

target-termina-os: Add vm_tools as a dependency

Add vm_tools and remove upstart as runtime dependencies of the OS.  vm_tools now
provides /sbin/init so we don't need upstart anymore.

BUG= chromium:708732 
TEST=termina_build_image and verify that maitred is on the rootfs
CQ-DEPEND=CL:565352

Change-Id: I4237aec96ecd85f7307162aa7f3679053a92dbc2
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/604402

[rename] https://crrev.com/133f38081129635fba48ad68fd817be141675043/project-termina/virtual/target-termina-os/target-termina-os-1.5-r6.ebuild
[modify] https://crrev.com/133f38081129635fba48ad68fd817be141675043/project-termina/virtual/target-termina-os/target-termina-os-1.5.ebuild

Status: (was: Untriaged)
Marking this fixed.  Please open new bugs for missing features.
Status: Fixed

Comment 17 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)
Components: OS>Systems>Containers
Labels: -Restrict-View-Google

Sign in to add a comment