LGTM, thanks

On Wed, Aug 27, 2014 at 10:17 PM, Yuto KAWAMURA(kawamuray) <
[email protected]> wrote:

> Add the _SetCgroupInstanceValue function which can be used to set the
> value of an instance cgroup parameter.
>
> Signed-off-by: Yuto KAWAMURA(kawamuray) <[email protected]>
> ---
>  lib/hypervisor/hv_lxc.py | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>
> diff --git a/lib/hypervisor/hv_lxc.py b/lib/hypervisor/hv_lxc.py
> index 96b71fc..fdd1229 100644
> --- a/lib/hypervisor/hv_lxc.py
> +++ b/lib/hypervisor/hv_lxc.py
> @@ -329,6 +329,33 @@ class LXCHypervisor(hv_base.BaseHypervisor):
>      return utils.ReadFile(param_path).rstrip("\n")
>
>    @classmethod
> +  def _SetCgroupInstanceValue(cls, instance_name, param_name,
> param_value):
> +    """Set the value to the specified instance cgroup parameter.
> +
> +    @type instance_name: string
> +    @param instance_name: instance name
> +    @type param_name: string
> +    @param param_name: cgroup subsystem parameter name
> +    @type param_value: string
> +    @param param_value: cgroup subsystem parameter value to be set
> +
> +    """
> +    param_path = cls._GetCgroupInstanceParamPath(instance_name,
> param_name)
> +    # When interacting with cgroup fs, errno is quite important
> information
> +    # to see what happened when setting a cgroup parameter, so just throw
> +    # an error to the upper level.
> +    # e.g., we could know that the container can't reclaim its memory by
> +    #       checking if the errno is EBUSY when setting the
> +    #       memory.memsw.limit_in_bytes.
> +    fd = -1
> +    try:
> +      fd = os.open(param_path, os.O_WRONLY)
> +      os.write(fd, param_value)
> +    finally:
> +      if fd != -1:
> +        os.close(fd)
> +
> +  @classmethod
>    def _GetCgroupCpuList(cls, instance_name):
>      """Return the list of CPU ids for an instance.
>
> --
> 2.0.4
>
>


Hrvoje Ribicic
Ganeti Engineering
Google Germany GmbH
Dienerstr. 12, 80331, München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Christine Elizabeth Flores
Steuernummer: 48/725/00206
Umsatzsteueridentifikationsnummer: DE813741370

Reply via email to