Atšķirības starp "Hostnet OpenStack Cloud Compute API" versijām

No ''Hostnet Wiki''
Pārlēkt uz: navigācija, meklēt
 
(12 starpversijas, ko mainījis viens dalībnieks, nav parādītas)
1. rindiņa: 1. rindiņa:
 +
Example with using curl.
 +
 
Once you have these pieces of information, you can pass them into the SDK by replacing {username}, {password} and {projectID} with your info:
 
Once you have these pieces of information, you can pass them into the SDK by replacing {username}, {password} and {projectID} with your info:
  
4. rindiņa: 6. rindiņa:
  
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
~ curl -i \
+
curl -i \
 
   -H "Content-Type: application/json" \
 
   -H "Content-Type: application/json" \
 
   -d '
 
   -d '
38. rindiņa: 40. rindiņa:
  
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
curl -s -X GET https://identity.api.cloud.hostnet.lv/v3/endpoints \                         
+
curl -s -X GET https://identity.api.cloud.hostnet.lv/v3/auth/catalog \                         
 
   -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool
 
   -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool
  
# Set env variable for public compute and image URL:
+
# Set env variable for public compute, image and network endpoints:
 
export ENDPOINT="{computeURL}"
 
export ENDPOINT="{computeURL}"
 
export IMG_ENDPOINT="{imageURL}"
 
export IMG_ENDPOINT="{imageURL}"
 +
export NET_ENDPOINT="{networkURL}"
 
</syntaxhighlight>
 
</syntaxhighlight>
  
49. rindiņa: 52. rindiņa:
  
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
~ curl -s -X GET $ENDPOINT/flavors \
+
curl -s -X GET $ENDPOINT/flavors \
 
   -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool
 
   -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool
  
56. rindiņa: 59. rindiņa:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
!!!Full list of flavors!!!
+
Or get flavor there [[Hostnet_OpenStack_Cloud_Flavors|Hostnet OpenStack Cloud Flavors]]
  
 
# List available images:
 
# List available images:
  
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
~ curl -s -X GET $IMG_ENDPOINT/v2/images \
+
curl -s -X GET $IMG_ENDPOINT/v2/images \
 
   -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool
 
   -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool
  
67. rindiņa: 70. rindiņa:
 
export IMAGE_ID="{imageId}"
 
export IMAGE_ID="{imageId}"
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
# List available networks:
 +
 +
<syntaxhighlight lang=bash>
 +
curl -s -X GET $NET_ENDPOINT/v2.0/networks \
 +
  -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool
 +
 +
# Choose an network from the list and note its id.
 +
export NET_ID="{networkId}"
 +
</syntaxhighlight>
 +
 +
# Create server:
 +
 +
<syntaxhighlight lang=bash>
 +
curl -s $ENDPOINT/servers \
 +
  -X POST \
 +
  -H "X-Auth-Token: $OS_TOKEN" \
 +
  -H "Content-Type: application/json" \
 +
  -d '{"server": {"name": "MyNewServer", "imageRef": "e689ffc1-3cd5-4e9e-be6f-240fdaac83fd", "flavorRef": "687f86d4-c227-421e-9c32-43519a2b4363"}}' | python -m json.tool
 +
</syntaxhighlight>
 +
 +
Response:
 +
<syntaxhighlight lang="json">
 +
{
 +
    "server": {
 +
        "OS-DCF:diskConfig": "MANUAL",
 +
        "adminPass": "iH5oE7DSDzwz",
 +
        "id": "57037ac4-4478-4708-bd17-46273bcc3b06",
 +
        "links": [
 +
            {
 +
                "href": "https://compute.api.cloud.hostnet.lv/v2.1/86320c4cde114196a211b49d3ba9c5f3/servers/57037ac4-4478-4708-bd17-46273bcc3b06",
 +
                "rel": "self"
 +
            },
 +
            {
 +
                "href": "https://compute.api.cloud.hostnet.lv/86320c4cde114196a211b49d3ba9c5f3/servers/57037ac4-4478-4708-bd17-46273bcc3b06",
 +
                "rel": "bookmark"
 +
            }
 +
        ],
 +
        "security_groups": [
 +
            {
 +
                "name": "default"
 +
            }
 +
        ]
 +
    }
 +
}
 +
