|
META TOPICPARENT |
name="GestioneServiziGenerali.GestioneOpenstack" |
Installazione e configurazione del servizio Identity (Keystone)
|
|
Dove <ADMIN_TENANT_ID> è l'ID del tenant appena creato, mentre <ADMIN_PASSWORD> è la password scelta per l'utente "adminUser". |
|
< < | Creazione dei ruoli admin e memberRole |
> > | Creazione del ruolo "admin" |
|
- Creare il ruolo lanciando il seguente comando:
|
|
# export ADMIN_ROLE_ID=2f196d11ff954c67befc3f190195f47c |
|
< < | # keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT role-create --name memberRole
+----------+----------------------------------+
+----------+----------------------------------+
id |
d193b58e977d4c398b41c518f3629ea7 |
name |
memberRole |
+----------+----------------------------------+ |
|
Assegnazione del ruolo "admin" all'utente "AdminUser"
- Assegnare il ruolo tramite il seguente comando:
|
|
< < | # keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT user-role-add --user $ADMIN_USER_ID --tenant_id $ADMIN_TENANT_ID --role $ADMIN_ROLE_ID |
> > | # keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT user-role-add --user_id $ADMIN_USER_ID --tenant_id $ADMIN_TENANT_ID --role_id $ADMIN_ROLE_ID |
|
Dove <ADMIN_USER_ID> e <ADMIN_TENANT_ID> sono rispettivamente gli ID di user e tenant appena creati. $ADMIN_ROLE_ID è invece l'id del ruolo "admin" esportato nell'istruzione precedente. Nota bene: non viene visualizzato nulla se il comando ha successo. |
|
- Assegnare il ruolo tramite il seguente comando:
|
|
< < | keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT user-role-add --user $GLANCE_USER_ID --tenant_id $SERVICE_TENANT_ID --role $ADMIN_ROLE_ID |
> > | keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT user-role-add --user_id $GLANCE_USER_ID --tenant_id $SERVICE_TENANT_ID --role_id $ADMIN_ROLE_ID |
|
Nota bene: non viene visualizzato nulla se il comando ha successo. |
|
- Assegnare il ruolo tramite il seguente comando:
|
|
< < | # keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT user-role-add --user $NOVA_USER_ID --tenant_id $SERVICE_TENANT_ID --role $ADMIN_ROLE_ID
Nota bene: non viene visualizzato nulla se il comando ha successo.
Creazione ed inserimento dell'utente associato a EC2
Nota bene: non viene visualizzato nulla se il comando ha successo.
Creazione ed inserimento dell'utente associato a Swift
|
> > | # keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT user-role-add --user_id $NOVA_USER_ID --tenant_id $SERVICE_TENANT_ID --role_id $ADMIN_ROLE_ID |
|
Nota bene: non viene visualizzato nulla se il comando ha successo. |
|
- Creare l'endpoint per il servizio "nova":
|
|
< < | # keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT endpoint-create --region RegionOne --service_id=$NOVA_SERVICE_ID --publicurl='http://:8774/v2/%(tenant_id)s'
--internalurl='http://:8774/v2/%(tenant_id)s' --adminurl='http://:8774/v2/%(tenant_id)s' |
> > | # keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT endpoint-create --region RegionOne --service_id=$NOVA_SERVICE_ID --publicurl='http://:8774/v2/%(tenant_id)s' --internalurl='http://:8774/v2/%(tenant_id)s' --adminurl='http://:8774/v2/%(tenant_id)s' |
| +-------------+--------------------------------------------------------+
+-------------+--------------------------------------------------------+ |
| Dove <GLANCE_SERVER_HOSTNAME> è l'hostname del server sui è installato il servizio Glance. Nel nostro caso è "openstack-01.cnaf.infn.it".
|
|
< < | Definizione del servizio compatibility (EC2)
- Creare il servizio "ec2":
# keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT service-create --name=ec2 --type=ec2 --description="EC2 Compatibility Service"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | EC2 Compatibility Service |
| id | 0f30dac463d242668e999955f7ee3d61 |
| name | ec2 |
| type | ec2 |
+-------------+----------------------------------+
export EC2_COMPATIBILITY_SERVICE_ID=0f30dac463d242668e999955f7ee3d61
- Creare l'endpoint per il servizio "ec2":
# keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT endpoint-create --region RegionOne --service_id=$EC2_COMPATIBILITY_SERVICE_ID --publicurl=http://<EC2_SERVER_HOSTNAME>:8773/services/Cloud --internalurl=http://<EC2_SERVER_HOSTNAME>:8773/services/Cloud --adminurl=http://<EC2_SERVER_HOSTNAME>:8773/services/Cloud
+-------------+------------------------------------------------------+
| Property | Value |
+-------------+------------------------------------------------------+
| adminurl | http://openstack-01.cnaf.infn.it:8773/services/Cloud |
| id | e927ee99f3b84894a11f9216118d677a |
| internalurl | http://openstack-01.cnaf.infn.it:8773/services/Cloud |
| publicurl | http://openstack-01.cnaf.infn.it:8773/services/Cloud |
| region | RegionOne |
| service_id | 0f30dac463d242668e999955f7ee3d61 |
+-------------+------------------------------------------------------+
Dove <EC2_SERVER_HOSTNAME> è l'hostname del server sui è installato il servizio EC2. Nel caso di questo prototipo EC2 non è stato installato.
Definizione del servizio object storage (Swift)
Il servizio object storage richiede un endpoint specifico per ogni tenant.
- Creare il servizio "swift":
# keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT service-create --name=swift --type=object-store --description="Object Storage Service"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Object Storage Service |
| id | 5b978ae3aeb1456a9d14c76f1d0c7956 |
| name | swift |
| type | object-store |
+-------------+----------------------------------+
export OBJECT_STORAGE_SERVICE_ID=5b978ae3aeb1456a9d14c76f1d0c7956
- Creare l'endpoint per il servizio "swift":
# keystone --token $ADMIN_TOKEN --endpoint $ENDPOINT endpoint-create --region RegionOne --service_id=$OBJECT_STORAGE_SERVICE_ID --publicurl='<SWIFT_SERVER_HOSTNAME>:8080/v1/AUTH_%(tenant_id)s' --internalurl='<SWIFT_SERVER_HOSTNAME>:8080/v1/AUTH_%(tenant_id)s' --adminurl='<SWIFT_SERVER_HOSTNAME>:8080/v1/AUTH_%(tenant_id)s'
+-------------+-------------------------------------------------------------+
| Property | Value |
+-------------+-------------------------------------------------------------+
| adminurl | http://openstack-04.cnaf.infn.it:8080/v1/AUTH_%(tenant_id)s |
| id | ef01e39c5dde4757834aba9070132f34 |
| internalurl | http://openstack-04.cnaf.infn.it:8080/v1/AUTH_%(tenant_id)s |
| publicurl | http://openstack-04.cnaf.infn.it:8080/v1/AUTH_%(tenant_id)s |
| region | RegionOne |
| service_id | 5b978ae3aeb1456a9d14c76f1d0c7956 |
+-------------+-------------------------------------------------------------+
Dove <SWIFT_SERVER_HOSTNAME> è l'hostname del server sui è installato il servizio Swift. Nel nostro caso è "openstack-04.cnaf.infn.it".
|
|
Troubleshooting
- Per le principali operazioni di troubleshooting riferirsi alla guida.
|
| }
],
"endpoints_links": [], |
|
< < | "name": "ec2",
"type": "ec2"
},
{
"endpoints": [
{
-
-
-
-
-
-
-
- "adminURL"
- "http://hostname1.domain:8888/v1/AUTH_c8854bd3d15f4f479476d0cf58ef7db2",
- "internalURL"
- "http://hostname1.domain:8888/v1/AUTH_c8854bd3d15f4f479476d0cf58ef7db2",
- "publicURL"
- "http://hostname1.domain:8888/v1/AUTH_c8854bd3d15f4f479476d0cf58ef7db2",
- "region"
- "RegionOne" } ], "endpoints_links": [], "name": "swift", "type": "object-store" }, { "endpoints": [ {
- "adminURL"
- "http://hostname1.domain:35357/v2.0/",
- "internalURL"
- "http://hostname1.domain:5000/v2.0/",
- "publicURL"
- "http://hostname1.domain:5000/v2.0/",
- "region"
- "RegionOne" } ], "endpoints_links": [],
|
| "name": "keystone",
"type": "identity"
} |