Primeiros passos com trystack.org (sandbox OpenStack)

Aqui estão várias etapas simples para você começar a usar http://trystack.org , uma sandbox para http://openstack.org

A missão do OpenStacks é produzir a onipresente plataforma Open Source Cloud Computing que atenderá às necessidades de nuvens públicas e privadas, independentemente do tamanho, por ser simples de implementar e extremamente escalável.

Substituí todos os IDs válidos por * **

Registro

Acesse http://eepurl.com/nGEzj e siga as etapas de registro

Seja aprovado

O processo de aprovação parece ser manual, por isso pode demorar alguns dias. Assim que receber um e-mail de confirmação, faça login em http://arm.trystack.org/nova/

O login bem-sucedido significa que você pode navegar no OpenStack WebUI e também executar chamadas de API.

API | Obter token de autenticação

A primeira etapa no uso de APIs OpenStack é obter um token. O primeiro token que obtemos é uma espécie de token temporário, pois ainda não sabemos nosso tenantId .

curl -k -X 'POST' -v http://arm.trystack.org:5000/v2.0/tokens -d '{"auth":{"passwordCredentials":{"username": "user***", "password":"pass***"}, "tenantId":""}}' -H 'Content-type: application/json'  

Observe um tenantId vazio

{
"access": {
"token": {
"expires": "2012-10-31T20:48:27Z",
"id": "token***"
},
"serviceCatalog": {},
"user": {
"username": "user***",
"roles_links": [],
"id": "***",
"roles": [],
"name": "user***"
}
}
}

API | Use o token de autenticação para recuperar tenantId

 curl -H "X-Auth-Token:token***" http://arm.trystack.org:5000/v2.0/tenants

{
"tenants_links": [],
"tenants": [
{
"enabled": "true",
"description": "user***",
"name": "user***",
"id": "tenant***"
}
]
}

API | Obtenha um token real

Agora podemos obter um token real, pois conhecemos nosso tenantId

curl -k -X 'POST' -v http://arm.trystack.org:5000/v2.0/tokens -d '{"auth":{"passwordCredentials":{"username": "user***", "password":"pass***"}, "tenantId":"tenant***"}}' -H 'Content-type: application/json'  

O JSON resultante conterá uma lista de endpoints, por exemplo:

{
"endpoints": [
{
"adminURL": "http://10.225.0.8:8774/v2/tenant***",
"region": "Calxeda-AUS1",
"internalURL": "http://10.225.0.8:8774/v2/tenant***",
"publicURL": "http://208.123.85.197:8774/v2/tenant***"
}
],
"endpoints_links": [],
"type": "compute",
"name": "nova"
}

bem como um novo token válido:

{
"access": {
"token": {
"expires": "2012-10-31T17: 13: 12Z",
"id": "new_token***",
"tenant": {
"enabled": true,
"id": "tenant***",
"name": "user***",
"description": "user***"
}
}
}

API | Consultando servidores

Agora temos 2 parâmetros importantes para fazer uma consulta de status do servidor:

Um token de autenticação válido
Um URL de endpoint para API Compute

curl -v -H "X-Auth-Token:new_token***" http://208.123.85.197:8774/v2/tenant***/servers

O resultado é um metadado do servidor. Observe que trystack.org fornecerá um servidor Ubuntu padrão para você quando você se registrar.

{
"servers": [
{
"id": "server***",
"links": [
{
"href": "http://208.123.85.197:8774/v2/tenant***/servers/server***",
"rel": "self"
},
{
"href": "http://208.123.85.197:8774/tenant***/servers/server***",
"rel": "bookmark"
}
],
"name": "The best server ever"
}
]
}