LGTM, thanks

On Mon, 15 Jun 2015 at 18:16 'Klaus Aehlig' via ganeti-devel <
[email protected]> wrote:

> Add a simple test case for the allocate-secondary request.
> In this example, hail has to avoid the node of the other
> group and should prefer the free node as secondary over
> the one that already hosts an instance.
>
> Signed-off-by: Klaus Aehlig <[email protected]>
> ---
>  Makefile.am                                |   1 +
>  test/data/htools/hail-alloc-secondary.json | 298
> +++++++++++++++++++++++++++++
>  test/hs/shelltests/htools-hail.test        |   5 +
>  3 files changed, 304 insertions(+)
>  create mode 100644 test/data/htools/hail-alloc-secondary.json
>
> diff --git a/Makefile.am b/Makefile.am
> index fc66e93..ea447a1 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1689,6 +1689,7 @@ TEST_FILES = \
>         test/data/htools/hail-alloc-invalid-twodisks.json \
>         test/data/htools/hail-alloc-restricted-network.json \
>         test/data/htools/hail-alloc-plain-tags.json \
> +       test/data/htools/hail-alloc-secondary.json \
>         test/data/htools/hail-alloc-spindles.json \
>         test/data/htools/hail-alloc-twodisks.json \
>         test/data/htools/hail-change-group.json \
> diff --git a/test/data/htools/hail-alloc-secondary.json
> b/test/data/htools/hail-alloc-secondary.json
> new file mode 100644
> index 0000000..377b4ce
> --- /dev/null
> +++ b/test/data/htools/hail-alloc-secondary.json
> @@ -0,0 +1,298 @@
> +{
> +  "cluster_tags": [],
> +  "instances": {
> +
> +"instance-2-3":{
> +      "disks": [
> +        {
> +          "spindles": 1,
> +          "mode": "rw",
> +          "size": 512
> +        }
> +      ],
> +      "disk_space_total": 1024,
> +      "hypervisor": "xen-pvm",
> +      "tags": [],
> +      "nics": [
> +        {
> +          "ip": null,
> +          "mac": "aa:00:00:7f:8c:9c",
> +          "link": "xen-br1",
> +          "mode": "bridged",
> +          "bridge": "xen-br1"
> +        }
> +      ],
> +      "vcpus": 1,
> +      "spindle_use": 1,
> +      "admin_state": "up",
> +      "admin_state_source": "admin",
> +      "disk_template": "plain",
> +      "memory": 128,
> +      "nodes": [
> +        "node-2-3"
> +      ],
> +      "os": "instance-debootstrap"
> +    },
> +
> +
> +
> +"instance-to-be-converted-to-drbd":{
> +      "disks": [
> +        {
> +          "spindles": 1,
> +          "mode": "rw",
> +          "size": 512
> +        }
> +      ],
> +      "disk_space_total": 1024,
> +      "hypervisor": "xen-pvm",
> +      "tags": [],
> +      "nics": [
> +        {
> +          "ip": null,
> +          "mac": "aa:00:00:7f:8c:9c",
> +          "link": "xen-br1",
> +          "mode": "bridged",
> +          "bridge": "xen-br1"
> +        }
> +      ],
> +      "vcpus": 1,
> +      "spindle_use": 1,
> +      "admin_state": "down",
> +      "admin_state_source": "admin",
> +      "disk_template": "plain",
> +      "memory": 128,
> +      "nodes": [
> +        "node-2-1"
> +      ],
> +      "os": "instance-debootstrap"
> +    }
> +
> +
> +},
> +  "nodegroups": {
> +    "uuid-group-1": {
> +      "ipolicy": {
> +        "std": {
> +          "nic-count": 1,
> +          "disk-size": 1024,
> +          "disk-count": 1,
> +          "memory-size": 128,
> +          "cpu-count": 1,
> +          "spindle-use": 1
> +        },
> +        "minmax": [
> +          {
> +            "min": {
> +              "nic-count": 1,
> +              "disk-size": 128,
> +              "disk-count": 1,
> +              "memory-size": 128,
> +              "cpu-count": 1,
> +              "spindle-use": 1
> +            },
> +            "max": {
> +              "nic-count": 8,
> +              "disk-size": 1048576,
> +              "disk-count": 16,
> +              "memory-size": 32768,
> +              "cpu-count": 8,
> +              "spindle-use": 8
> +            }
> +          }
> +        ],
> +        "vcpu-ratio": 4.0,
> +        "disk-templates": [
> +          "sharedfile",
> +          "diskless",
> +          "plain",
> +          "blockdev",
> +          "drbd",
> +          "file",
> +          "rbd"
> +        ],
> +        "spindle-ratio": 32.0
> +      },
> +      "networks": [],
> +      "alloc_policy": "preferred",
> +      "tags": [],
> +      "name": "default"
> +    },
> +    "uuid-group-2":
> +{
> +      "ipolicy": {
> +        "std": {
> +          "nic-count": 1,
> +          "disk-size": 1024,
> +          "disk-count": 1,
> +          "memory-size": 128,
> +          "cpu-count": 1,
> +          "spindle-use": 1
> +        },
> +        "minmax": [
> +          {
> +            "min": {
> +              "nic-count": 1,
> +              "disk-size": 128,
> +              "disk-count": 1,
> +              "memory-size": 128,
> +              "cpu-count": 1,
> +              "spindle-use": 1
> +            },
> +            "max": {
> +              "nic-count": 8,
> +              "disk-size": 1048576,
> +              "disk-count": 16,
> +              "memory-size": 32768,
> +              "cpu-count": 8,
> +              "spindle-use": 8
> +            }
> +          }
> +        ],
> +        "vcpu-ratio": 4.0,
> +        "disk-templates": [
> +          "sharedfile",
> +          "diskless",
> +          "plain",
> +          "blockdev",
> +          "drbd",
> +          "file",
> +          "rbd"
> +        ],
> +        "spindle-ratio": 32.0
> +      },
> +      "networks": [],
> +      "alloc_policy": "preferred",
> +      "tags": [],
> +      "name": "default"
> +    }
> +  },
> +  "nodes": {
> +
> +"node-1-1" :
> +{
> +      "total_disk": 91552,
> +      "total_cpus": 16,
> +      "group": "uuid-group-1",
> +      "secondary_ip": "192.168.2.1",
> +      "i_pri_up_memory": 0,
> +      "tags": [],
> +      "master_candidate": true,
> +      "free_memory": 3100,
> +      "ndparams": {
> +        "spindle_count": 1,
> +        "oob_program": null,
> +        "exclusive_storage": false
> +      },
> +      "reserved_memory": 0,
> +      "reserved_cpus": 1,
> +      "master_capable": true,
> +      "free_disk": 91552,
> +      "drained": false,
> +      "total_memory": 3100,
> +      "primary_ip": "192.168.1.1",
> +      "i_pri_memory": 0,
> +      "free_spindles": 12,
> +      "total_spindles": 12,
> +      "vm_capable": true,
> +      "offline": false
> +    },
> +
> +
> +"node-2-1" :
> +{
> +      "total_disk": 91552,
> +      "total_cpus": 16,
> +      "group": "uuid-group-2",
> +      "secondary_ip": "192.168.2.101",
> +      "i_pri_up_memory": 0,
> +      "tags": [],
> +      "master_candidate": true,
> +      "free_memory": 3100,
> +      "ndparams": {
> +        "spindle_count": 1,
> +        "oob_program": null,
> +        "exclusive_storage": false
> +      },
> +      "reserved_memory": 0,
> +      "reserved_cpus": 1,
> +      "master_capable": true,
> +      "free_disk": 91552,
> +      "drained": false,
> +      "total_memory": 3100,
> +      "primary_ip": "192.168.1.101",
> +      "i_pri_memory": 0,
> +      "free_spindles": 12,
> +      "total_spindles": 12,
> +      "vm_capable": true,
> +      "offline": false
> +    },
> +
> +
> +
> +"node-2-2" :
> +{
> +      "total_disk": 91552,
> +      "total_cpus": 16,
> +      "group": "uuid-group-2",
> +      "secondary_ip": "192.168.2.102",
> +      "i_pri_up_memory": 0,
> +      "tags": [],
> +      "master_candidate": true,
> +      "free_memory": 3100,
> +      "ndparams": {
> +        "spindle_count": 1,
> +        "oob_program": null,
> +        "exclusive_storage": false
> +      },
> +      "reserved_memory": 0,
> +      "reserved_cpus": 1,
> +      "master_capable": true,
> +      "free_disk": 91552,
> +      "drained": false,
> +      "total_memory": 3100,
> +      "primary_ip": "192.168.1.102",
> +      "i_pri_memory": 0,
> +      "free_spindles": 12,
> +      "total_spindles": 12,
> +      "vm_capable": true,
> +      "offline": false
> +    },
> +
> +
> +"node-2-3" :
> +{
> +      "total_disk": 91552,
> +      "total_cpus": 16,
> +      "group": "uuid-group-2",
> +      "secondary_ip": "192.168.2.103",
> +      "i_pri_up_memory": 0,
> +      "tags": [],
> +      "master_candidate": true,
> +      "free_memory": 3100,
> +      "ndparams": {
> +        "spindle_count": 1,
> +        "oob_program": null,
> +        "exclusive_storage": false
> +      },
> +      "reserved_memory": 0,
> +      "reserved_cpus": 1,
> +      "master_capable": true,
> +      "free_disk": 91552,
> +      "drained": false,
> +      "total_memory": 3100,
> +      "primary_ip": "192.168.1.103",
> +      "i_pri_memory": 0,
> +      "free_spindles": 12,
> +      "total_spindles": 12,
> +      "vm_capable": true,
> +      "offline": false
> +    }
> +
> +},
> +
> +  "request": {
> +    "name": "instance-to-be-converted-to-drbd",
> +    "type": "allocate-secondary"
> +  }
> +}
> diff --git a/test/hs/shelltests/htools-hail.test
> b/test/hs/shelltests/htools-hail.test
> index 35392b3..b933e9c 100644
> --- a/test/hs/shelltests/htools-hail.test
> +++ b/test/hs/shelltests/htools-hail.test
> @@ -211,3 +211,8 @@ cat $TESTDATA_DIR/hail-alloc-invalid-network.json |
> grep -v -e '"network":"uuid-
>  ./test/hs/hail -t $TESTDATA_DIR/partly-used.data --restrict-allocation-to
> node-03,node-04 $TESTDATA_DIR/hail-alloc-drbd-restricted.json
>  >>> /successes 2,.*"result":\["node-0[34]","node-0[34]"\]/
>  >>>= 0
> +
> +# Verify allocate-secondary
> +./test/hs/hail $TESTDATA_DIR/hail-alloc-secondary.json
> +>>> /successes 2, failures 0.*"result":"node-2-2"/
> +>>>= 0
> --
> 2.2.0.rc0.207.ga3a616c
>
>

Reply via email to