
Fixed a problem with the docs not even building and cleaned up the sphinx warnings. Changed the directory structure to more closely resemble other OpenStack projects. This doesn't address any of the content yet, simply the structure and ability to build. Change-Id: I2b00b12b7664d58d44994b9d0e23a55c96379c18
448 lines
10 KiB
ReStructuredText
448 lines
10 KiB
ReStructuredText
=============
|
|
cURL Commands
|
|
=============
|
|
|
|
Resources
|
|
---------
|
|
|
|
- `Rack <#rack>`_
|
|
- `Flavor <#flavor>`_
|
|
- `ResourceClass <#resource_class>`_
|
|
- `DataCenter <#data_center>`_
|
|
- `Node <#node>`_
|
|
- `Overcloud <#overcloud>`_
|
|
|
|
Rack
|
|
----
|
|
|
|
create
|
|
~~~~~~
|
|
|
|
::
|
|
|
|
curl -vX POST -H 'Content-Type: application/json' -H 'Accept: application/json' -v -d '
|
|
{
|
|
"subnet": "192.168.1.0/255",
|
|
"name": "my_rack",
|
|
"capacities": [{
|
|
"name": "total_cpu",
|
|
"value": "64",
|
|
"unit": "count"
|
|
}, {
|
|
"name": "total_memory",
|
|
"value": "1024",
|
|
"unit": "MiB"
|
|
}],
|
|
"nodes": [{
|
|
"id": "123"
|
|
}, {
|
|
"id": "345"
|
|
}],
|
|
"slots": 1
|
|
}
|
|
' http://0.0.0.0:8585/v1/racks
|
|
|
|
create with ResourceClass
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -vX POST -H 'Content-Type: application/json' -H 'Accept: application/json' -v -d '
|
|
{
|
|
"subnet": "192.168.1.0/255",
|
|
"name": "my_rack",
|
|
"capacities": [{
|
|
"name": "total_cpu",
|
|
"value": "64",
|
|
"unit": "cpu"
|
|
}, {
|
|
"name": "total_memory",
|
|
"value": "1024",
|
|
"unit": "MB"
|
|
}],
|
|
"nodes": [{
|
|
"id": "123"
|
|
}, {
|
|
"id": "345"
|
|
}],
|
|
"slots": 1,
|
|
"resource_class":{
|
|
"id":1,
|
|
"links":[
|
|
{
|
|
"href":"http://0.0.0.0:8585/v1/resource_clases/1",
|
|
"rel":"self"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
' http://0.0.0.0:8585/v1/racks
|
|
|
|
delete
|
|
~~~~~~
|
|
|
|
::
|
|
|
|
curl -vX DELETE http://localhost:8585/v1/racks/1
|
|
|
|
update
|
|
~~~~~~
|
|
|
|
::
|
|
|
|
curl -v -X PUT -H 'Content-Type: application/json' -H 'Accept: application/json' -v -d '{ "name": "new_name" }' http://0.0.0.0:8585/v1/racks/1
|
|
|
|
update (change nodes to Rack 1)
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -v -X PUT -H 'Content-Type: application/json' -H 'Accept: application/json' -v -d '{ "nodes": [ { "id": "1" }, { "id": "2"}] }' http://0.0.0.0:8585/v1/racks/1
|
|
|
|
`back to top <#index>`_
|
|
|
|
Flavor
|
|
------
|
|
|
|
This resource only exists as part of a ResourceClass.
|
|
|
|
create a new Flavor for a specific ResourceClass
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -v -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' -v -d '
|
|
{
|
|
"max_vms": 10,
|
|
"name": "tiny",
|
|
"capacities":
|
|
[
|
|
{
|
|
"value": "1",
|
|
"name": "cpu",
|
|
"unit": "count"
|
|
},
|
|
{
|
|
"value": "512",
|
|
"name": "memory",
|
|
"unit": "MiB"
|
|
},
|
|
{
|
|
"value": "512",
|
|
"name": "storage",
|
|
"unit": "GiB"
|
|
}
|
|
]
|
|
}'
|
|
http://0.0.0.0:8585/v1/resource_classes/1/flavors``
|
|
|
|
Flavors can also be created as part of `ResourceClass create <#rc_with_flavors>`_ operation:
|
|
|
|
get Flavor(s) for a particular ResourceClass
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -H "Accept: application/xml" http://0.0.0.0:8585/v1/resource_classes/1/flavors(/2)
|
|
|
|
delete a specific Flavor from a given ResourceClass
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -X DELETE -H "Accept: application/xml" http://0.0.0.0:8585/v1/resource_classes/1/flavors/1
|
|
|
|
update an existing Flavor in a specified ResourceClass
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -v -X PUT -H 'Content-Type: application/json' -H 'Accept: application/json' -v -d '
|
|
{
|
|
"capacities":
|
|
[
|
|
{
|
|
"value": "5000",
|
|
"name": "cpu",
|
|
"unit": "count"
|
|
},
|
|
{
|
|
"value": "1111",
|
|
"name": "memory",
|
|
"unit": "MiB"
|
|
},
|
|
{
|
|
"value": "2222",
|
|
"name": "storage",
|
|
"unit": "GiB"
|
|
}
|
|
],
|
|
"max_vms": 9999,
|
|
"name": "tiny_update" }'
|
|
http://0.0.0.0:8585/v1/resource_classes/1/flavors/3``
|
|
|
|
**NOTE:** The above operation can be performed to change only part of a
|
|
given flavor - such as updating the name or max\_vms, or even a specific
|
|
capacity. The body of the PUT request will determine what is updated.
|
|
For example, to update the 'cpu' capacity and 'max\_vms':
|
|
|
|
::
|
|
|
|
curl -v -X PUT -H 'Content-Type: application/json' -H 'Accept: application/json' -v -d '
|
|
{
|
|
"max_vms": 1234,
|
|
"capacities" : [
|
|
{ "name": "cpu",
|
|
"value" : "1",
|
|
"unit" : "count" }
|
|
]
|
|
}'
|
|
http://0.0.0.0:8585/v1/resource_classes/1/flavors/3``
|
|
|
|
`back to top <#index>`_
|
|
|
|
ResourceClass
|
|
-------------
|
|
|
|
get a specific ResourceClass
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -H 'Accept: application/json' http://0.0.0.0:8585/v1/resource_classes/1
|
|
|
|
response
|
|
^^^^^^^^
|
|
|
|
::
|
|
|
|
{
|
|
"id":11,
|
|
"name":"test-chassis",
|
|
"service_type":"compute",
|
|
"racks":[
|
|
{
|
|
"id":1,
|
|
"links":[
|
|
{
|
|
"href":"http://0.0.0.0:8585/v1/rack/1",
|
|
"rel":"self"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"links":[
|
|
{
|
|
"href":"http://0.0.0.0:8585/v1/resource_classes/11",
|
|
"rel":"self"
|
|
}
|
|
]
|
|
}
|
|
|
|
get collection
|
|
~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -H 'Accept: application/json' http://0.0.0.0:8585/v1/resource_classes
|
|
|
|
create without Racks
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -iX POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d '
|
|
{
|
|
"service_type": "compute",
|
|
"name": "test-chassis"
|
|
}
|
|
' http://0.0.0.0:8585/v1/resource_classes
|
|
|
|
create with Rack and Flavor definitions
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -iX POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d '
|
|
{
|
|
"name": "test-chassis",
|
|
"service_type":"compute",
|
|
"racks": [
|
|
{ "id":1,
|
|
"links":[{"href":"http://0.0.0.0:8585/v1/racks/1","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
|
|
|
|
**as a one-liner (copy/paste)**
|
|
|
|
::
|
|
|
|
curl -iX POST -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{"service_type": "compute_1","name": "test-chassis", "service_type":"compute","racks":[{"id":1,"links":[{"href":"http://0.0.0.0:8585/v1/racks/1","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
|
|
|
|
update
|
|
~~~~~~
|
|
|
|
To add or remove Racks on a ResourceClass, simply do an update and alter
|
|
the racks array attribute accordingly.
|
|
|
|
::
|
|
|
|
curl -iX PUT -H 'Content-Type: application/json' -H 'Accept: application/json' -d '
|
|
{
|
|
"service_type": "compute",
|
|
"name": "test-chassis",
|
|
"racks":[
|
|
{
|
|
"id": 1,
|
|
"links": [
|
|
{
|
|
"href":"http://0.0.0.0:8585/v1/racks/1",
|
|
"rel":"self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
' http://0.0.0.0:8585/v1/resource_classes/13``
|
|
|
|
delete
|
|
~~~~~~
|
|
|
|
::
|
|
|
|
curl -X DELETE http://0.0.0.0:8585/v1/resource_classes/1
|
|
|
|
`back to top <#index>`_
|
|
|
|
DataCenter
|
|
----------
|
|
|
|
provision all
|
|
~~~~~~~~~~~~~
|
|
|
|
This will provision the data center according to its description in
|
|
Tuskar.
|
|
|
|
::
|
|
|
|
curl -XPOST -H 'Content-Type:application/json' -H 'Accept: application/json' http://0.0.0.0:8585/v1/data_centers/
|
|
|
|
`back to top <#index>`_
|
|
|
|
Node
|
|
----
|
|
|
|
Get Collection
|
|
~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl http://0.0.0.0:8585/v1/nodes/
|
|
|
|
response
|
|
^^^^^^^^
|
|
|
|
::
|
|
|
|
[
|
|
{
|
|
"nova_baremetal_node_id": "0e3ab3d3-bd85-40bd-b6a1-fae484040825",
|
|
"id": "1",
|
|
"links": [
|
|
{
|
|
"href": "http://127.0.0.1:8585/v1/nodes/1",
|
|
"rel": "self"
|
|
}
|
|
],
|
|
"rack": {
|
|
"id": 1,
|
|
"links":
|
|
[
|
|
{
|
|
"href": "http://127.0.0.1:8585/v1/racks/1",
|
|
"rel": "self"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
|
|
Retrieve a single Node
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl http://0.0.0.0:8585/v1/nodes/1
|
|
|
|
response
|
|
^^^^^^^^
|
|
|
|
::
|
|
|
|
{
|
|
"nova_baremetal_node_id": "0e3ab3d3-bd85-40bd-b6a1-fae484040825",
|
|
"id": "1",
|
|
"links":
|
|
[
|
|
{
|
|
"href": "http://127.0.0.1:8585/v1/nodes/1",
|
|
"rel": "self"
|
|
}
|
|
],
|
|
"rack":
|
|
{
|
|
"id": 1,
|
|
"links":
|
|
[
|
|
{
|
|
"href": "http://127.0.0.1:8585/v1/racks/1",
|
|
"rel": "self"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Overcloud
|
|
----------
|
|
|
|
get Keystone URL for an overcloud
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
::
|
|
|
|
curl -X GET -H 'Content-Type:application/json' -H 'Accept: application/json' http://0.0.0.0:8585/v1/overclouds/cloudname
|
|
|
|
response
|
|
^^^^^^^^
|
|
|
|
::
|
|
|
|
{
|
|
"stack_name": "cloudname",
|
|
"links": [
|
|
{
|
|
"rel": "keystone",
|
|
"href": "http://192.0.2.5:5000/v2.0/"
|
|
}
|
|
]
|
|
}
|
|
|
|
`back to top <#index>`_
|