mesos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mesos ReviewBot" <...@mesos.apache.org>
Subject Re: Review Request 27531: Update Master metrics to match task source and reason scheme.
Date Mon, 03 Nov 2014 19:18:08 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/27531/#review59615
-----------------------------------------------------------


Patch looks great!

Reviews applied: [26817, 26382, 27531]

All tests passed.

- Mesos ReviewBot


On Nov. 3, 2014, 6:24 p.m., Dominic Hamon wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/27531/
> -----------------------------------------------------------
> 
> (Updated Nov. 3, 2014, 6:24 p.m.)
> 
> 
> Review request for mesos, Tobias Weingartner and Vinod Kone.
> 
> 
> Bugs: MESOS-1830
>     https://issues.apache.org/jira/browse/MESOS-1830
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Update metrics in Master to match the source and reason split for task statuses.
> 
> 
> Diffs
> -----
> 
>   src/master/master.hpp b1a2cd0f51f89d6dabbccaa67e0411fc55a4272f 
>   src/master/master.cpp 762d2ff6c168ac212f70b43275692a77496a7fcd 
>   src/tests/master_tests.cpp 2e525749247626c05efb2f54a707599facb114b6 
> 
> Diff: https://reviews.apache.org/r/27531/diff/
> 
> 
> Testing
> -------
> 
> make check
> run master and check endpoint:
> 
> {
> ...
> master/task_error/source_executor/reason_executor_terminated: 0,
> master/task_error/source_executor/reason_executor_unregistered: 0,
> master/task_error/source_executor/reason_framework_removed: 0,
> master/task_error/source_executor/reason_gc_error: 0,
> master/task_error/source_executor/reason_invalid_frameworkid: 0,
> master/task_error/source_executor/reason_invalid_offers: 0,
> master/task_error/source_executor/reason_master_disconnected: 0,
> master/task_error/source_executor/reason_reconciliation: 0,
> master/task_error/source_executor/reason_slave_disconnected: 0,
> master/task_error/source_executor/reason_slave_removed: 0,
> master/task_error/source_executor/reason_slave_restarted: 0,
> master/task_error/source_executor/reason_slave_unknown: 0,
> master/task_error/source_executor/reason_task_invalid: 0,
> master/task_error/source_executor/reason_task_unauthorized: 0,
> master/task_error/source_executor/reason_task_unknown: 0,
> master/task_error/source_master/reason_executor_terminated: 0,
> master/task_error/source_master/reason_executor_unregistered: 0,
> master/task_error/source_master/reason_framework_removed: 0,
> master/task_error/source_master/reason_gc_error: 0,
> master/task_error/source_master/reason_invalid_frameworkid: 0,
> master/task_error/source_master/reason_invalid_offers: 0,
> master/task_error/source_master/reason_master_disconnected: 0,
> master/task_error/source_master/reason_reconciliation: 0,
> master/task_error/source_master/reason_slave_disconnected: 0,
> master/task_error/source_master/reason_slave_removed: 0,
> master/task_error/source_master/reason_slave_restarted: 0,
> master/task_error/source_master/reason_slave_unknown: 0,
> master/task_error/source_master/reason_task_invalid: 0,
> master/task_error/source_master/reason_task_unauthorized: 0,
> master/task_error/source_master/reason_task_unknown: 0,
> master/task_error/source_slave/reason_executor_terminated: 0,
> master/task_error/source_slave/reason_executor_unregistered: 0,
> master/task_error/source_slave/reason_framework_removed: 0,
> master/task_error/source_slave/reason_gc_error: 0,
> master/task_error/source_slave/reason_invalid_frameworkid: 0,
> master/task_error/source_slave/reason_invalid_offers: 0,
> master/task_error/source_slave/reason_master_disconnected: 0,
> master/task_error/source_slave/reason_reconciliation: 0,
> master/task_error/source_slave/reason_slave_disconnected: 0,
> master/task_error/source_slave/reason_slave_removed: 0,
> master/task_error/source_slave/reason_slave_restarted: 0,
> master/task_error/source_slave/reason_slave_unknown: 0,
> master/task_error/source_slave/reason_task_invalid: 0,
> master/task_error/source_slave/reason_task_unauthorized: 0,
> master/task_error/source_slave/reason_task_unknown: 0,
> master/task_failed/source_executor/reason_executor_terminated: 0,
> master/task_failed/source_executor/reason_executor_unregistered: 0,
> master/task_failed/source_executor/reason_framework_removed: 0,
> master/task_failed/source_executor/reason_gc_error: 0,
> master/task_failed/source_executor/reason_invalid_frameworkid: 0,
> master/task_failed/source_executor/reason_invalid_offers: 0,
> master/task_failed/source_executor/reason_master_disconnected: 0,
> master/task_failed/source_executor/reason_reconciliation: 0,
> master/task_failed/source_executor/reason_slave_disconnected: 0,
> master/task_failed/source_executor/reason_slave_removed: 0,
> master/task_failed/source_executor/reason_slave_restarted: 0,
> master/task_failed/source_executor/reason_slave_unknown: 0,
> master/task_failed/source_executor/reason_task_invalid: 0,
> master/task_failed/source_executor/reason_task_unauthorized: 0,
> master/task_failed/source_executor/reason_task_unknown: 0,
> master/task_failed/source_master/reason_executor_terminated: 0,
> master/task_failed/source_master/reason_executor_unregistered: 0,
> master/task_failed/source_master/reason_framework_removed: 0,
> master/task_failed/source_master/reason_gc_error: 0,
> master/task_failed/source_master/reason_invalid_frameworkid: 0,
> master/task_failed/source_master/reason_invalid_offers: 0,
> master/task_failed/source_master/reason_master_disconnected: 0,
> master/task_failed/source_master/reason_reconciliation: 0,
> master/task_failed/source_master/reason_slave_disconnected: 0,
> master/task_failed/source_master/reason_slave_removed: 0,
> master/task_failed/source_master/reason_slave_restarted: 0,
> master/task_failed/source_master/reason_slave_unknown: 0,
> master/task_failed/source_master/reason_task_invalid: 0,
> master/task_failed/source_master/reason_task_unauthorized: 0,
> master/task_failed/source_master/reason_task_unknown: 0,
> master/task_failed/source_slave/reason_executor_terminated: 0,
> master/task_failed/source_slave/reason_executor_unregistered: 0,
> master/task_failed/source_slave/reason_framework_removed: 0,
> master/task_failed/source_slave/reason_gc_error: 0,
> master/task_failed/source_slave/reason_invalid_frameworkid: 0,
> master/task_failed/source_slave/reason_invalid_offers: 0,
> master/task_failed/source_slave/reason_master_disconnected: 0,
> master/task_failed/source_slave/reason_reconciliation: 0,
> master/task_failed/source_slave/reason_slave_disconnected: 0,
> master/task_failed/source_slave/reason_slave_removed: 0,
> master/task_failed/source_slave/reason_slave_restarted: 0,
> master/task_failed/source_slave/reason_slave_unknown: 0,
> master/task_failed/source_slave/reason_task_invalid: 0,
> master/task_failed/source_slave/reason_task_unauthorized: 0,
> master/task_failed/source_slave/reason_task_unknown: 0,
> master/task_finished/source_executor/reason_executor_terminated: 0,
> master/task_finished/source_executor/reason_executor_unregistered: 0,
> master/task_finished/source_executor/reason_framework_removed: 0,
> master/task_finished/source_executor/reason_gc_error: 0,
> master/task_finished/source_executor/reason_invalid_frameworkid: 0,
> master/task_finished/source_executor/reason_invalid_offers: 0,
> master/task_finished/source_executor/reason_master_disconnected: 0,
> master/task_finished/source_executor/reason_reconciliation: 0,
> master/task_finished/source_executor/reason_slave_disconnected: 0,
> master/task_finished/source_executor/reason_slave_removed: 0,
> master/task_finished/source_executor/reason_slave_restarted: 0,
> master/task_finished/source_executor/reason_slave_unknown: 0,
> master/task_finished/source_executor/reason_task_invalid: 0,
> master/task_finished/source_executor/reason_task_unauthorized: 0,
> master/task_finished/source_executor/reason_task_unknown: 0,
> master/task_finished/source_master/reason_executor_terminated: 0,
> master/task_finished/source_master/reason_executor_unregistered: 0,
> master/task_finished/source_master/reason_framework_removed: 0,
> master/task_finished/source_master/reason_gc_error: 0,
> master/task_finished/source_master/reason_invalid_frameworkid: 0,
> master/task_finished/source_master/reason_invalid_offers: 0,
> master/task_finished/source_master/reason_master_disconnected: 0,
> master/task_finished/source_master/reason_reconciliation: 0,
> master/task_finished/source_master/reason_slave_disconnected: 0,
> master/task_finished/source_master/reason_slave_removed: 0,
> master/task_finished/source_master/reason_slave_restarted: 0,
> master/task_finished/source_master/reason_slave_unknown: 0,
> master/task_finished/source_master/reason_task_invalid: 0,
> master/task_finished/source_master/reason_task_unauthorized: 0,
> master/task_finished/source_master/reason_task_unknown: 0,
> master/task_finished/source_slave/reason_executor_terminated: 0,
> master/task_finished/source_slave/reason_executor_unregistered: 0,
> master/task_finished/source_slave/reason_framework_removed: 0,
> master/task_finished/source_slave/reason_gc_error: 0,
> master/task_finished/source_slave/reason_invalid_frameworkid: 0,
> master/task_finished/source_slave/reason_invalid_offers: 0,
> master/task_finished/source_slave/reason_master_disconnected: 0,
> master/task_finished/source_slave/reason_reconciliation: 0,
> master/task_finished/source_slave/reason_slave_disconnected: 0,
> master/task_finished/source_slave/reason_slave_removed: 0,
> master/task_finished/source_slave/reason_slave_restarted: 0,
> master/task_finished/source_slave/reason_slave_unknown: 0,
> master/task_finished/source_slave/reason_task_invalid: 0,
> master/task_finished/source_slave/reason_task_unauthorized: 0,
> master/task_finished/source_slave/reason_task_unknown: 0,
> master/task_killed/source_executor/reason_executor_terminated: 0,
> master/task_killed/source_executor/reason_executor_unregistered: 0,
> master/task_killed/source_executor/reason_framework_removed: 0,
> master/task_killed/source_executor/reason_gc_error: 0,
> master/task_killed/source_executor/reason_invalid_frameworkid: 0,
> master/task_killed/source_executor/reason_invalid_offers: 0,
> master/task_killed/source_executor/reason_master_disconnected: 0,
> master/task_killed/source_executor/reason_reconciliation: 0,
> master/task_killed/source_executor/reason_slave_disconnected: 0,
> master/task_killed/source_executor/reason_slave_removed: 0,
> master/task_killed/source_executor/reason_slave_restarted: 0,
> master/task_killed/source_executor/reason_slave_unknown: 0,
> master/task_killed/source_executor/reason_task_invalid: 0,
> master/task_killed/source_executor/reason_task_unauthorized: 0,
> master/task_killed/source_executor/reason_task_unknown: 0,
> master/task_killed/source_master/reason_executor_terminated: 0,
> master/task_killed/source_master/reason_executor_unregistered: 0,
> master/task_killed/source_master/reason_framework_removed: 0,
> master/task_killed/source_master/reason_gc_error: 0,
> master/task_killed/source_master/reason_invalid_frameworkid: 0,
> master/task_killed/source_master/reason_invalid_offers: 0,
> master/task_killed/source_master/reason_master_disconnected: 0,
> master/task_killed/source_master/reason_reconciliation: 0,
> master/task_killed/source_master/reason_slave_disconnected: 0,
> master/task_killed/source_master/reason_slave_removed: 0,
> master/task_killed/source_master/reason_slave_restarted: 0,
> master/task_killed/source_master/reason_slave_unknown: 0,
> master/task_killed/source_master/reason_task_invalid: 0,
> master/task_killed/source_master/reason_task_unauthorized: 0,
> master/task_killed/source_master/reason_task_unknown: 0,
> master/task_killed/source_slave/reason_executor_terminated: 0,
> master/task_killed/source_slave/reason_executor_unregistered: 0,
> master/task_killed/source_slave/reason_framework_removed: 0,
> master/task_killed/source_slave/reason_gc_error: 0,
> master/task_killed/source_slave/reason_invalid_frameworkid: 0,
> master/task_killed/source_slave/reason_invalid_offers: 0,
> master/task_killed/source_slave/reason_master_disconnected: 0,
> master/task_killed/source_slave/reason_reconciliation: 0,
> master/task_killed/source_slave/reason_slave_disconnected: 0,
> master/task_killed/source_slave/reason_slave_removed: 0,
> master/task_killed/source_slave/reason_slave_restarted: 0,
> master/task_killed/source_slave/reason_slave_unknown: 0,
> master/task_killed/source_slave/reason_task_invalid: 0,
> master/task_killed/source_slave/reason_task_unauthorized: 0,
> master/task_killed/source_slave/reason_task_unknown: 0,
> master/task_lost/source_executor/reason_executor_terminated: 0,
> master/task_lost/source_executor/reason_executor_unregistered: 0,
> master/task_lost/source_executor/reason_framework_removed: 0,
> master/task_lost/source_executor/reason_gc_error: 0,
> master/task_lost/source_executor/reason_invalid_frameworkid: 0,
> master/task_lost/source_executor/reason_invalid_offers: 0,
> master/task_lost/source_executor/reason_master_disconnected: 0,
> master/task_lost/source_executor/reason_reconciliation: 0,
> master/task_lost/source_executor/reason_slave_disconnected: 0,
> master/task_lost/source_executor/reason_slave_removed: 0,
> master/task_lost/source_executor/reason_slave_restarted: 0,
> master/task_lost/source_executor/reason_slave_unknown: 0,
> master/task_lost/source_executor/reason_task_invalid: 0,
> master/task_lost/source_executor/reason_task_unauthorized: 0,
> master/task_lost/source_executor/reason_task_unknown: 0,
> master/task_lost/source_master/reason_executor_terminated: 0,
> master/task_lost/source_master/reason_executor_unregistered: 0,
> master/task_lost/source_master/reason_framework_removed: 0,
> master/task_lost/source_master/reason_gc_error: 0,
> master/task_lost/source_master/reason_invalid_frameworkid: 0,
> master/task_lost/source_master/reason_invalid_offers: 0,
> master/task_lost/source_master/reason_master_disconnected: 0,
> master/task_lost/source_master/reason_reconciliation: 0,
> master/task_lost/source_master/reason_slave_disconnected: 0,
> master/task_lost/source_master/reason_slave_removed: 0,
> master/task_lost/source_master/reason_slave_restarted: 0,
> master/task_lost/source_master/reason_slave_unknown: 0,
> master/task_lost/source_master/reason_task_invalid: 0,
> master/task_lost/source_master/reason_task_unauthorized: 0,
> master/task_lost/source_master/reason_task_unknown: 0,
> master/task_lost/source_slave/reason_executor_terminated: 0,
> master/task_lost/source_slave/reason_executor_unregistered: 0,
> master/task_lost/source_slave/reason_framework_removed: 0,
> master/task_lost/source_slave/reason_gc_error: 0,
> master/task_lost/source_slave/reason_invalid_frameworkid: 0,
> master/task_lost/source_slave/reason_invalid_offers: 0,
> master/task_lost/source_slave/reason_master_disconnected: 0,
> master/task_lost/source_slave/reason_reconciliation: 0,
> master/task_lost/source_slave/reason_slave_disconnected: 0,
> master/task_lost/source_slave/reason_slave_removed: 0,
> master/task_lost/source_slave/reason_slave_restarted: 0,
> master/task_lost/source_slave/reason_slave_unknown: 0,
> master/task_lost/source_slave/reason_task_invalid: 0,
> master/task_lost/source_slave/reason_task_unauthorized: 0,
> master/task_lost/source_slave/reason_task_unknown: 0,
> master/task_running/source_executor/reason_executor_terminated: 0,
> master/task_running/source_executor/reason_executor_unregistered: 0,
> master/task_running/source_executor/reason_framework_removed: 0,
> master/task_running/source_executor/reason_gc_error: 0,
> master/task_running/source_executor/reason_invalid_frameworkid: 0,
> master/task_running/source_executor/reason_invalid_offers: 0,
> master/task_running/source_executor/reason_master_disconnected: 0,
> master/task_running/source_executor/reason_reconciliation: 0,
> master/task_running/source_executor/reason_slave_disconnected: 0,
> master/task_running/source_executor/reason_slave_removed: 0,
> master/task_running/source_executor/reason_slave_restarted: 0,
> master/task_running/source_executor/reason_slave_unknown: 0,
> master/task_running/source_executor/reason_task_invalid: 0,
> master/task_running/source_executor/reason_task_unauthorized: 0,
> master/task_running/source_executor/reason_task_unknown: 0,
> master/task_running/source_master/reason_executor_terminated: 0,
> master/task_running/source_master/reason_executor_unregistered: 0,
> master/task_running/source_master/reason_framework_removed: 0,
> master/task_running/source_master/reason_gc_error: 0,
> master/task_running/source_master/reason_invalid_frameworkid: 0,
> master/task_running/source_master/reason_invalid_offers: 0,
> master/task_running/source_master/reason_master_disconnected: 0,
> master/task_running/source_master/reason_reconciliation: 0,
> master/task_running/source_master/reason_slave_disconnected: 0,
> master/task_running/source_master/reason_slave_removed: 0,
> master/task_running/source_master/reason_slave_restarted: 0,
> master/task_running/source_master/reason_slave_unknown: 0,
> master/task_running/source_master/reason_task_invalid: 0,
> master/task_running/source_master/reason_task_unauthorized: 0,
> master/task_running/source_master/reason_task_unknown: 0,
> master/task_running/source_slave/reason_executor_terminated: 0,
> master/task_running/source_slave/reason_executor_unregistered: 0,
> master/task_running/source_slave/reason_framework_removed: 0,
> master/task_running/source_slave/reason_gc_error: 0,
> master/task_running/source_slave/reason_invalid_frameworkid: 0,
> master/task_running/source_slave/reason_invalid_offers: 0,
> master/task_running/source_slave/reason_master_disconnected: 0,
> master/task_running/source_slave/reason_reconciliation: 0,
> master/task_running/source_slave/reason_slave_disconnected: 0,
> master/task_running/source_slave/reason_slave_removed: 0,
> master/task_running/source_slave/reason_slave_restarted: 0,
> master/task_running/source_slave/reason_slave_unknown: 0,
> master/task_running/source_slave/reason_task_invalid: 0,
> master/task_running/source_slave/reason_task_unauthorized: 0,
> master/task_running/source_slave/reason_task_unknown: 0,
> master/task_staging/source_executor/reason_executor_terminated: 0,
> master/task_staging/source_executor/reason_executor_unregistered: 0,
> master/task_staging/source_executor/reason_framework_removed: 0,
> master/task_staging/source_executor/reason_gc_error: 0,
> master/task_staging/source_executor/reason_invalid_frameworkid: 0,
> master/task_staging/source_executor/reason_invalid_offers: 0,
> master/task_staging/source_executor/reason_master_disconnected: 0,
> master/task_staging/source_executor/reason_reconciliation: 0,
> master/task_staging/source_executor/reason_slave_disconnected: 0,
> master/task_staging/source_executor/reason_slave_removed: 0,
> master/task_staging/source_executor/reason_slave_restarted: 0,
> master/task_staging/source_executor/reason_slave_unknown: 0,
> master/task_staging/source_executor/reason_task_invalid: 0,
> master/task_staging/source_executor/reason_task_unauthorized: 0,
> master/task_staging/source_executor/reason_task_unknown: 0,
> master/task_staging/source_master/reason_executor_terminated: 0,
> master/task_staging/source_master/reason_executor_unregistered: 0,
> master/task_staging/source_master/reason_framework_removed: 0,
> master/task_staging/source_master/reason_gc_error: 0,
> master/task_staging/source_master/reason_invalid_frameworkid: 0,
> master/task_staging/source_master/reason_invalid_offers: 0,
> master/task_staging/source_master/reason_master_disconnected: 0,
> master/task_staging/source_master/reason_reconciliation: 0,
> master/task_staging/source_master/reason_slave_disconnected: 0,
> master/task_staging/source_master/reason_slave_removed: 0,
> master/task_staging/source_master/reason_slave_restarted: 0,
> master/task_staging/source_master/reason_slave_unknown: 0,
> master/task_staging/source_master/reason_task_invalid: 0,
> master/task_staging/source_master/reason_task_unauthorized: 0,
> master/task_staging/source_master/reason_task_unknown: 0,
> master/task_staging/source_slave/reason_executor_terminated: 0,
> master/task_staging/source_slave/reason_executor_unregistered: 0,
> master/task_staging/source_slave/reason_framework_removed: 0,
> master/task_staging/source_slave/reason_gc_error: 0,
> master/task_staging/source_slave/reason_invalid_frameworkid: 0,
> master/task_staging/source_slave/reason_invalid_offers: 0,
> master/task_staging/source_slave/reason_master_disconnected: 0,
> master/task_staging/source_slave/reason_reconciliation: 0,
> master/task_staging/source_slave/reason_slave_disconnected: 0,
> master/task_staging/source_slave/reason_slave_removed: 0,
> master/task_staging/source_slave/reason_slave_restarted: 0,
> master/task_staging/source_slave/reason_slave_unknown: 0,
> master/task_staging/source_slave/reason_task_invalid: 0,
> master/task_staging/source_slave/reason_task_unauthorized: 0,
> master/task_staging/source_slave/reason_task_unknown: 0,
> master/task_starting/source_executor/reason_executor_terminated: 0,
> master/task_starting/source_executor/reason_executor_unregistered: 0,
> master/task_starting/source_executor/reason_framework_removed: 0,
> master/task_starting/source_executor/reason_gc_error: 0,
> master/task_starting/source_executor/reason_invalid_frameworkid: 0,
> master/task_starting/source_executor/reason_invalid_offers: 0,
> master/task_starting/source_executor/reason_master_disconnected: 0,
> master/task_starting/source_executor/reason_reconciliation: 0,
> master/task_starting/source_executor/reason_slave_disconnected: 0,
> master/task_starting/source_executor/reason_slave_removed: 0,
> master/task_starting/source_executor/reason_slave_restarted: 0,
> master/task_starting/source_executor/reason_slave_unknown: 0,
> master/task_starting/source_executor/reason_task_invalid: 0,
> master/task_starting/source_executor/reason_task_unauthorized: 0,
> master/task_starting/source_executor/reason_task_unknown: 0,
> master/task_starting/source_master/reason_executor_terminated: 0,
> master/task_starting/source_master/reason_executor_unregistered: 0,
> master/task_starting/source_master/reason_framework_removed: 0,
> master/task_starting/source_master/reason_gc_error: 0,
> master/task_starting/source_master/reason_invalid_frameworkid: 0,
> master/task_starting/source_master/reason_invalid_offers: 0,
> master/task_starting/source_master/reason_master_disconnected: 0,
> master/task_starting/source_master/reason_reconciliation: 0,
> master/task_starting/source_master/reason_slave_disconnected: 0,
> master/task_starting/source_master/reason_slave_removed: 0,
> master/task_starting/source_master/reason_slave_restarted: 0,
> master/task_starting/source_master/reason_slave_unknown: 0,
> master/task_starting/source_master/reason_task_invalid: 0,
> master/task_starting/source_master/reason_task_unauthorized: 0,
> master/task_starting/source_master/reason_task_unknown: 0,
> master/task_starting/source_slave/reason_executor_terminated: 0,
> master/task_starting/source_slave/reason_executor_unregistered: 0,
> master/task_starting/source_slave/reason_framework_removed: 0,
> master/task_starting/source_slave/reason_gc_error: 0,
> master/task_starting/source_slave/reason_invalid_frameworkid: 0,
> master/task_starting/source_slave/reason_invalid_offers: 0,
> master/task_starting/source_slave/reason_master_disconnected: 0,
> master/task_starting/source_slave/reason_reconciliation: 0,
> master/task_starting/source_slave/reason_slave_disconnected: 0,
> master/task_starting/source_slave/reason_slave_removed: 0,
> master/task_starting/source_slave/reason_slave_restarted: 0,
> master/task_starting/source_slave/reason_slave_unknown: 0,
> master/task_starting/source_slave/reason_task_invalid: 0,
> master/task_starting/source_slave/reason_task_unauthorized: 0,
> master/task_starting/source_slave/reason_task_unknown: 0,
> ...
> }
> 
> 
> Thanks,
> 
> Dominic Hamon
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message