New issue
Advanced search Search tips

Issue 786663 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

VM Launcher runs as service

Project Member Reported by dgreid@chromium.org, Nov 18 2017

Issue description

Run it as a daemon instead of as a command line tool because it has to manage several running VMs.

 
Cc: smbar...@chromium.org
Owner: chirantan@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 20 2018

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

commit a70b22846a69c15adc9e22083f321e2e30495bfe
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Sat Jan 20 01:18:05 2018

Add tun group

Users in the tun group will be allowed write access to /dev/net/tun.

BUG= chromium:786663 
TEST=profiles/base/accounts/display_accts.py

Change-Id: Iad9e4179738602d242e37e88cb4fad6c491ad896
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/872197
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>

[add] https://crrev.com/a70b22846a69c15adc9e22083f321e2e30495bfe/profiles/base/accounts/group/tun

Project Member

Comment 3 by bugdroid1@chromium.org, Jan 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/system_api/+/98245f68219bb725f64b962533040b98c35e1afc

commit 98245f68219bb725f64b962533040b98c35e1afc
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Sat Jan 20 01:18:04 2018

Add vm_concierge service constants and proto files

Add the service constants and proto definitions for the vm_concierge
daemon, which provides a service for starting, stopping, and managing
virtual machines.

BUG= chromium:786663 
TEST='emerge-eve-kvm system_api'

Change-Id: I24f5b43c5597b457eaa8d36b1e8bf970922cd71d
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/838841
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/98245f68219bb725f64b962533040b98c35e1afc/system_api.pc
[modify] https://crrev.com/98245f68219bb725f64b962533040b98c35e1afc/dbus/service_constants.h
[add] https://crrev.com/98245f68219bb725f64b962533040b98c35e1afc/dbus/vm_concierge/service.proto
[modify] https://crrev.com/98245f68219bb725f64b962533040b98c35e1afc/system_api.gyp
[add] https://crrev.com/98245f68219bb725f64b962533040b98c35e1afc/dbus/vm_concierge/dbus-constants.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jan 23 2018

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

commit a253564a04ba52c1943395b7db25607629c174a2
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:06:59 2018

vm_tools: Add vm_concierge service

Initial commit of the vm_concierge daemon, which provides a service for
starting, stopping, and managing virtual machines.  This code only
includes the dbus framework for exporting methods and taking ownership
of the service name.  The actual methods will be implemented in future
CLs.

BUG= chromium:786663 
TEST=manual: 'emerge-eve-kvm vm_tools', run 'start vm_concierge', and
     see that there are no errors
CQ-DEPEND=CL:872890,CL:838841,CL:838853

Change-Id: Ie6bdf9bed85c927d45f4c76a979d94165ab7877e
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/838846
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/a253564a04ba52c1943395b7db25607629c174a2/vm_tools/host.gypi
[add] https://crrev.com/a253564a04ba52c1943395b7db25607629c174a2/vm_tools/concierge/main.cc
[modify] https://crrev.com/a253564a04ba52c1943395b7db25607629c174a2/vm_tools/init/vmlog_forwarder.conf
[add] https://crrev.com/a253564a04ba52c1943395b7db25607629c174a2/vm_tools/udev/99-vm.rules
[add] https://crrev.com/a253564a04ba52c1943395b7db25607629c174a2/vm_tools/concierge/service.cc
[add] https://crrev.com/a253564a04ba52c1943395b7db25607629c174a2/vm_tools/dbus/org.chromium.VmConcierge.conf
[add] https://crrev.com/a253564a04ba52c1943395b7db25607629c174a2/vm_tools/concierge/service.h
[add] https://crrev.com/a253564a04ba52c1943395b7db25607629c174a2/vm_tools/init/vm_concierge.conf

Project Member

Comment 5 by bugdroid1@chromium.org, Jan 23 2018

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

commit 1977ea21d08e7164fe889c0b09e7f4239b630796
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:00 2018

vm_tools: concierge: Add SubnetPool

Add the SubnetPool class, which is responsible for managing subnets in
the range 100.115.92.0/24.  These addresses are not publicly routable
and will be assigned to VMs.

BUG= chromium:786663 
TEST=unit tests

Change-Id: I5fb503d5e91ebe42104fea5596b2e06573e4bd03
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/838847
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/1977ea21d08e7164fe889c0b09e7f4239b630796/vm_tools/host.gypi
[add] https://crrev.com/1977ea21d08e7164fe889c0b09e7f4239b630796/vm_tools/concierge/subnet_pool_unittest.cc
[add] https://crrev.com/1977ea21d08e7164fe889c0b09e7f4239b630796/vm_tools/concierge/subnet_pool.h
[add] https://crrev.com/1977ea21d08e7164fe889c0b09e7f4239b630796/vm_tools/concierge/subnet_pool.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 23 2018

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

commit ad25b65487e4d1bab718753435a26961d6ceda5d
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:00 2018

vm_tools: concierge: Add MacAddressGenerator

Add the MacAddressGenerator class, which is responsible for generating
EUI-48 MAC addresses to be assigned to VMs.

BUG= chromium:786663 
TEST=unit tests

Change-Id: I6f790f76ae4a0c81f1bfa5b4ce4276fe0c3490c2
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/838848
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[add] https://crrev.com/ad25b65487e4d1bab718753435a26961d6ceda5d/vm_tools/concierge/mac_address_generator.h
[add] https://crrev.com/ad25b65487e4d1bab718753435a26961d6ceda5d/vm_tools/concierge/mac_address_generator_unittest.cc
[add] https://crrev.com/ad25b65487e4d1bab718753435a26961d6ceda5d/vm_tools/concierge/mac_address_generator.cc
[modify] https://crrev.com/ad25b65487e4d1bab718753435a26961d6ceda5d/vm_tools/host.gypi

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 23 2018

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

commit c3355b8b1f3028dd2f5839964fc8734d3022e7f4
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:00 2018

vm_tools: concierge: Add VsockCidPool

Add the VsockCidPool class, which is responsible for allocating and
handing out virtual socket context ids used by VMs.

BUG= chromium:786663 
TEST=none

Change-Id: Ia62bb28dbbb284677b596063c6696e6bd5993e9b
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/838849
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[add] https://crrev.com/c3355b8b1f3028dd2f5839964fc8734d3022e7f4/vm_tools/concierge/vsock_cid_pool.h

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 23 2018

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

commit 1be5534ca5a234ea8649dedd7310028154fc1dfe
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:01 2018

vm_tools: concierge: Add VirtualMachine class

Add the VirtualMachine class, which represents a single instance of a
running virtual machine.  It exposes methods for making RPC requests to
the maitre'd instance inside the VM.

BUG= chromium:786663 
TEST=unit tests

Change-Id: Id2323ad51406600d5d4cfd4429fae9a2378b9091
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/838850
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[add] https://crrev.com/1be5534ca5a234ea8649dedd7310028154fc1dfe/vm_tools/concierge/virtual_machine_unittest.cc
[modify] https://crrev.com/1be5534ca5a234ea8649dedd7310028154fc1dfe/vm_tools/host.gypi
[add] https://crrev.com/1be5534ca5a234ea8649dedd7310028154fc1dfe/vm_tools/concierge/virtual_machine.cc
[add] https://crrev.com/1be5534ca5a234ea8649dedd7310028154fc1dfe/vm_tools/concierge/virtual_machine.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 23 2018

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

commit 45ec32835787d785ef46cebf77e69e902589e0c0
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:01 2018

vm_tools: concierge: Hook up service methods

Hook up the dbus service methods in vm_concierge to actually start and
stop VMs.

BUG= chromium:786663 
TEST=manual

Change-Id: Ic5ad900d263a8b5f41b437736a89e932fcb75836
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/838851
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/45ec32835787d785ef46cebf77e69e902589e0c0/vm_tools/concierge/service.h
[modify] https://crrev.com/45ec32835787d785ef46cebf77e69e902589e0c0/vm_tools/concierge/service.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jan 23 2018

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

commit 98364911a06b8da129bc2e995f5b5d2ad89c15c1
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:02 2018

vm_tools: concierge: Add client tool

Add a command line tool for talking to the vm_concierge service.

BUG= chromium:786663 
TEST=manual

Change-Id: Iebe9ece564d52e87d9a1090dd8da0e638851a144
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/838852
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/98364911a06b8da129bc2e995f5b5d2ad89c15c1/vm_tools/host.gypi
[add] https://crrev.com/98364911a06b8da129bc2e995f5b5d2ad89c15c1/vm_tools/concierge/client.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jan 23 2018

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

commit 852c8591d62a707f052b802c114848e6e7b6aab6
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:02 2018

vm_tools: host.proto: Rename UNKNOWN->MISSING

The LogSeverity UNKNOWN enum conflicts with the ProcessStatus UNKNOWN
enum when both the generated host and guest protobuf headers are
included in the same file.  Ideally these should have been put in their
own sub-namespaces instead of the top-level vm_tools namespace.

