cloudstack.rst 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. ===============================
  2. Getting Started with CloudStack
  3. ===============================
  4. CloudStack is one the most popular cloud projects. It's an open source project
  5. to build public and/or private clouds. You can use Salt Cloud to launch
  6. CloudStack instances.
  7. Dependencies
  8. ============
  9. * Libcloud >= 0.13.2
  10. Configuration
  11. =============
  12. Using Salt for CloudStack, requires an ``API key`` and a ``secret key`` along with the API address endpoint information.
  13. .. code-block:: yaml
  14. # Note: This example is for /etc/salt/cloud.providers or any file in the
  15. # /etc/salt/cloud.providers.d/ directory.
  16. exoscale:
  17. driver: cloudstack
  18. host: api.exoscale.ch
  19. path: /compute
  20. apikey: EXOAPIKEY
  21. secretkey: EXOSECRETKEYINYOURACCOUNT
  22. .. note::
  23. .. versionchanged:: 2015.8.0
  24. The ``provider`` parameter in cloud provider definitions was renamed to ``driver``. This
  25. change was made to avoid confusion with the ``provider`` parameter that is used in cloud profile
  26. definitions. Cloud provider definitions now use ``driver`` to refer to the Salt cloud module that
  27. provides the underlying functionality to connect to a cloud host, while cloud profiles continue
  28. to use ``provider`` to refer to provider configurations that you define.
  29. Profiles
  30. ========
  31. Cloud Profiles
  32. ~~~~~~~~~~~~~~
  33. Set up an initial profile at ``/etc/salt/cloud.profiles`` or in the
  34. ``/etc/salt/cloud.profiles.d/`` directory:
  35. .. code-block:: yaml
  36. exoscale-ubuntu:
  37. provider: exoscale-config
  38. image: Ubuntu 16.04
  39. size: Small
  40. location: ch-gva-2
  41. Locations can be obtained using the ``--list-locations`` option for the ``salt-cloud``
  42. command:
  43. .. code-block:: bash
  44. # salt-cloud --list-locations exoscale-config
  45. exoscale:
  46. ----------
  47. cloudstack:
  48. ----------
  49. ch-dk-2:
  50. ----------
  51. country:
  52. Unknown
  53. driver:
  54. id:
  55. 91e5e9e4-c9ed-4b76-bee4-427004b3baf9
  56. name:
  57. ch-dk-2
  58. ch-gva-2:
  59. ----------
  60. country:
  61. Unknown
  62. driver:
  63. id:
  64. 1128bd56-b4d9-4ac6-a7b9-c715b187ce11
  65. name:
  66. ch-gva-2
  67. Sizes can be obtained using the ``--list-sizes`` option for the ``salt-cloud``
  68. command:
  69. .. code-block:: bash
  70. # salt-cloud --list-sizes exoscale
  71. exoscale:
  72. ----------
  73. cloudstack:
  74. ----------
  75. Extra-large:
  76. ----------
  77. bandwidth:
  78. 0
  79. disk:
  80. 0
  81. driver:
  82. extra:
  83. ----------
  84. cpu:
  85. 4
  86. get_uuid:
  87. id:
  88. 350dc5ea-fe6d-42ba-b6c0-efb8b75617ad
  89. name:
  90. Extra-large
  91. price:
  92. 0
  93. ram:
  94. 16384
  95. uuid:
  96. edb4cd4ae14bbf152d451b30c4b417ab095a5bfe
  97. ...SNIP...
  98. Images can be obtained using the ``--list-images`` option for the ``salt-cloud``
  99. command:
  100. .. code-block:: bash
  101. # salt-cloud --list-images exoscale
  102. exoscale:
  103. ----------
  104. cloudstack:
  105. ----------
  106. Linux CentOS 6.6 64-bit:
  107. ----------
  108. driver:
  109. extra:
  110. ----------
  111. displaytext:
  112. Linux CentOS 6.6 64-bit 10G Disk (2014-12-01-bac8e0)
  113. format:
  114. QCOW2
  115. hypervisor:
  116. KVM
  117. os:
  118. Other PV (64-bit)
  119. size:
  120. 10737418240
  121. get_uuid:
  122. id:
  123. aa69ae64-1ea9-40af-8824-c2c3344e8d7c
  124. name:
  125. Linux CentOS 6.6 64-bit
  126. uuid:
  127. f26b4f54ec8591abdb6b5feb3b58f720aa438fee
  128. ...SNIP...
  129. CloudStack specific settings
  130. ============================
  131. security_group
  132. ~~~~~~~~~~~~~~
  133. .. versionadded:: next-release
  134. You can specify a list of security groups (by name or id) that should be
  135. assigned to the VM.
  136. .. code-block:: yaml
  137. exoscale:
  138. provider: cloudstack
  139. security_group:
  140. - default
  141. - salt-master