Advertisement
ishikawa84g

20141221_keystone_data.sh

Dec 21st, 2014
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # -----------
  4. # Defaults
  5. # -----------
  6.  
  7. SERVICE_PROJECT=service
  8. ADMIN_PROJECT=admin
  9. DEMO_PROJECT=demo
  10.  
  11. ADMIN_ROLE=admin
  12. MEMBER_ROLE=_member_
  13.  
  14. # SERVIVCE PASSWORD
  15. ADMIN_PASSWORD=Stackers0
  16. DEMO_PASSWORD=Stackers0
  17. CINDER_PASSWORD=Stackers0
  18.  
  19. # SERVICE USER
  20. ADMIN_USER=admin
  21. DEMO_USER=demo
  22. CINDER_USER=cinder
  23.  
  24. # E-MAIL ADDRESS
  25. ADMIN_EMAIL=admin@example.com
  26. DEMO_EMAIL=demo@example.com
  27. CINDER_EMAIL=cinder@example.com
  28.  
  29. # SERVICE PROTOCOL
  30. KEYSTONE_PUBLIC_SERVICE_PROTOCOL=http
  31. KEYSTONE_ADMIN_SERVICE_PROTOCOL=http
  32. KEYSTONE_INTERNAL_SERVICE_PROTOCOL=http
  33. CINDER_PUBLIC_SERVICE_PROTOCOL=http
  34. CINDER_ADMIN_SERVICE_PROTOCOL=http
  35. CINDER_INTERNAL_SERVICE_PROTOCOL=http
  36.  
  37. # SERVICE PORT
  38. KEYSTONE_PUBLIC_PORT=5000
  39. KEYSTONE_ADMIN_PORT=35357
  40. CINDER_PORT=8776
  41.  
  42. # IDENTITY
  43. IDENTITY_API_VERSION=2.0
  44. REGION=regionOne
  45.  
  46. # SERVICE HOST ADDRESS
  47. KEYSTONE_PUBLIC_SERVICE_HOST=192.168.56.121
  48. KEYSTONE_ADMIN_SERVICE_HOST=192.168.5.121
  49. KEYSTONE_INTERNAL_SERVICE_HOST=192.168.5.121
  50. CINDER_PUBLIC_SERVICE_HOST=192.168.56.121
  51. CINDER_ADMIN_SERVICE_HOST=192.168.5.121
  52. CINDER_INTERNAL_SERVICE_HOST=192.168.5.121
  53.  
  54. export OS_TOKEN=999888777666
  55. export OS_URL=http://127.0.0.1:35357/v2.0
  56. # OR openstack --os-token $OS_TOKEN --os-url $OS_URL
  57.  
  58. # --------------------------------------
  59. # Functions
  60. # --------------------------------------
  61. function get_field {
  62. while read data; do
  63. if [ "$1" -lt 0 ]; then
  64. field="(\$(NF$1))"
  65. else
  66. field="\$$(($1 + 1))"
  67. fi
  68. echo "$data" | awk -F'[ \t]*\\|[ \t]*' "{print $field}"
  69. done
  70. }
  71.  
  72. # --------------------------------------
  73. # Roles
  74. # --------------------------------------
  75. openstack role create $ADMIN_ROLE
  76. #openstack role create $MEMBER_ROLE
  77.  
  78. # --------------------------------------
  79. # Projects
  80. # --------------------------------------
  81. openstack project create $ADMIN_PROJECT
  82. openstack project create $DEMO_PROJECT
  83. openstack project create $SERVICE_PROJECT
  84.  
  85. # --------------------------------------
  86. # Users
  87. # --------------------------------------
  88. openstack user create --project $ADMIN_PROJECT --email $ADMIN_EMAIL --password $ADMIN_PASSWORD $ADMIN_USER
  89. openstack user create --project $DEMO_PROJECT --email $DEMO_EMAIL --password $DEMO_PASSWORD $DEMO_USER
  90.  
  91. # --------------------------------------
  92. # Service Users
  93. # --------------------------------------
  94. openstack user create --project $SERVICE_PROJECT --email $CINDER_EMAIL --password $CINDER_PASSWORD $CINDER_USER
  95.  
  96. # --------------------------------------
  97. # Role add
  98. # --------------------------------------
  99. openstack role add --project $ADMIN_PROJECT --user $ADMIN_USER $ADMIN_ROLE
  100. openstack role add --project $DEMO_PROJECT --user $ADMIN_USER $ADMIN_ROLE
  101. #openstack role add --project $DEMO_PROJECT --user $DEMO_USER $MEMBER_ROLE
  102.  
  103. openstack role add --project $SERVICE_PROJECT --user $CINDER_USER $ADMIN_ROLE
  104.  
  105. # --------------------------------------
  106. # Service
  107. # --------------------------------------
  108. openstack service create --type identity --description "Keystone Identity Service" keystone
  109. openstack service create --type volume --description="Cinder Volume Service" cinder
  110. openstack service create --type volumev2 --description="Cinder Volume Service V2" cinderv2
  111.  
  112. # --------------------------------------
  113. # Endpoint
  114. # --------------------------------------
  115.  
  116. # Keystone
  117. openstack endpoint create \
  118. --region $REGION \
  119. --publicurl "${KEYSTONE_PUBLIC_SERVICE_PROTOCOL}://${KEYSTONE_PUBLIC_SERVICE_HOST}:${KEYSTONE_PUBLIC_PORT}/v${IDENTITY_API_VERSION}" \
  120. --adminurl "${KEYSTONE_ADMIN_SERVICE_PROTOCOL}://${KEYSTONE_INTERNAL_SERVICE_HOST}:${KEYSTONE_ADMIN_PORT}/v${IDENTITY_API_VERSION}" \
  121. --internalurl "${KEYSTONE_INTERNAL_SERVICE_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_PUBLIC_PORT}/v${IDENTITY_API_VERSION}" \
  122. keystone
  123.  
  124. # Cinder
  125. openstack endpoint create \
  126. --region $REGION \
  127. --publicurl "${CINDER_PUBLIC_SERVICE_PROTOCOL}://${CINDER_PUBLIC_SERVICE_HOST}:${CINDER_PORT}/v1/\$(tenant_id)s" \
  128. --adminurl "${CINDER_ADMIN_SERVICE_PROTOCOL}://${CINDER_ADMIN_SERVICE_HOST}:${CINDER_PORT}/v1/\$(tenant_id)s" \
  129. --internalurl "${CINDER_INTERNAL_SERVICE_PROTOCOL}://${CINDER_INTERNAL_SERVICE_HOST}:${CINDER_PORT}/v1/\$(tenant_id)s" \
  130. cinder
  131.  
  132. openstack endpoint create \
  133. --region $REGION \
  134. --publicurl "${CINDER_PUBLIC_SERVICE_PROTOCOL}://${CINDER_PUBLIC_SERVICE_HOST}:${CINDER_PORT}/v2/\$(tenant_id)s" \
  135. --adminurl "${CINDER_ADMIN_SERVICE_PROTOCOL}://${CINDER_ADMIN_SERVICE_HOST}:${CINDER_PORT}/v2/\$(tenant_id)s" \
  136. --internalurl "${CINDER_INTERNAL_SERVICE_PROTOCOL}://${CINDER_INTERNAL_SERVICE_HOST}:${CINDER_PORT}/v2/\$(tenant_id)s" \
  137. cinderv2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement