Advertisement
lucifer_chn

The shell script of initialize keystone

May 11th, 2012
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.13 KB | None | 0 0
  1. The shell script of initialize keystone:
  2.  
  3. #! /bin/sh
  4.  
  5. ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
  6. SERVICE_PASSWORD=${SERVICE_PASSWORD:-admin}
  7. export SERVICE_TOKEN=ADMIN
  8. export SERVICE_ENDPOINT=http://localhost:35357/v2.0
  9. SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME:-tenant}
  10.  
  11. function get_id () {
  12.     echo `$@ | awk '/ id / { print $4 }'`
  13. }
  14.  
  15. # Tenants
  16. ADMIN_TENANT=$(get_id keystone tenant-create --name=admin)
  17. SERVICE_TENANT=$(get_id keystone tenant-create --name=$SERVICE_TENANT_NAME)
  18. DEMO_TENANT=$(get_id keystone tenant-create --name=demo)
  19. NEWUSER_TENANT=$(get_id keystone tenant-create --name=newuser)
  20. INVIS_TENANT=$(get_id keystone tenant-create --name=invisible_to_admin)
  21.  
  22. # Users
  23. ADMIN_USER=$(get_id keystone user-create --name=admin --pass="$ADMIN_PASSWORD" --email=admin@example.com)
  24. DEMO_USER=$(get_id keystone user-create --name=demo --pass="$ADMIN_PASSWORD" --email=demo@example.com)
  25. NEWUSER_USER=$(get_id keystone user-create --name=newuser--pass="$ADMIN_PASSWORD" --email=newuser@example.com)
  26.  
  27. # Roles
  28. ADMIN_ROLE=$(get_id keystone role-create --name=admin)
  29. KEYSTONEADMIN_ROLE=$(get_id keystone role-create --name=KeystoneAdmin)
  30. KEYSTONESERVICE_ROLE=$(get_id keystone role-create --name=KeystoneServiceAdmin)
  31. ANOTHER_ROLE=$(get_id keystone role-create --name=anotherrole)
  32.  
  33. # Add Roles to Users in Tenants
  34. keystone user-role-add --user $ADMIN_USER --role $ADMIN_ROLE --tenant_id $ADMIN_TENANT
  35. keystone user-role-add --user $ADMIN_USER --role $ADMIN_ROLE --tenant_id $DEMO_TENANT
  36. keystone user-role-add --user $DEMO_USER --role $ANOTHER_ROLE --tenant_id $DEMO_TENANT
  37. keystone user-role-add --user $NEWUSER_USER --role $ANOTHER_ROLE --tenant_id $NEWUSER_TENANT
  38.  
  39. # TODO(termie): these two might be dubious
  40. keystone user-role-add --user $ADMIN_USER --role $KEYSTONEADMIN_ROLE --tenant_id $ADMIN_TENANT
  41. keystone user-role-add --user $ADMIN_USER --role $KEYSTONESERVICE_ROLE --tenant_id $ADMIN_TENANT
  42.  
  43. # The Member role is used by Horizon and Swift so we need to keep it:
  44. MEMBER_ROLE=$(get_id keystone role-create --name=Member)
  45. keystone user-role-add --user $DEMO_USER --role $MEMBER_ROLE --tenant_id $DEMO_TENANT
  46. keystone user-role-add --user $DEMO_USER --role $MEMBER_ROLE --tenant_id $INVIS_TENANT
  47. keystone user-role-add --user $NEWUSER_USER --role $MEMBER_ROLE --tenant_id $NEWUSER_TENANT
  48.  
  49. NOVA_USER=$(get_id keystone user-create --name=nova --pass="$SERVICE_PASSWORD" --tenant_id $SERVICE_TENAN
  50. T --email=nova@example.com)
  51.  
  52. keystone user-role-add --tenant_id $SERVICE_TENANT --user $NOVA_USER --role $ADMIN_ROLE
  53.  
  54. GLANCE_USER=$(get_id keystone user-create --name=glance --pass="$SERVICE_PASSWORD" --tenant_id $SERVICE_TENANT --email=glance@example.com)
  55.  
  56. keystone user-role-add --tenant_id $SERVICE_TENANT --user $GLANCE_USER --role $ADMIN_ROLE
  57.  
  58. SWIFT_USER=$(get_id keystone user-create --name=swift --pass="$SERVICE_PASSWORD" --tenant_id $SERVICE_TEN
  59. ANT --email=swift@example.com)
  60.  
  61. keystone user-role-add --tenant_id $SERVICE_TENANT --user $SWIFT_USER --role $ADMIN_ROLE
  62.  
  63. RESELLER_ROLE=$(get_id keystone role-create --name=ResellerAdmin)
  64.  
  65. keystone user-role-add --tenant_id $SERVICE_TENANT --user $NOVA_USER --role $RESELLER_ROLE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement