Demo Data Script

This document details the beginning of the walkthrough script for the Tuskar demo.

To use this, clear your database and run the commands below. The result should be a HEAT template with 6 compute Nodes and 1 non-compute Node.

N.B. The HEAT template does not define availability zones for the nodes. Therefore the nodes could be deployed onto any rack. This will be fixed in a subsequent patch.

Note: The commands below are useful for experimenting with different creation scenarios, but the exact data center described therein can also be created by running:

python tools/sample_data/py

from your development environment.

Create Racks

This command creates three Racks. Two Racks are assigned to the compute Resource Class and contain three Baremetal Nodes each. One Rack is designated to the non-compute Resource Class and contains 1 Baremetal Node only.

curl -vX POST -H 'Content-Type: application/json' -H 'Accept: application/json' -v -d  '
{
  "subnet": "192.168.1.0/255",
  "name": "compute_1",
  "capacities": [{
    "name": "total_cpu",
    "value": "64"
  }, {
    "name": "total_memory",
    "value": "1024"
  }],
  "nodes": [
  {
    "id": "nova_bare_metal_1"
  },
  {
    "id": "nova_bare_metal_2"
  },
  {
    "id": "nova_bare_metal_3"
  }
  ],
  "slots": 3
}
' http://0.0.0.0:8585/v1/racks

curl -vX POST -H 'Content-Type: application/json' -H 'Accept: application/json' -v -d  '
{
  "subnet": "192.168.2.0/255",
  "name": "compute_2",
  "capacities": [{
    "name": "total_cpu",
    "value": "64"
  }, {
    "name": "total_memory",
    "value": "1024"
  }],
  "nodes": [
  {
    "id": "nova_bare_metal_4"
  },
  {
    "id": "nova_bare_metal_5"
  },
  {
    "id": "nova_bare_metal_6"
  }
  ],
  "slots": 3
}
' http://0.0.0.0:8585/v1/racks

curl -vX POST -H 'Content-Type: application/json' -H 'Accept: application/json' -v -d  '
{
  "subnet": "192.168.2.0/255",
  "name": "non_compute",
  "capacities": [{
    "name": "total_cpu",
    "value": "64"
  }, {
    "name": "total_memory",
    "value": "1024"
  }],
  "nodes": [
  {
    "id": "nova_bare_metal_7"
  }],
  "slots": 3
}
' http://0.0.0.0:8585/v1/racks

Create Resource Classes

This command creates two Resource Classes. The compute Resource Class contains two Racks and a total of six Nodes. The non-compute Resource Class contains one Rack and one Node.

curl -iX POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d '
    {
          "name": "compute-rc",
          "service_type":"compute",
          "racks": [
              {
                "id":1,
                "links":[{"href":"http://0.0.0.0:8585/v1/racks/1","rel":"self"}]
              },
              {
                "id":2,
                "links":[{"href":"http://0.0.0.0:8585/v1/racks/2","rel":"self"}]
              }
           ],
           "flavors": [
                { "name" : "x-large",
                  "capacities" : [
                     {   "name": "cpu",
                         "value" : "4",
                          "unit" : "count" },
                     {   "name": "memory",
                         "value" : "8192",
                         "unit" : "MiB" },
                     {   "name": "storage",
                         "value" : "1024",
                         "unit" : "GiB" }
                  ]
                }
           ]
      }
' http://0.0.0.0:8585/v1/resource_classes

curl -iX POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d '
    {
          "name": "non-compute-rc",
          "service_type":"not_compute",
          "racks": [
              {
                "id":3,
                "links":[{"href":"http://0.0.0.0:8585/v1/racks/3","rel":"self"}]
              }
           ]
      }
' http://0.0.0.0:8585/v1/resource_classes

Generate HEAT Template

This command generates the HEAT template based on the Tuskar description.

curl http://0.0.0.0:8585/v1/data_centers

Table Of Contents

Previous topic

Debugging with iPython

Next topic

Recommended Reading

This Page