However, just renaming the LogSeverity UNKNOWN field to MISSING fixes
the conflict (and also makes a bit more sense since a log severity
cannot really be unknown, only missing).  So do that instead.  We may
still put everything into proper sub-namespaces in the future but it's
not something we need to worry about right now.

BUG= chromium:786663 
TEST=include both host.pb.h and guest.pb.h in a single file and compile
     it successfully

Change-Id: Id3c42d2350460aee0c8e9d2ed7157cb90baf8731
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/855476
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/852c8591d62a707f052b802c114848e6e7b6aab6/vm_tools/syslog/parser_unittest.cc
[modify] https://crrev.com/852c8591d62a707f052b802c114848e6e7b6aab6/vm_tools/syslog/parser.cc
[modify] https://crrev.com/852c8591d62a707f052b802c114848e6e7b6aab6/vm_tools/syslog/scrubber.cc
[modify] https://crrev.com/852c8591d62a707f052b802c114848e6e7b6aab6/vm_tools/proto/host.proto
[modify] https://crrev.com/852c8591d62a707f052b802c114848e6e7b6aab6/vm_tools/syslog/scrubber_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Jan 23 2018

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

commit ec53b8eb723638d6e727f9a281b255517e9a1eea
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:02 2018

vm_tools: proto: Add StartupListener service

The StartupListener service runs on the guest and is notified whenever a
new maitre'd instance starts up inside a VM.  This makes it easier to
know when a VM is ready to start accepting RPCs so that we can finish VM
setup faster.

BUG= chromium:786663 
TEST=none

Change-Id: Ifb42588388f74b4ea20eeececf8afe7afd87e8b0
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/855477
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/ec53b8eb723638d6e727f9a281b255517e9a1eea/vm_tools/proto/host.proto

Project Member

Comment 13 by bugdroid1@chromium.org, Jan 23 2018

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

commit b8d20fc91259b8fedc605bfddbba1fe853197428
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:03 2018

vm_tools: concierge: Add StartupListener service implementation

Add an implementation of the StartupListener service.  This service will
run on its own thread and will notify a base::WaitableEvent whenever a
new VM starts up.

BUG= chromium:786663 
TEST=Start maitre'd (combined with later CLs)

Change-Id: Ic555545018bc89ab21e176f2afdb5a56413c6cfb
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/855478
Reviewed-by: Stephen Barber <smbarber@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[add] https://crrev.com/b8d20fc91259b8fedc605bfddbba1fe853197428/vm_tools/concierge/startup_listener_impl.cc
[add] https://crrev.com/b8d20fc91259b8fedc605bfddbba1fe853197428/vm_tools/concierge/startup_listener_impl.h
[modify] https://crrev.com/b8d20fc91259b8fedc605bfddbba1fe853197428/vm_tools/host.gypi

Project Member

Comment 14 by bugdroid1@chromium.org, Jan 23 2018

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

commit ec5817a25aee4d07d7214f6517801dbffd18dc3b
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:03 2018

vm_tools: concierge: Run the StartupListener service

Run the StartupListener service on a separate thread and use it to wait
for the VM to start up before finishing setup (configuring the network,
mounting file systems, and launching processes).

BUG= chromium:786663 
TEST=Start maitre'd (combined with later CLs)

Change-Id: I060b41ed4ad4ef755f618172f8b87b8397297105
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/855479
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/ec5817a25aee4d07d7214f6517801dbffd18dc3b/vm_tools/concierge/service.h
[modify] https://crrev.com/ec5817a25aee4d07d7214f6517801dbffd18dc3b/vm_tools/concierge/service.cc
[modify] https://crrev.com/ec5817a25aee4d07d7214f6517801dbffd18dc3b/vm_tools/common/constants.h

Project Member

Comment 15 by bugdroid1@chromium.org, Jan 23 2018

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

commit 70c72b1db994fda718c4709362e93df2d1686cd4
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:04 2018

vm_tools: maitred: Notify the StartupListener service

Have maitre'd notify the StartupListener service on the host once it has
finished its early setup and is ready to start processing RPC requests
from the host.

BUG= chromium:786663 
TEST=Start a VM and see that all the setup steps are completed

Change-Id: Ie066874958636fa23ef6d10401b3bcb2a4b5c980
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/855480
Reviewed-by: Stephen Barber <smbarber@chromium.org>

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

Project Member

Comment 16 by bugdroid1@chromium.org, Jan 23 2018

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

commit ec09e74228d555e4ed49dbe9936ee2b02f949683
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:05 2018

usergroup_baseline: Add tun group

Members of the 'tun' group will have write access to /dev/net/tun.

BUG= chromium:786663 
CQ-DEPEND=CL:872100
TEST=chromite/bin/image_test

Change-Id: Id1de0416fa132c3e6c6a8800f43aac3b8f32af0e
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/879481
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/ec09e74228d555e4ed49dbe9936ee2b02f949683/cros/test/usergroup_baseline.py

Project Member

Comment 17 by bugdroid1@chromium.org, Jan 23 2018

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

commit b99ffba1549e7be143c63872294a642c4e87ee88
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:04 2018

vm_tools: Install concierge binaries

Install the vm_concierge and concierge_client tools into the rootfs for
kvm_host builds.

BUG= chromium:786663 
CQ-DEPEND=CL:838846,CL:838852
TEST=emerge vm_tools

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

[modify] https://crrev.com/b99ffba1549e7be143c63872294a642c4e87ee88/chromeos-base/system_api/system_api-9999.ebuild
[modify] https://crrev.com/b99ffba1549e7be143c63872294a642c4e87ee88/chromeos-base/vm_tools/vm_tools-9999.ebuild

Project Member

Comment 18 by bugdroid1@chromium.org, Jan 23 2018

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

commit 460826bfdf7fabf212ccb95a4d4aeb49bb81afec
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Tue Jan 23 06:07:05 2018

chromeos-base: Add tun group

Users in the tun group will have access to /dev/net/tun.

BUG= chromium:786663 
CQ-DEPEND=CL:872197,CL:879481
TEST=manual

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

[rename] https://crrev.com/460826bfdf7fabf212ccb95a4d4aeb49bb81afec/chromeos-base/chromeos-base/chromeos-base-0-r143.ebuild
[modify] https://crrev.com/460826bfdf7fabf212ccb95a4d4aeb49bb81afec/chromeos-base/chromeos-base/chromeos-base-0.ebuild
[add] https://crrev.com/460826bfdf7fabf212ccb95a4d4aeb49bb81afec/chromeos-base/chromeos-base/files/udev-rules/99-tun.rules

Project Member

Comment 19 by bugdroid1@chromium.org, Jan 25 2018

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

commit f004445e47f20b817d9ddb9b6e0972384722441c
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Thu Jan 25 04:24:20 2018

vm_tools: concierge: Set pgid before starting crosvm

When crosvm detects that one or more of its child processes have not
exited in time it "fixes" the glitch by sending SIGKILL to every process
in its process group.  This ends up also killing vm_concierge.

Put crosvm in its own process group so that it cannot kill vm_concierge
in this way.

BUG= chromium:786663 
TEST=stop a vm through concierge_client and see that vm_concierge does
     not get killed

Change-Id: Id2e78484b3b08dd3f09776730f01f70072fe3d3f
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/882192
Reviewed-by: Stephen Barber <smbarber@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/f004445e47f20b817d9ddb9b6e0972384722441c/vm_tools/concierge/virtual_machine.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Jan 25 2018

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

commit a280f19e1a7becfefc00dadcfc280cbac7c90537
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Thu Jan 25 04:24:20 2018

vm_tools: Replace vm_launcher with vm_concierge in the readme

vm_launcher is going to be replaced by vm_concierge.  Update the readme
to reflect this change.

BUG= chromium:786663 
TEST=none

Change-Id: I90eb17c5c0bb3f363d66b32ed7a32e74b3a76a6c
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/882505
Reviewed-by: Stephen Barber <smbarber@chromium.org>

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

Project Member

Comment 21 by bugdroid1@chromium.org, Jan 25 2018

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

commit 3b6aa53dd2be707f1cdcccefcc6e78229ff9da92
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Thu Jan 25 10:43:16 2018

Add crosvm to the wayland group

Add crosvm to the wayland group since it needs access to the wayland
server.  This will also allow us to drop CAP_SETUID and CAP_SETGID from
the capability set that is granted to crosvm.

BUG= chromium:786663 
TEST=display-accts.py

Change-Id: Iafd496c32b8f6a64a244a5ec7abf52781e9f0572
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/885264
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/3b6aa53dd2be707f1cdcccefcc6e78229ff9da92/profiles/base/accounts/group/wayland

Project Member

Comment 22 by bugdroid1@chromium.org, Jan 25 2018

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

commit aba243dd141b2fdd09f563eea749f381ebf46387
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Thu Jan 25 10:43:16 2018

usergroup_baseline: Add crosvm to the wayland group

Add crosvm to the wayland group so that we can stop giving it CAP_SETUID
and CAP_SETGID.

BUG= chromium:786663 
TEST=start a vm with graphics
CQ-DEPEND=CL:885264

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

[modify] https://crrev.com/aba243dd141b2fdd09f563eea749f381ebf46387/cros/test/usergroup_baseline.py

Project Member

Comment 23 by bugdroid1@chromium.org, Jan 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/0ba70d8d3c69a4fa8853d317e2dc1f45dd25acd8

commit 0ba70d8d3c69a4fa8853d317e2dc1f45dd25acd8
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Fri Jan 26 00:34:25 2018

Change the group for the wayland process to crosvm

Now that the crosvm user is part of the wayland group, we don't need to
explicitly set the group of the wayland process to wayland. This also
allows to drop CAP_SETUID and CAP_SETGID from the set of capabilities
granted to crosvm.

BUG= chromium:786663 
TEST=Start a VM with graphics through crosvm
CQ-DEPEND=CL:885264

Change-Id: If0675f60a13314d35baca4657a637fd8c3998668
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/885245
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/0ba70d8d3c69a4fa8853d317e2dc1f45dd25acd8/src/linux.rs
[modify] https://crrev.com/0ba70d8d3c69a4fa8853d317e2dc1f45dd25acd8/src/main.rs

Project Member

Comment 24 by bugdroid1@chromium.org, Jan 26 2018

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

commit 42fbc91c54112f7276ffc0888aa088028b51c93c
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Fri Jan 26 03:23:55 2018

vm_tools: concierge: Drop CAP_SETUID and CAP_SETGID

Now that crosvm no longer needs CAP_SETUID and CAP_SETGID, drop them
from the capability set that's granted to vm_concierge.

BUG= chromium:786663 
TEST=run xmahjongg in the vm
CQ-DEPEND=CL:885245

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

[modify] https://crrev.com/42fbc91c54112f7276ffc0888aa088028b51c93c/vm_tools/init/vm_concierge.conf

Status: Fixed (was: Assigned)
Project Member

Comment 26 by bugdroid1@chromium.org, Feb 14 2018

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

commit 47428f00a6bb94160f0068438c546ce96f358bca
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Wed Feb 14 05:15:57 2018

debugd:  Add dbus methods for starting/stopping vm_concierge

Add dbus methods for starting and stopping the vm concierge service.
This allows us to only start vm_concierge when we are about to use it.

BUG= chromium:786663 
TEST=dbus-send --system --dest=org.chromium.debugd \
         --type=method_call \
         --print-reply --fixed \
         /org/chromium/debugd \
         org.chromium.debugd.StartVmConcierge

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

[modify] https://crrev.com/47428f00a6bb94160f0068438c546ce96f358bca/debugd/src/debugd_dbus_adaptor.cc
[add] https://crrev.com/47428f00a6bb94160f0068438c546ce96f358bca/debugd/src/vm_concierge_tool.cc
[add] https://crrev.com/47428f00a6bb94160f0068438c546ce96f358bca/debugd/src/vm_concierge_tool.h
[modify] https://crrev.com/47428f00a6bb94160f0068438c546ce96f358bca/debugd/dbus_bindings/org.chromium.debugd.xml
[modify] https://crrev.com/47428f00a6bb94160f0068438c546ce96f358bca/debugd/src/debugd_dbus_adaptor.h
[modify] https://crrev.com/47428f00a6bb94160f0068438c546ce96f358bca/debugd/debugd.gyp

Project Member

Comment 27 by bugdroid1@chromium.org, Feb 14 2018

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

commit 84e4695858e64ab10ac09fe026413512d8846b8e
Author: Chirantan Ekbote <chirantan@chromium.org>
Date: Wed Feb 14 05:15:58 2018

crosh: Switch vmc to use concierge

Switch the vmc command over to use concierge.  The first time a user
runs vmc, it will download and mount the termina component, start the
concierge service, use it to start a VM, and then dump the user into a
shell inside the VM.

BUG= chromium:786663 
TEST='vmc start senpai' 'vmc stop senpai'

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

[modify] https://crrev.com/84e4695858e64ab10ac09fe026413512d8846b8e/crosh/crosh

Components: OS>Systems>Containers

Sign in to add a comment