LGTM.

Thanks,
Jose

On Apr 02 13:30, Hrvoje Ribicic wrote:
> This patch adds two parameters controlling the zeroing timeout - one
> that is fixed and another that depends on the amount of data (size of
> disks) to zero.
> 
> Signed-off-by: Hrvoje Ribicic <[email protected]>
> ---
>  src/Ganeti/Constants.hs        | 14 ++++++++++++++
>  src/Ganeti/OpCodes.hs          |  2 ++
>  src/Ganeti/OpParams.hs         | 16 ++++++++++++++++
>  test/hs/Test/Ganeti/OpCodes.hs |  3 ++-
>  4 files changed, 34 insertions(+), 1 deletion(-)
> 
> diff --git a/src/Ganeti/Constants.hs b/src/Ganeti/Constants.hs
> index 8be545a..8d2d3da 100644
> --- a/src/Ganeti/Constants.hs
> +++ b/src/Ganeti/Constants.hs
> @@ -4876,3 +4876,17 @@ debugModeConfidentialityWarning =
>  -- | The size of the file
>  statSize :: String
>  statSize = "size"
> +
> +
> +-- * Helper VM-related timeouts
> +
> +-- | The default fixed timeout - needed to startup the helper VM
> +helperVmStartup :: Int
> +helperVmStartup = 5 * 60
> +
> +-- | The zeroing timeout per MiB of disks to zero
> +--
> +-- Determined by estimating that a disk writes at a relatively slow speed of 
> 1/5
> +-- of the max speed of current drives
> +zeroingTimeoutPerMib :: Double
> +zeroingTimeoutPerMib = 1.0 / (100.0 / 5.0)
> diff --git a/src/Ganeti/OpCodes.hs b/src/Ganeti/OpCodes.hs
> index 873d18b..0cb840c 100644
> --- a/src/Ganeti/OpCodes.hs
> +++ b/src/Ganeti/OpCodes.hs
> @@ -778,6 +778,8 @@ $(genOpCode "OpCode"
>       , pX509KeyName
>       , pX509DestCA
>       , pZeroFreeSpace
> +     , pZeroingTimeoutFixed
> +     , pZeroingTimeoutPerMiB
>       ],
>       "instance_name")
>    , ("OpBackupRemove",
> diff --git a/src/Ganeti/OpParams.hs b/src/Ganeti/OpParams.hs
> index b222ef6..133a6f3 100644
> --- a/src/Ganeti/OpParams.hs
> +++ b/src/Ganeti/OpParams.hs
> @@ -220,6 +220,8 @@ module Ganeti.OpParams
>    , pX509KeyName
>    , pX509DestCA
>    , pZeroFreeSpace
> +  , pZeroingTimeoutFixed
> +  , pZeroingTimeoutPerMiB
>    , pTagSearchPattern
>    , pRestrictedCommand
>    , pReplaceDisksMode
> @@ -1491,6 +1493,20 @@ pZeroFreeSpace =
>    withDoc "Whether to zero the free space on the disk of the instance" $
>    defaultFalse "zero_free_space"
>  
> +pZeroingTimeoutFixed :: Field
> +pZeroingTimeoutFixed =
> +  withDoc "The fixed part of time to wait before declaring the zeroing\
> +           \ operation to have failed" .
> +  defaultField [| C.helperVmStartup |] $
> +  simpleField "zeroing_timeout_fixed" [t| Int |]
> +
> +pZeroingTimeoutPerMiB :: Field
> +pZeroingTimeoutPerMiB =
> +  withDoc "The variable part of time to wait before declaring the zeroing\
> +           \ operation to have failed, dependent on total size of disks" .
> +  defaultField [| C.zeroingTimeoutPerMib |] $
> +  simpleField "zeroing_timeout_per_mib" [t| Double |]
> +
>  pTagsObject :: Field
>  pTagsObject =
>    withDoc "Tag kind" $
> diff --git a/test/hs/Test/Ganeti/OpCodes.hs b/test/hs/Test/Ganeti/OpCodes.hs
> index 6595546..da791ad 100644
> --- a/test/hs/Test/Ganeti/OpCodes.hs
> +++ b/test/hs/Test/Ganeti/OpCodes.hs
> @@ -401,7 +401,8 @@ instance Arbitrary OpCodes.OpCode where
>          OpCodes.OpBackupExport <$> genFQDN <*> return Nothing <*>
>            arbitrary <*> arbitrary <*> arbitrary <*> return Nothing <*>
>            arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*>
> -          genMaybe (pure []) <*> genMaybe genNameNE <*> arbitrary
> +          genMaybe (pure []) <*> genMaybe genNameNE <*> arbitrary <*>
> +          arbitrary <*> arbitrary
>        "OP_BACKUP_REMOVE" ->
>          OpCodes.OpBackupRemove <$> genFQDN <*> return Nothing
>        "OP_TEST_ALLOCATOR" ->
> -- 
> 1.9.1.423.g4596e3a
> 

-- 
Jose Antonio Lopes
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