0.6.0.rst 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. ==============================
  2. Salt Cloud 0.6.0 Release Notes
  3. ==============================
  4. The new Salt project, Salt Cloud, is introduced with version 0.6.0. Salt Cloud
  5. has been developed to ease the automation and integration of Salt with public
  6. cloud providers by allowing cloud vms to be cleanly defined, created, and
  7. automatically hooked back into a Salt Master.
  8. While Salt Cloud is primarily made to build cloud vms to tie into a Salt Mater,
  9. it has been created in a generic way, so that it can be used to provision and
  10. hook systems of any type via the familiar Salt modules system.
  11. This release supports three public cloud providers (all via libcloud),
  12. Amazon EC2, Rackspace Cloud and Linode.
  13. Documentation
  14. =============
  15. The documentation for Salt Cloud can be found on Read the Docs:
  16. https://salt-cloud.readthedocs.io
  17. Download
  18. ========
  19. Salt Cloud can be downloaded and install via pypi or github:
  20. https://pypi.python.org/packages/source/s/salt-cloud/salt-cloud-0.6.0.tar.gz
  21. https://cloud.github.com/downloads/saltstack/salt-cloud/salt-cloud-0.6.0.tar.gz
  22. Packages are not yet available, Salt Cloud requires three dependencies, the
  23. salt libs, libcloud, and paramiko.
  24. Extensible With Cloud Modules
  25. =============================
  26. The Salt loader system has been employed to make adding support for additional
  27. public cloud systems just as modular and simple as adding support for new
  28. package managers in Salt.
  29. Adding support for a new cloud provider is extremely simple, just add a cloud
  30. module and everything cleanly links together.
  31. Define VM Profiles
  32. ==================
  33. The way a vms is created is done via profiles. Profiles are used to define what
  34. properties a vm will have, the cloud provider, the size and the image.
  35. .. code-block:: yaml
  36. centos_rackspace:
  37. provider: rackspace
  38. image: CentOS 6.2
  39. size: 1024 server
  40. os: RHEL6
  41. minion:
  42. grains:
  43. role: webserver
  44. master: salt.example.com
  45. This profile will be used to create vms on Rackspace cloud with the CentOS 6.2
  46. image and the Rackspace 1024 vm size. Particulars of the minion config can
  47. also be specified.
  48. Individual vms can be created from profiles:
  49. .. code-block:: bash
  50. # salt-cloud -p centos_rackspace web1
  51. This command creates a vms with the name web1 on the Rackspace cloud and
  52. connects the new vm to a Salt Master located at salt.example.com. The new VM
  53. has the Salt id of web1.
  54. Define Maps of Profiles
  55. =======================
  56. When it is desired to have a predefined mapping of many, or a specific group
  57. of vms then a cloud map can be defined:
  58. .. code-block:: yaml
  59. centos_rackspace:
  60. web1
  61. web2
  62. web3
  63. web4
  64. centos_linode:
  65. redis1
  66. riak1
  67. riak2
  68. riak3
  69. ubuntu_ec2:
  70. dev1
  71. dev2
  72. cassandra1
  73. cassandra2
  74. cassandra3
  75. This map file will create vms named web 1-4 using the centos_rackspace profile
  76. on rackspace, the redis and riak vms on linode and the dev and Cassandra vms on
  77. ec2. It can be run with salt-cloud:
  78. .. code-block:: bash
  79. # salt-cloud -m mapfile
  80. When creating more than one vm the -P option can be passed, to make the vms
  81. provision in parallel, greatly speeding up large scale expansions of vms.