Merge branch 'feature-store' into develop
[kamaki] / docs / installation.rst
1 Installation
2 ============
3
4 This guide describes the standard installation process for kamaki, with the aspiration of covering as much cases as possible. Although kamaki was initially targeted to advanced Linux/Unix-like users, it should be quite straightforward to install and have it up and running in most popular platforms.
5
6
7 * Kamaki repository: `http://code.grnet.gr/git/kamaki <http://code.grnet.gr/git/kamaki>`_
8
9 * Kamaki at pypi: `http://pypi.python.org/pypi/kamaki <https://pypi.python.org/pypi/kamaki>`_
10
11 * Synnefo Linux packages: `http://apt2.dev.grnet.gr <http://apt2.dev.grnet.gr>`_
12
13 Linux and Unix-like enviroments
14 -------------------------------
15
16 Debian:
17 ^^^^^^^
18
19 The following steps describe a command-line approach, but any graphic package manager can be used instead.
20
21 * As root, append the following to */etc/apt/sources.list* ::
22
23     deb http://apt2.dev.grnet.gr stable/
24
25 * Make sure the GPG public key for the Synnefo development team is added:
26
27     .. code-block:: console
28
29         $ sudo curl https://dev.grnet.gr/files/apt-grnetdev.pub|apt-key add -
30
31     otherwise *apt-get update* will produce GPG warnings.
32
33 * Update the Debian sources:
34
35     .. code-block:: console
36
37         $ sudo apt-get update
38
39 * Install kamaki:
40
41     .. code-block:: console
42
43         $ sudo apt-get install kamaki
44
45 Ubuntu
46 ^^^^^^
47
48 The following steps describe a command-line approach, but any graphic package manager can be used instead.
49
50 * Let ppa take care of the repository configuration:
51
52     .. code-block:: console
53
54         $ sudo apt-get install python-software-properties
55         $ sudo add-apt-repository ppa:grnet/synnefo
56
57 * Update the Debian sources:
58
59     .. code-block:: console
60
61         $ sudo apt-get update
62
63 * Install kamaki:
64
65     .. code-block:: console
66
67         $ sudo apt-get install kamaki
68
69 Install ansicolors (optional but recommended)
70 """""""""""""""""""""""""""""""""""""""""""""
71
72 .. code-block:: console
73
74     $ sudo apt-get install python-ansicolors
75
76 Install mock (for developers only)
77 """"""""""""""""""""""""""""""""""
78
79 .. code-block:: console
80
81     $ sudo apt-get install python-mock
82
83 .. warning:: kamaki.clients unit-tests need python-mock 1.X or better. e.g.::
84
85     $ sudo apt-get install python-mock=1.0.1
86
87 .. _installing-from-pypi-ref:
88
89 Installing from pypi
90 ^^^^^^^^^^^^^^^^^^^^
91
92 Requirements
93 """"""""""""
94
95 Essential:
96
97  * Python 2.6 or better [http://www.python.org]
98  * Python setuptools [http://pypi.python.org/pypi/setuptools]
99
100 Optional:
101
102  * VirtualEnv (python-virtualenv) [http://www.virtualenv.org]
103
104 Setup a virtual enviroment (optional)
105 """""""""""""""""""""""""""""""""""""
106
107 With virtualenv users can setup kamaki and synnefo services in a sandbox environment.
108
109 .. code-block:: console
110
111     $ virtualenv kamaki-env
112     $ source kamaki-env/bin/activate
113
114 A more detailed example of using virtual env can be found at the `snf-image-creator setup guide <http://docs.dev.grnet.gr/snf-image-creator/latest/install.html#python-virtual-environment>`_
115
116 Install kamaki
117 """"""""""""""
118
119 .. code-block:: console
120
121     $ pip install kamaki
122
123 Install ansicolors
124 """"""""""""""""""
125
126 The **ansicolors** package is not required for running kamaki, but it is
127 recommended as a user experience improvement. In specific, ansicolors
128 adds colors to kamaki responses.
129
130 .. code-block:: console
131
132     $ pip install ansicolors
133
134 Install mock
135 """"""""""""
136
137 The **mock** package is needed for running the prepared unit-tests in the kamaki.clients
138 package. This feature is useful when extendnig / debugging kamaki functionality and is
139 aimed to kamaki developers and contributors. Therefore, users can enjoy the full kamaki
140 user experience without installing mock.
141
142 .. code-block:: console
143
144     $ pip install mock
145
146 .. warning:: mock version >= 1.X
147
148 Mac OS X
149 --------
150
151 Kamaki can be installed on Mac OS X systems from source, by following the steps at :ref:`installing-from-pypi-ref`.
152
153 Windows
154 -------
155
156 Kamaki can be installed on Windows by following the pypi method. Installing the requirements is a bit different than in other systems. 
157
158 The full process is detailed in the following:
159
160 Requirements
161 ^^^^^^^^^^^^
162
163 * Python 2.7 or better (`Official versions <http://www.python.org/getit>`_)
164
165 * Setuptools (`Official versions and workarounds <http://pypi.python.org/pypi/setuptools>`_)
166
167 Users who have already set up python and setuptools (e.g. for another project) may skip python and / or setup tools installation.
168
169 Install python
170 ^^^^^^^^^^^^^^
171
172 Download and run the Windows installer from `here <http://www.python.org/getit>`_
173
174 Users should pick the installer that fits their windows version and architecture.
175
176 Add python to windows path
177 ^^^^^^^^^^^^^^^^^^^^^^^^^^
178
179 The following will allow users to run python and python scripts from command line.
180
181 * Select **System** from the Control Panel, select the **Advanced** tab, the **Environment Variables** button and then find the **PATH** (user or system) and **edit**
182
183 * Without removing existing values, append the following to PATH::
184
185     C:\Python;C:\Python\Scripts
186
187 .. note:: Path values are separated by semicolons
188
189 .. warning:: C:\\Python should be replaced with the actual python path in the system, e.g. C:\\Python27
190
191 Install setuptools
192 ^^^^^^^^^^^^^^^^^^
193
194 According to the corresponding `python org page <http://pypi.python.org/pypi/setuptools>`_, the setuptools installer doesn't currently work on 64bit machines.
195
196 * Users with 32-bit operating systems should download and run the graphic installer
197
198 * Users with 64-bit machines should download the `ez_setup.py <http://peak.telecommunity.com/dist/ez_setup.py>`_ script and install it from a command shell. In the following example, the script was downloaded at C:\\Downloads::
199
200     C:\> cd Downloads
201     C:\Downloads\> python ez_setup.py
202     ...
203     Installation finished
204     C:\Downloads\>
205
206 Install kamaki
207 ^^^^^^^^^^^^^^
208
209 .. code-block:: console
210
211     $ easy_setup kamaki