ishikawa84g

20141221_keystone_data.sh

Dec 21st, 2014
184
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.  
  26. # SERVICE PROTOCOL
  27. KEYSTONE_PUBLIC_SERVICE_PROTOCOL=http
  28. KEYSTONE_ADMIN_SERVICE_PROTOCOL=http
  29. KEYSTONE_INTERNAL_SERVICE_PROTOCOL=http
  30. CINDER_PUBLIC_SERVICE_PROTOCOL=http
  31. CINDER_ADMIN_SERVICE_PROTOCOL=http
  32. CINDER_INTERNAL_SERVICE_PROTOCOL=http
  33.  
  34. # SERVICE PORT
  35. KEYSTONE_PUBLIC_PORT=5000
  36. KEYSTONE_ADMIN_PORT=35357
  37. CINDER_PORT=8776
  38.  
  39. # IDENTITY
  40. IDENTITY_API_VERSION=2.0
  41. REGION=regionOne
  42.  
  43. # SERVICE HOST ADDRESS
  44. KEYSTONE_PUBLIC_SERVICE_HOST=192.168.56.121
  45. KEYSTONE_ADMIN_SERVICE_HOST=192.168.5.121
  46. KEYSTONE_INTERNAL_SERVICE_HOST=192.168.5.121
  47. CINDER_PUBLIC_SERVICE_HOST=192.168.56.121
  48. CINDER_ADMIN_SERVICE_HOST=192.168.5.121
  49. CINDER_INTERNAL_SERVICE_HOST=192.168.5.121
  50.  
  51. export OS_TOKEN=999888777666
  52. export OS_URL=http://127.0.0.1:35357/v2.0
  53. # OR openstack --os-token $OS_TOKEN --os-url $OS_URL
  54.  
  55. # --------------------------------------
  56. # Functions
  57. # --------------------------------------
  58. function get_field {
  59. while read data; do
  60. if [ "$1" -lt 0 ]; then
  61. field="(\$(NF$1))"
  62. else
  63. field="\$$(($1 + 1))"
  64. fi
  65. echo "$data" | awk -F'[ \t]*\\|[ \t]*' "{print $field}"
  66. done
  67. }
  68.  
  69. # --------------------------------------
  70. # Roles
  71. # --------------------------------------
  72. openstack role create $ADMIN_ROLE
  73. #openstack role create $MEMBER_ROLE
  74.  
  75. # --------------------------------------
  76. # Projects
  77. # --------------------------------------
  78. openstack project create $ADMIN_PROJECT
  79. openstack project create $DEMO_PROJECT
  80. openstack project create $SERVICE_PROJECT
  81.  
  82. # --------------------------------------
  83. # Users
  84. # --------------------------------------
  85. openstack user create --project $ADMIN_PROJECT --email $ADMIN_EMAIL --password $ADMIN_PASSWORD $ADMIN_USER
  86. openstack user create --project $DEMO_PROJECT --email $DEMO_EMAIL --password $DEMO_PASSWORD $DEMO_USER
  87.  
  88. # --------------------------------------
  89. # Service Users
  90. # --------------------------------------
  91. openstack user create --project $SERVICE_PROJECT --email $CINDER_EMAIL --password $CINDER_PASSWORD $CINDER_USER
  92.  
  93. # --------------------------------------
  94. # Role add
  95. # --------------------------------------
  96. openstack role add --project $ADMIN_PROJECT --user $ADMIN_USER $ADMIN_ROLE
  97. openstack role add --project $DEMO_PROJECT --user $ADMIN_USER $ADMIN_ROLE
  98. #openstack role add --project $DEMO_PROJECT --user $DEMO_USER $MEMBER_ROLE
  99.  
  100. openstack role add --project $SERVICE_PROJECT --user $CINDER_USER $ADMIN_ROLE
  101.  
  102. # --------------------------------------
  103. # Service
  104. # --------------------------------------
  105. openstack service create --type identity --description "Keystone Identity Service" keystone
  106. openstack service create --type volume --description="Cinder Volume Service" cinder
  107. openstack service create --type volumev2 --description="Cinder Volume Service V2" cinderv2
  108.  
  109. # --------------------------------------
  110. # Endpoint
  111. # --------------------------------------
  112.  
  113. # Keystone
  114. openstack endpoint create \
  115. --region $REGION \
  116. --publicurl "${KEYSTONE_PUBLIC_SERVICE_PROTOCOL}://${KEYSTONE_PUBLIC_SERVICE_HOST}:${KEYSTONE_PUBLIC_PORT}/v${IDENTITY_API_VERSION}" \
  117. --adminurl "${KEYSTONE_ADMIN_SERVICE_PROTOCOL}://${KEYSTONE_INTERNAL_SERVICE_HOST}:${KEYSTONE_ADMIN_PORT}/v${IDENTITY_API_VERSION}" \
  118. --internalurl "${KEYSTONE_INTERNAL_SERVICE_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_PUBLIC_PORT}/v${IDENTITY_API_VERSION}" \
  119. keystone
  120.  
  121. # Cinder
  122. openstack endpoint create \
  123. --region $REGION \
  124. --publicurl "${CINDER_PUBLIC_SERVICE_PROTOCOL}://${CINDER_PUBLIC_SERVICE_HOST}:${CINDER_PORT}/v1/\$(tenant_id)s" \
  125. --adminurl "${CINDER_ADMIN_SERVICE_PROTOCOL}://${CINDER_ADMIN_SERVICE_HOST}:${CINDER_PORT}/v1/\$(tenant_id)s" \
  126. --internalurl "${CINDER_INTERNAL_SERVICE_PROTOCOL}://${CINDER_INTERNAL_SERVICE_HOST}:${CINDER_PORT}/v1/\$(tenant_id)s" \
  127. cinder
  128.  
  129. openstack endpoint create \
  130. --region $REGION \
  131. --publicurl "${CINDER_PUBLIC_SERVICE_PROTOCOL}://${CINDER_PUBLIC_SERVICE_HOST}:${CINDER_PORT}/v2/\$(tenant_id)s" \
  132. --adminurl "${CINDER_ADMIN_SERVICE_PROTOCOL}://${CINDER_ADMIN_SERVICE_HOST}:${CINDER_PORT}/v2/\$(tenant_id)s" \
  133. --internalurl "${CINDER_INTERNAL_SERVICE_PROTOCOL}://${CINDER_INTERNAL_SERVICE_HOST}:${CINDER_PORT}/v2/\$(tenant_id)s" \
  134. cinderv2
Advertisement
Add Comment
Please, Sign In to add comment