Activity
From 09/26/2010 to 10/25/2010
10/25/2010
- 06:39 pm Revision 49148d15: Move from hand-written man pages to RST/pandoc
- This simplifies the maintenance of the man pages, and unifies the rst-to-*
converter to pandoc. - 02:03 pm Revision 3d889a7d: ConfigWriter: Fix typo in error message parts
- Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com> - 01:47 pm Revision f2165b8a: Simplify and extend the instance OS env
- Some parameters were missing (uuid, c/mtime). We simplify the export
method; unfortunately we cannot simply iterate o... - 12:23 pm Revision 729c4377: Fix QA mixup of node/instance tests
- There are two node tests that are run from RunCommonInstanceTests, which is the
bad place—it causes these node tests ...
10/22/2010
- 06:23 pm Revision eb180fe2: ConfigWriter: prevent using a foreign config
- If the configuration file doesn't denote this node as master, we prevent
startup. This would have detected our previo... - 06:23 pm Revision 21004460: Fix bootstrap.MasterFailover race with watcher
- This fixes a recently diagnosed race condition between master failover
and the watcher.
Currently, the master failov... - 06:23 pm Revision bd407597: ConfigWriter: protect against multiple writers
- This should fix the case where there are two masters that both try to
distribute the configuration file to the cluste... - 06:23 pm Revision 8f065ae2: backend.Upload: switch to utils.SafeWriteFile
- This allows serialization of updates to a given file, with respect to
other cooperating writers.
Signed-off-by: Iust... - 06:22 pm Revision 4138d39f: Add a "safe" file wrapper over WriteFile
- Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com> - 06:21 pm Revision 9e100285: Add functions to read and compare file 'ID's
- Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com> - 03:19 pm Revision 574d1b7b: LUSetInstanceParams: Remove unused attribute
- “os_new” is not used anywhere, removing it.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iusti... - 02:47 pm Revision 69dd363f: Adding backend method to wipe a block device
- Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iusti... - 02:46 pm Revision 6e991d0e: Allow to specify wipe command and flags at configure time
- Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iusti... - 11:42 am Revision c6e85811: Fix remote imports
- A simple typo…
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: René Nussbaumer <rn@google.com> - 11:41 am Revision edb8b377: Fix typo introduced in 8d8c4ef
- Commit 8d8c4ef broke instance reinstall with different OS, due to an
attribute typo.
Signed-off-by: Iustin Pop <iust...
10/21/2010
- 05:03 pm Revision e389d95b: Adjust the error message of setup-ssh if join check fails
- Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iusti... - 04:58 pm Revision 92921ea4: Add design for htools/Ganeti 2.3 sync
- This is a work in progress, will be modified along with the progress
of Ganeti 2.3. - 02:17 pm Revision e725bee0: Fix clearing of the default iallocator
- And also update the man page.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@... - 12:57 pm Revision 8d8c4eff: gnt-instance reinstall: Allow overriding OS parameters
- This allows OS installation scripts to make use of special parameters,
e.g. to retain some data on reinstallation.
T...
10/20/2010
- 07:18 pm Revision b44bd844: Add option to ignore offline node on instance start/stop
- In some cases it can be useful to mark as an instance as started
or stopped while its primary node is offline. With t... - 03:53 pm Revision 691c81b7: utils: Add function to find items in dictionary using regex
- This basically extracts a small piece of code from ganeti-rapi and puts
it into a utility function. RAPI resources ar... - 03:05 pm Revision 4d2bd00a: QA RAPI: Test HTTP 404 and 501
- This tests the HTTP Not Found and Not Implemented errors.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Revi... - 03:04 pm Revision d0cb68cb: QA: Add test for “gnt-node modify”
- Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
10/19/2010
- 05:29 pm Revision b18ecea2: Let gnt-cluster support prealloc_wipe_disks
- This includes a new option gnt-cluster init and approriate output
on gnt-cluster info. Though gnt-cluster modify is n... - 02:44 pm Revision b02e3172: Merge branch 'devel-2.2'
- * devel-2.2:
Bump version to 2.2.1, update NEWS
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by:... - 02:29 pm Revision dcb95afb: Bump version to 2.2.1, update NEWS
- Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
10/15/2010
- 06:34 pm Revision 25c45709: Merge branch 'devel-2.2'
- * devel-2.2:
http.client: Disable SSL session ID cache
Crude workaround for pylint breakage
Signed-off-by: Micha... - 06:21 pm Revision 4ba4fe14: http.client: Disable SSL session ID cache
- This patch disables the SSL session ID cache for all cURL operations.
This is needed because http.HttpBase's PyOpenSS... - 06:13 pm Revision 7b70d7a8: http.client: Disable SSL session ID cache
- This patch disables the SSL session ID cache for all cURL operations.
This is needed because http.HttpBase's PyOpenSS... - 06:01 pm Revision f1763373: Crude workaround for pylint breakage
- The way we currently call pylint, the exact order it inspect modules in
lib/http/ depends on the filesystem order. Th... - 05:24 pm Revision c6e7edb8: http.auth: Fix docstring error
- This was missing from commit 2287b920.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop... - 05:24 pm Revision b3a8bebf: devnotes.rst: Remove hardcoded Python version
- Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
10/14/2010
- 03:44 pm Revision 744061f3: Merge branch 'stable-2.2'
- * stable-2.2:
Release 2.2.1~rc1
Require aclocal 1.11.1 or above for devel/release
Revert "Require aclocal 1.11.... - 03:29 pm Revision 76917d97: Brown-bag fix for leftover comment
- I did forgot this in the original patch. Sorry!!!!
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Guido ... - 02:53 pm Revision 8201b996: Rework QA interaction with the watcher
- The interaction with cron-launched watcher is a well-known failure mode of QA:
---- 2010-10-14 06:54:55.464839 time=... - 02:53 pm Revision 46c8a6ab: Add a new watcher option --ignore-pause
- During cluster maintenance, when the watcher is disabled, it's useful to
run it just once. This is incovenient to do ... - 02:13 pm Revision 24440be4: Release 2.2.1~rc1
- Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com> - 01:52 pm Revision 7dcadb74: Merge branch 'stable-2.2' into devel-2.2
- * stable-2.2:
Require aclocal 1.11.1 or above for devel/release
Revert "Require aclocal 1.11.1 or above for autog...
10/13/2010
- 04:54 pm Revision ac96953d: Fix compatibility with Pyinotify 0.8
- I didn't know why the code previously used
“pyinotify.EventsCodes.ALL_FLAGS” instead of using the flags from
“pyinoti... - 03:18 pm Revision 073c31a5: ganeti-rapi: Watch directory, not file for user file changes
- We noticed several issues when just watching the file, among them race
conditions upon replacing the file using renam... - 03:18 pm Revision e543a42f: Extract base class from SingleFileEventHandler
- The base class can contain code useful to other inotify users.
As it is “SingleFileEventHandler” can not be used in g... - 03:18 pm Revision 2287b920: http.auth.ReadPasswordFile: Don't read file directly
- Reading the file before this function allows for better error
reporting.
Signed-off-by: Michael Hanselmann <hansmi@g... - 02:44 pm Revision 62e0e880: Move the parameter types to their own module
- This is for cleanup, and for later reuse in other parts of the code
(outside of LUs).
Signed-off-by: Iustin Pop <ius... - 02:42 pm Revision 4b63dc7a: "Fix" handling of old software versions on startup
- Currently, masterd startup with old software versions is very confusing
for users: we present two tracebacks, with a ... - 02:14 pm Revision 3ff614e2: Require aclocal 1.11.1 or above for devel/release
- 1.11.1 is the version in squeeze and lucid, and we know it works. We
also know that 1.10.1 in hardy and lenny doesn't... - 01:09 pm Revision df304c82: Revert "Require aclocal 1.11.1 or above for autogen.sh"
- The comparison is incorrect, and the check also breaks daily work on
autobuilders and older distros.
This reverts co... - 12:59 pm Revision 90224407: Export more information via LUQueryInstances/RAPI
- Currently, the custom instance parameters (hv, be, nicp) are only
queryable via LUQueryInstanceData. LUQueryInstance ... - 11:45 am Revision 3d95cd0d: Add mising --units in gnt-instance list man page
- Also fixes some wrapping issues, and one typo.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Ha...
10/12/2010
- 07:09 pm Revision 2d93a6a7: Set list of trusted SSL CAs for client to verify
- As per SSL_CTX_set_client_CA_list(3SSL), set the list of acceptable CAs
advertised to SSL clients to include the serv... - 06:59 pm Revision dbc4dda7: Require aclocal 1.11.1 or above for autogen.sh
- 1.11.1 is the version in squeeze and lucid, and we know it works. We
also know that 1.10.1 in hardy and lenny doesn't... - 06:25 pm Revision bd631b02: Show instance state in instance console failures
- The current message is not entirely clear, as it doesn't show the reason
why the instance is not running.
Signed-off... - 04:32 pm Revision 614244bd: Fix epydoc errors
- And sorry!
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com> - 03:48 pm Revision 9e49dfc5: jqueue: Fix bug when cancelling jobs
- If a job was cancelled while it was waiting for locks, an assertion
would've failed. This patch fixes the problem and... - 03:48 pm Revision 900df6cd: mcpu: Raise directly in _AcquireLocks
- Removes code duplication.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@goog... - 03:48 pm Revision b8802cc4: jqueue/gnt-job: Add job priority fields for display
- These fields can help with debugging.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop ... - 03:48 pm Revision 320d1daf: jqueue: Resume jobs from “waitlock” status (2nd try)
- Commit 5ef699a0e had to roll back an earlier attempt at implementing
this. With the improved job queue processer, thi... - 01:57 pm Revision 3d914585: Add prealloc_wipe_disks as a cluster-wide configuration variable
- This is the first step for the support of wiping block devices prior
to creation of the instance.
Signed-off-by: Ren...
10/11/2010
- 04:16 pm Revision 69750d44: Merge branch 'devel-2.2'
- * devel-2.2:
RPC: disable curl's Expect header
Conflicts:
lib/rpc.py (trivial, copyright header)
Signed-off-by: ... - 04:15 pm Revision 8e29563f: RPC: disable curl's Expect header
- This patch solves the very slow (~8-9 seconds) gnt-instance modify
behaviour. Well, it solves in general the slow RPC...
10/08/2010
- 08:46 pm Revision dedebc6b: Merge branch 'devel-2.2'
- * devel-2.2:
Release Ganeti 2.2.0.1
Bump version to 2.2.1~rc0
Signed-off-by: Guido Trotter <ultrotter@google.com... - 08:39 pm Revision 2759d988: Merge commit 'v2.2.0.1' into stable-2.2
- * commit 'v2.2.0.1':
Release Ganeti 2.2.0.1
Conflicts:
NEWS
- merge
configure.ac
- keep 2.2.1~rc0 version
... - 08:25 pm Revision bf21f985: Release Ganeti 2.2.0.1
- 2.2.0 was built with old autotools, and it's incompatible with Python
2.6. Rebuilding with a newer autotools version ... - 03:55 pm Revision f89d59b9: Change QA log output
- Currently, the logging in QA doesn't show the duration of the various
steps, and if it is needed one has to perform l...
10/07/2010
- 06:10 pm Revision 06fef5e0: gnt-job cancel: Use non-zero exit status if canceling failed
- This allows the use “gnt-job cancel” in scripts.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: ... - 06:10 pm Revision 86b16e9d: jqueue, CancelJob: Check status only once per call
- This simplifies the code a bit--the status is only checked once.
Signed-off-by: Michael Hanselmann <hansmi@google.co... - 04:16 pm Revision fad3096a: Bump version to 2.2.1~rc0
- Also update NEWS.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com> - 04:09 pm Revision ca8e1c6a: Update NEWS file for 0.2.7 release
- 03:42 pm Revision e3ae9508: Fix some warnings in unittests
- 03:17 pm Revision ebdefe95: Merge branch 'devel-2.2'
- * devel-2.2:
Try again to fix the inter-cluster move QA test
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewe... - 03:16 pm Revision 638a7266: Try again to fix the inter-cluster move QA test
- This time, we re-establish the old pri/sec nodes corretly. Unfortunately this
will require now a 3-node cluster at le... - 11:32 am Revision ed3920e3: Fix a rare bug in StartDaemonChild and GenericMain
- I've seen cases where the result from str(sys.exc_info()[1]) is ""; this
breaks the error reporting as the parent rel... - 11:31 am Revision 3e87c1bf: Enhance the error reporting
- Since daemon startup error will be often related to socket errors, so it
makes sense to change the original reporting... - 11:31 am Revision 3ee53f1f: Convert ganeti daemons to the three-stage startup
- This makes almost all of the daemons show error messages, and not return
until they finished listening on the appropr... - 11:31 am Revision b78aa8c2: Change daemon.GenericMain/utils.Daemonize workflow
- This patch copies the pipe-based error reporting functionality from
utils.StartDaemon (I gave up for now on tryin to ... - 11:31 am Revision b42ea9ed: Change utils.GenericMain protocol
- Currently, GenericMain does a two-staged workflow:
- Check, before forking
- then Exec, after forking
This means we... - 11:31 am Revision 5c4d37f9: Use only one version of WritePidFile
- This patch merges the pid file handling used for ganeti-* daemons and
impexp daemons. The latter version is used, sin... - 11:30 am Revision 79634555: Abstract daemon file descriptor setup
- This does some slight changes:
- Daemonize() doesn't explicitly close the file-descriptors anymore, but
only impli... - 11:30 am Revision 0260032c: Abstract some daemon functionality
- This patch abstracts the chdir/umask/setsid functionality, which is
identical in the code functions, just that Daemon...
10/06/2010
- 04:23 pm Revision 4886952e: Add a hack for normalized CPU values in hspace
- Currently, the key metrics/tiered spec computations show the virtual cpu
count. However, since we do have a maximum r... - 03:56 pm Revision 03c6d8fa: Improve the error message for tiered alloc option
- 03:39 pm Revision 50eaae52: Merge branch 'devel-2.2' into master
- * devel-2.2:
QA: Fix instance move tests
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hansel... - 03:38 pm Revision 677e16eb: QA: Fix instance move tests
- The instance move tests were moving the instance from node pair (A,_) to
(B, A), and left it there. This patch makes ...
10/05/2010
- 06:08 pm Revision 72884fef: Merge branch 'devel-2.2'
- * devel-2.2:
Add simple unittest for utils.CommaJoin
LUDelTags: Improve formatting of error message
LUGetTags: ... - 05:59 pm Revision 750022e0: Add simple unittest for utils.CommaJoin
- Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com> - 05:59 pm Revision 9fc58eac: Export VG name via LUQueryConfigValues
- This will be used by LUXI client programs to display the VG name.
Signed-off-by: Michael Hanselmann <hansmi@google.c... - 05:59 pm Revision f1b083ce: gnt-cluster: Replace hardcoded “xenvg” with value retrieved from master
- This fixes issue 125 (http://code.google.com/p/ganeti/issues/detail?id=125)
Signed-off-by: Michael Hanselmann <hansm... - 05:59 pm Revision 91c69b44: LUDelTags: Improve formatting of error message
- Use utils.CommaJoin to add spaces after comma, clean up code a bit.
Before: Tag(s) 'bar','baz','foo','moo' not found... - 05:59 pm Revision 60db9336: LUGetTags: Acquire locks in shared mode
- Retrieving tags can be done while the lock is shared. Only writing
needs to be exclusive.
Also add a FIXME for clust... - 05:59 pm Revision 845c79d8: cli: Move parsing of --net option to separate function
- This function will also be used in tools/move-instance.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Review... - 05:59 pm Revision a111ebde: move-instance: Allow overriding instance parameters
- When moving a single instance within the same cluster, the NIC
is not allowed to re-use an existing MAC address. To a... - 05:59 pm Revision a889c536: RAPI QA: Override MAC address when moving instance
- This will make this test work again.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <... - 05:51 pm Revision e32e7886: Clean up Ganeti 2.3 design document
- - Typos
- Fix capitalization
- Fix quoting in some places
- Rewrite part of privilege separation section to
match w... - 05:50 pm Revision 1010ec70: QA: Enable all tests by default
- This patch enables all tests by default, unless when they're
explicitely disabled in the config file. This will make ... - 05:50 pm Revision a705dc05: qa_config: Use ganeti.serializer for loading config
- Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com> - 04:54 pm Revision 9d3015f9: kvm: collapse two consecutive extend calls
- Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Iustin Pop <iustin@google.com> - 04:45 pm Revision 4f958b0b: kvm: Introduce support for -mem-path
- Using hugepages, KVM instances can get a good performance boost. To
activate that, we need to pass the -mem-path argu... - 12:23 pm Revision cf10a26f: Merge branch 'devel-2.2'
- * devel-2.2:
Rename the _oss cluster vars to _os
Conflicts:
lib/objects.py (trivial, strange that this one, and o... - 12:11 pm Revision 87b2cd45: Rename the _oss cluster vars to _os
- Per the mailing list discussion, rename _oss to _os, both in cluster parameters
and in the rest of the code.
This is... - 12:11 pm Revision df5758b1: Merge branch 'devel-2.2'
- * devel-2.2:
gnt-job info: Sort input fields
KVM: Add function to check the hypervisor version
Bump version to ...
10/04/2010
- 07:48 pm Revision 052ee117: Merge branch 'stable-2.2' into devel-2.2
- * stable-2.2:
Bump version to 2.2.0, update NEWS
Fix instance rename regression from 3fe11ba3
Signed-off-by: Mic... - 07:40 pm Revision 598b5255: gnt-job info: Sort input fields
- This helps to find a value for complex opcodes.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: I... - 07:06 pm Revision b52d85c1: KVM: Add function to check the hypervisor version
- Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com> - 06:29 pm Revision 83e90c39: Bump version to 2.2.0, update NEWS
- Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com> - 05:47 pm Revision b2a85958: Fix instance rename regression from 3fe11ba3
- Committ 3fe11ba3 broke the instance rename as we don't use the FQDN
anymore. This fixes it.
Signed-off-by: Iustin Po...
09/30/2010
- 08:23 pm Revision e964cc85: Fix instance rename regression from 3fe11ba3
- Committ 3fe11ba3 broke the instance rename as we don't use the FQDN
anymore. This fixes it.
Signed-off-by: Iustin Po... - 07:20 pm Revision 44c15b81: Update RAPI documentation for /2/nodes/[node_name]/migrate
- This was forgotten in commit 52194140.
Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop... - 03:10 am Revision 21674464: Sort OS names and variants in LUDiagnoseOS
- The OS list and variants as returned from LUDiagnoseOS is not sorted,
and gnt-instance reinstall doesn't sort it eith... - 03:10 am Revision e1df06f2: Add some trivial QA tests for the new OS states
- Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michael ... - 03:10 am Revision d22dfef7: Change behaviour of OpDiagnoseOS w.r.t. 'valid'
- This patch changes the behaviour of OpDiagnoseOS with regards to the
'valid' field to be similar to the one for the h... - 03:10 am Revision 61a14bb3: Allow gnt-os modify to change the new OS params
- Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com> - 03:10 am Revision cd14c16c: Add two more _T-type tests
- These are useful for more in-depth checking of some kinds of arguments.
Signed-off-by: Iustin Pop <iustin@google.com... - 03:10 am Revision c950e9f2: Add blacklisted/hidden OS support in LUDiagnoseOS
- This changes the behaviour of LUDiagnoseOS significantly.
The addition of hidden/blacklisted OSes would mean that ea... - 03:10 am Revision fc31fadd: Restrict blacklisted OSes in instance installation
- Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com> - 03:09 am Revision 546b1111: Add two new cluster settings
- The new variables are:
- a list of hidden OSes, that should not be displayed to the users in
interactive selection... - 03:09 am Revision 870dc44c: Abstract OS name/variant functions
- Currently, the computation of the 'pure' name or the variant is
hardcoded and spread around the functions that need i... - 03:09 am Revision 677a6451: Add OS new states to the design doc
- Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com> - 03:08 am Revision f0f7293f: Remove the RPC changes from the 2.2 design
- These were not implemented.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Michael Hanselmann <hansmi@go... - 03:06 am Revision 2f2f1289: Remove 'Detailed Design' from design-2.2.rst
- This also bumps up the rest of the headings.
Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Guido Trotte...
09/29/2010
- 05:36 pm Revision 92ae7daf: gnt-debug: Test job submission as part of “test-jobqueue”
- This checks whether jobs with invalid priorities are rejected.
At the same time it tests SubmitJob and SubmitManyJobs... - 02:42 pm Revision 485ba212: Avoid nodegroup name/uuid conflicts
- Forbid nodegroups to be called with a name that matches the UUID regular
expression. Uppercase versions are forbidden... - 02:42 pm Revision 05636402: Move the uuid regexp to utils.py
- Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
Also available in: Atom