</syntaxhighlight>
 +
 +
# Nova API documentation: https://developer.openstack.org/api-ref/compute/
 +
# Nova Python client: https://github.com/openstack/python-novaclient
 +
 +
[[Category:Hostnet OpenStack Cloud]]

Pašreizējā versija, 2017. gada 6. jūnijs, plkst. 14.03

Example with using curl.

Once you have these pieces of information, you can pass them into the SDK by replacing {username}, {password} and {projectID} with your info:

  1. {username}, {password} below are placeholders, do not enclose '{}' when you replace them with actual credentials.
curl -i \
  -H "Content-Type: application/json" \
  -d '
{ "auth": {
    "identity": {
      "methods": [
        "password"
      ],
      "password": {
        "user": {
          "name": "{username}",
          "domain": {
            "id": "default"
          },
          "password": "{password}"
        }
      }
    },
    "scope": {
      "project": {
        "id": "{projectID}"
      }
    }
  }
}' \
  https://identity.api.cloud.hostnet.lv/v3/auth/tokens

# From the resulting, set environment variable as X-Subject-Token value:
export OS_TOKEN="{X-Subject-Token}"
  1. Get service endpoints:
curl -s -X GET https://identity.api.cloud.hostnet.lv/v3/auth/catalog \                        
  -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool

# Set env variable for public compute, image and network endpoints:
export ENDPOINT="{computeURL}"
export IMG_ENDPOINT="{imageURL}"
export NET_ENDPOINT="{networkURL}"
  1. List available flavors:
curl -s -X GET $ENDPOINT/flavors \
  -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool

# Choose a flavor from the list and note its id.
export FLAVOR_ID="{flavorId}"

Or get flavor there Hostnet OpenStack Cloud Flavors

  1. List available images:
curl -s -X GET $IMG_ENDPOINT/v2/images \
  -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool

# Choose an image from the list and note its id.
export IMAGE_ID="{imageId}"
  1. List available networks:
curl -s -X GET $NET_ENDPOINT/v2.0/networks \
  -H "X-Auth-Token: $OS_TOKEN" | python -m json.tool

# Choose an network from the list and note its id.
export NET_ID="{networkId}"
  1. Create server:
curl -s $ENDPOINT/servers \
  -X POST \
  -H "X-Auth-Token: $OS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"server": {"name": "MyNewServer", "imageRef": "e689ffc1-3cd5-4e9e-be6f-240fdaac83fd", "flavorRef": "687f86d4-c227-421e-9c32-43519a2b4363"}}' | python -m json.tool

Response:

{
    "server": {
        "OS-DCF:diskConfig": "MANUAL",
        "adminPass": "iH5oE7DSDzwz",
        "id": "57037ac4-4478-4708-bd17-46273bcc3b06",
        "links": [
            {
                "href": "https://compute.api.cloud.hostnet.lv/v2.1/86320c4cde114196a211b49d3ba9c5f3/servers/57037ac4-4478-4708-bd17-46273bcc3b06",
                "rel": "self"
            },
            {
                "href": "https://compute.api.cloud.hostnet.lv/86320c4cde114196a211b49d3ba9c5f3/servers/57037ac4-4478-4708-bd17-46273bcc3b06",
                "rel": "bookmark"
            }
        ],
        "security_groups": [
            {
                "name": "default"
            }
        ]
    }
}
  1. Nova API documentation: https://developer.openstack.org/api-ref/compute/
  2. Nova Python client: https://github.com/openstack/python-novaclient