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



Partial review for discussion.


src/slave/containerizer/containerizer.cpp (lines 275 - 280)
<https://reviews.apache.org/r/51879/#comment217846>

    Mulling it over, I think we can achieve the consistency of "honoring 
explicitly supplied values by the operator even if it's zero" by removing 
validation from the parsing functions except for those that return `Resources`. 
i.e., 
    
    If `try<vector<Resource>> fromJSONString()` and `try<vector<Resource>> 
fromSimpleString()` do not drop `Resource` objects that couldn't pass 
`Resources::validate(const Resource& resource)` check, here we can identity the 
disk Resources that do not have the value specified and fill in the 
auto-detected value. Eventually we will turn them into `Resources` and the 
validation can happen there.
    
    If we do this, then the operator can specify the mount disk without the 
value to have it auto-detected.
    
    ```
    {
      "name" : "disk",
      "type" : "SCALAR",
      "disk" : {
        "source" : {
          "type" : "MOUNT",
          "mount" : { "root" : "/mnt/data" }
        }
      }
    }
    ```
    
    (Frankly we can auto-detect the "type" as well but allowing it to be 
specified is fine too)
    
    This allows us to fix the issue for other kinds of resources too 
(MESOS-6219).


- Jiang Yan Xu


On Sept. 20, 2016, 9:15 p.m., Anindya Sinha wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/51879/
> -----------------------------------------------------------
> 
> (Updated Sept. 20, 2016, 9:15 p.m.)
> 
> 
> Review request for mesos and Jiang Yan Xu.
> 
> 
> Bugs: MESOS-6062
>     https://issues.apache.org/jira/browse/MESOS-6062
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> When static resources indicate disks with a positive size, we use that
> for the disk resources on the agent. However, --resources can include
> disks with size of 0, which indicates that mesos agent determine the
> size of those disks from the host and uses that information instead.
> Note that this is not allowed for PATH disks since PATH disks can be
> carved into smaller chunks and we cannot assume that the whole
> physical disk is available to the PATH disk.
> 
> With this change, JSON or textual representation for disk resources
> that specify scalar value of 0 would not result in an error, but those
> resources will not be accounted for until a valid size is determined
> for such resources. A scalar value of -1 in JSON or textual formats
> still results in an invalid resource.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/containerizer.cpp 
> d46882baa904fd439bffb23c324828b777228f1c 
> 
> Diff: https://reviews.apache.org/r/51879/diff/
> 
> 
> Testing
> -------
> 
> Tests passed.
> 
> 
> Thanks,
> 
> Anindya Sinha
> 
>

Reply via email to