LGTM

Thanks,

Guido


On Thu, Apr 11, 2013 at 6:19 AM, Klaus Aehlig <[email protected]> wrote:
> We test on two minimal examples, a positive and a negative one, where
> the possibility to allocate a node depends on whether the disk policy
> is checked on a per-disk level or on the total amount of disk space
> requested.
>
> Signed-off-by: Klaus Aehlig <[email protected]>
> ---
>  Makefile.am                                       |  2 +
>  test/data/htools/hail-alloc-invalid-twodisks.json | 86 
> +++++++++++++++++++++++
>  test/data/htools/hail-alloc-twodisks.json         | 86 
> +++++++++++++++++++++++
>  test/hs/shelltests/htools-hail.test               |  9 +++
>  4 files changed, 183 insertions(+)
>  create mode 100644 test/data/htools/hail-alloc-invalid-twodisks.json
>  create mode 100644 test/data/htools/hail-alloc-twodisks.json
>
> diff --git a/Makefile.am b/Makefile.am
> index 0059a7b..868d737 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -959,6 +959,8 @@ TEST_FILES = \
>         test/data/htools/common-suffix.data \
>         test/data/htools/empty-cluster.data \
>         test/data/htools/hail-alloc-drbd.json \
> +       test/data/htools/hail-alloc-invalid-twodisks.json \
> +       test/data/htools/hail-alloc-twodisks.json \
>         test/data/htools/hail-change-group.json \
>         test/data/htools/hail-invalid-reloc.json \
>         test/data/htools/hail-node-evac.json \
> diff --git a/test/data/htools/hail-alloc-invalid-twodisks.json 
> b/test/data/htools/hail-alloc-invalid-twodisks.json
> new file mode 100644
> index 0000000..3558256
> --- /dev/null
> +++ b/test/data/htools/hail-alloc-invalid-twodisks.json
> @@ -0,0 +1,86 @@
> +{
> +  "cluster_tags": [],
> +  "instances": {},
> +  "ipolicy": {
> +    "max": {
> +      "disk-size": 2048
> +    },
> +    "min": {
> +      "disk-size": 1024
> +    }
> +  },
> +  "nodegroups": {
> +    "uuid-group-1": {
> +      "alloc_policy": "preferred",
> +      "ipolicy": {
> +        "disk-templates": [
> +          "file"
> +        ],
> +        "max": {
> +          "cpu-count": 2,
> +          "disk-count": 8,
> +          "disk-size": 2048,
> +          "memory-size": 12800,
> +          "nic-count": 8,
> +          "spindle-use": 8
> +        },
> +        "min": {
> +          "cpu-count": 1,
> +          "disk-count": 1,
> +          "disk-size": 1024,
> +          "memory-size": 128,
> +          "nic-count": 1,
> +          "spindle-use": 1
> +        },
> +        "spindle-ratio": 32.0,
> +        "std": {
> +          "cpu-count": 1,
> +          "disk-count": 1,
> +          "disk-size": 1024,
> +          "memory-size": 128,
> +          "nic-count": 1,
> +          "spindle-use": 1
> +        },
> +        "vcpu-ratio": 4.0
> +      },
> +      "name": "default",
> +      "tags": []
> +    }
> +  },
> +  "nodes": {
> +    "node1": {
> +      "drained": false,
> +      "free_disk": 1377280,
> +      "free_memory": 31389,
> +      "group": "uuid-group-1",
> +      "ndparams": {
> +        "spindle_count": 1
> +      },
> +      "offline": false,
> +      "reserved_memory": 1017,
> +      "total_cpus": 4,
> +      "total_disk": 1377280,
> +      "total_memory": 32763
> +    }
> +  },
> +  "request": {
> +    "disk_space_total": 1536,
> +    "disk_template": "file",
> +    "disks": [
> +      {
> +        "size": 768
> +      },
> +      {
> +        "size": 768
> +      }
> +    ],
> +    "memory": 1024,
> +    "name": "instance1",
> +    "required_nodes": 1,
> +    "spindle_use": 2,
> +    "tags": [],
> +    "type": "allocate",
> +    "vcpus": 1
> +  },
> +  "version": 2
> +}
> diff --git a/test/data/htools/hail-alloc-twodisks.json 
> b/test/data/htools/hail-alloc-twodisks.json
> new file mode 100644
> index 0000000..abf7221
> --- /dev/null
> +++ b/test/data/htools/hail-alloc-twodisks.json
> @@ -0,0 +1,86 @@
> +{
> +  "cluster_tags": [],
> +  "instances": {},
> +  "ipolicy": {
> +    "max": {
> +      "disk-size": 2048
> +    },
> +    "min": {
> +      "disk-size": 1024
> +    }
> +  },
> +  "nodegroups": {
> +    "uuid-group-1": {
> +      "alloc_policy": "preferred",
> +      "ipolicy": {
> +        "disk-templates": [
> +          "file"
> +        ],
> +        "max": {
> +          "cpu-count": 2,
> +          "disk-count": 8,
> +          "disk-size": 2048,
> +          "memory-size": 12800,
> +          "nic-count": 8,
> +          "spindle-use": 8
> +        },
> +        "min": {
> +          "cpu-count": 1,
> +          "disk-count": 1,
> +          "disk-size": 1024,
> +          "memory-size": 128,
> +          "nic-count": 1,
> +          "spindle-use": 1
> +        },
> +        "spindle-ratio": 32.0,
> +        "std": {
> +          "cpu-count": 1,
> +          "disk-count": 1,
> +          "disk-size": 1024,
> +          "memory-size": 128,
> +          "nic-count": 1,
> +          "spindle-use": 1
> +        },
> +        "vcpu-ratio": 4.0
> +      },
> +      "name": "default",
> +      "tags": []
> +    }
> +  },
> +  "nodes": {
> +    "node1": {
> +      "drained": false,
> +      "free_disk": 1377280,
> +      "free_memory": 31389,
> +      "group": "uuid-group-1",
> +      "ndparams": {
> +        "spindle_count": 1
> +      },
> +      "offline": false,
> +      "reserved_memory": 1017,
> +      "total_cpus": 4,
> +      "total_disk": 1377280,
> +      "total_memory": 32763
> +    }
> +  },
> +  "request": {
> +    "disk_space_total": 3072,
> +    "disk_template": "file",
> +    "disks": [
> +      {
> +        "size": 1536
> +      },
> +      {
> +        "size": 1536
> +      }
> +    ],
> +    "memory": 1024,
> +    "name": "instance1",
> +    "required_nodes": 1,
> +    "spindle_use": 2,
> +    "tags": [],
> +    "type": "allocate",
> +    "vcpus": 1
> +  },
> +  "version": 2
> +}
> diff --git a/test/hs/shelltests/htools-hail.test 
> b/test/hs/shelltests/htools-hail.test
> index 55dd3ca..4da03d8 100644
> --- a/test/hs/shelltests/htools-hail.test
> +++ b/test/hs/shelltests/htools-hail.test
> @@ -38,6 +38,15 @@ echo '{"request": 0}' | ./test/hs/hail -
>  >>> /"success":true,"info":"Request successful: 0 instances failed to move 
> and 1 were moved successfully"/
>  >>>= 0
>
> +# check that hail correctly applies the disk policy on a per-disk basis
> +./test/hs/hail $TESTDATA_DIR/hail-alloc-twodisks.json
> +>>> /"success":true,.*,"result":\["node1"\]/
> +>>>= 0
> +
> +./test/hs/hail $TESTDATA_DIR/hail-alloc-invalid-twodisks.json
> +>>> /"success":false,.*FailDisk: 1/
> +>>>= 0
> +
>  # check that hail can use the simu backend
>  ./test/hs/hail --simu p,8,8T,16g,16 $TESTDATA_DIR/hail-alloc-drbd.json
>  >>> /"success":true,/
> --
> 1.8.1.3
>



--
Guido Trotter
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, Katherine Stephens

Steuernummer: 48/725/00206
Umsatzsteueridentifikationsnummer: DE813741370

Reply via email to