blob: dac45630389bdbef02f4d9434f20539193350e51 [file] [log] [blame]
Aleš Komáreke5b388f2017-02-06 15:48:57 +01001==============
2Glance formula
3==============
Filip Pytlound681ae22015-10-06 16:28:31 +02004
Jakub Pavlik9e85d172016-05-20 11:13:14 +02005The Glance project provides services for discovering, registering, and
6retrieving virtual machine images. Glance has a RESTful API that allows
7querying of VM image metadata as well as retrieval of the actual image.
Filip Pytlound681ae22015-10-06 16:28:31 +02008
Filip Pytlound681ae22015-10-06 16:28:31 +02009
Aleš Komáreke5b388f2017-02-06 15:48:57 +010010Sample pillars
11==============
Filip Pytlound681ae22015-10-06 16:28:31 +020012
13.. code-block:: yaml
14
15 glance:
16 server:
17 enabled: true
18 version: juno
Alena Holanovac1e51312016-03-22 14:08:44 +010019 workers: 8
Filip Pytlound681ae22015-10-06 16:28:31 +020020 policy:
21 publicize_image:
22 - "role:admin"
23 - "role:image_manager"
24 database:
25 engine: mysql
26 host: 127.0.0.1
27 port: 3306
28 name: glance
29 user: glance
30 password: pwd
31 identity:
32 engine: keystone
33 host: 127.0.0.1
34 port: 35357
35 tenant: service
36 user: glance
37 password: pwd
38 message_queue:
39 engine: rabbitmq
40 host: 127.0.0.1
41 port: 5672
42 user: openstack
43 password: pwd
44 virtual_host: '/openstack'
45 storage:
46 engine: file
47 images:
48 - name: "CirrOS 0.3.1"
49 format: qcow2
50 file: cirros-0.3.1-x86_64-disk.img
51 source: http://cdn.download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img
52 public: true
Petr Michalec86ec0142016-11-29 16:34:15 +010053 audit:
54 enabled: false
Simon Pasquier2acbef52017-02-03 15:09:39 +010055 api_limit_max: 100
56 limit_param_default: 50
57
58The pagination is controlled by the *api_limit_max* and *limit_param_default*
59parameters as shown above:
60
61* *api_limit_max* defines the maximum number of records that the server will
62 return.
63
64* *limit_param_default* is the default *limit* parameter that
65 applies if the request didn't defined it explicitly.
Filip Pytlound681ae22015-10-06 16:28:31 +020066
Aleš Komáreke5b388f2017-02-06 15:48:57 +010067Keystone and cinder region
68
69.. code-block:: yaml
70
71 glance:
72 server:
73 enabled: true
74 version: kilo
75 ...
76 identity:
77 engine: keystone
78 host: 127.0.0.1
79 region: RegionTwo
80 ...
81
82Ceph integration glance
83
84.. code-block:: yaml
85
86 glance:
87 server:
88 enabled: true
89 version: juno
90 storage:
91 engine: rbd,http
92 user: glance
93 pool: images
94 chunk_size: 8
95 client_glance_key: AQDOavlU6BsSJhAAnpFR906mvdgdfRqLHwu0Uw==
96
97RabbitMQ HA setup
98
99.. code-block:: yaml
100
101 glance:
102 server:
103 ....
104 message_queue:
105 engine: rabbitmq
106 members:
107 - host: 10.0.16.1
108 - host: 10.0.16.2
109 - host: 10.0.16.3
110 user: openstack
111 password: pwd
112 virtual_host: '/openstack'
113 ....
114
mnederlofad6d6242017-03-30 15:31:15 +0200115Enable Glance Image Cache:
116
117.. code-block:: yaml
118
119 glance:
120 server:
121 image_cache:
122 enabled: true
123 enable_management: true
124 directory: /var/lib/glance/image-cache/
125 max_size: 21474836480
126 ....
127
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100128Enable auditing filter (CADF):
129
130.. code-block:: yaml
131
132 glance:
133 server:
134 audit:
135 enabled: true
136 ....
137 filter_factory: 'keystonemiddleware.audit:filter_factory'
138 map_file: '/etc/pycadf/glance_api_audit_map.conf'
139 ....
140
RobertJansen168e84f92017-03-30 15:45:12 +0200141Swift integration glance
142
143.. code-block:: yaml
144
145 glance:
146 server:
147 enabled: true
148 version: mitaka
149 storage:
150 engine: swift,http
151 swift:
152 store:
153 auth:
154 address: http://keystone.example.com:5000/v2.0
155 version: 2
156 endpoint_type: publicURL
157 container: glance
158 create_container_on_put: true
159 retry_get_count: 5
160 user: 2ec7966596504f59acc3a76b3b9d9291:glance-user
161 key: someRandomPassword
162
Michel Nederlof3a867812017-05-15 09:46:11 +0200163Another way, which also supports multiple swift backends, can be configured like this:
164
165.. code-block:: yaml
166
167 glance:
168 server:
169 enabled: true
170 version: mitaka
171 storage:
172 engine: swift,http
173 swift:
174 store:
175 endpoint_type: publicURL
176 container: glance
177 create_container_on_put: true
178 retry_get_count: 5
179 references:
180 my_objectstore_reference_1:
181 auth:
182 address: http://keystone.example.com:5000/v2.0
183 version: 2
184 user: 2ec7966596504f59acc3a76b3b9d9291:glance-user
185 key: someRandomPassword
186
Ondrej Smolae695fe82017-04-28 12:22:28 +0200187Enable CORS parameters
188
189.. code-block:: yaml
190
191 glance:
192 server:
193 cors:
194 allowed_origin: https:localhost.local,http:localhost.local
195 expose_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
196 allow_methods: GET,PUT,POST,DELETE,PATCH
197 allow_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
198 allow_credentials: True
199 max_age: 86400
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100200
Michel Nederlof3ad5aac2017-05-15 09:46:24 +0200201Enable Viewing Multiple Locations
202---------------------------------
203If you want to expose all locations available (for example when you have
204multiple backends configured), then you can configure this like so:
205
206.. code-block:: yaml
207
208 glance:
209 server:
210 show_multiple_locations: True
211 location_strategy: store_type
212 store_type_preference: rbd,swift,file
213
214Please note: the show_multiple_locations option is deprecated since Newton and is planned
215 to be handled by policy files _only_ starting with the Pike release.
216
217This feature is convenient in a scenario when you have swift and rbd configured and want to
218benefit from rbd enhancements.
219
220
Richard Felkl4143a0e2017-02-01 23:24:13 +0100221Client role
222-----------
223
224Glance images
225
226.. code-block:: yaml
227
228 glance:
229 client:
230 enabled: true
231 server:
232 profile_admin:
233 image:
234 cirros-test:
235 visibility: public
236 protected: false
237 location: http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img
Jiri Konecny0456cfa2016-04-20 16:47:25 +0200238
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100239
240Usage
241=====
242
243Import new public image
Jiri Konecny0456cfa2016-04-20 16:47:25 +0200244
245.. code-block:: yaml
246
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100247 glance image-create --name 'Windows 7 x86_64' --is-public true --container-format bare --disk-format qcow2 < ./win7.qcow2
Jiri Konecny0456cfa2016-04-20 16:47:25 +0200248
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100249Change new image's disk properties
Petr Michalec86ec0142016-11-29 16:34:15 +0100250
251.. code-block:: yaml
252
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100253 glance image-update "Windows 7 x86_64" --property hw_disk_bus=ide
Petr Michalec86ec0142016-11-29 16:34:15 +0100254
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100255Change new image's NIC properties
Jakub Pavlik80a41ea2016-03-06 14:33:42 +0100256
257.. code-block:: yaml
258
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100259 glance image-update "Windows 7 x86_64" --property hw_vif_model=rtl8139
Jakub Pavlik80a41ea2016-03-06 14:33:42 +0100260
Jiri Konecny0456cfa2016-04-20 16:47:25 +0200261
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100262External links
263==============
Filip Pytlound681ae22015-10-06 16:28:31 +0200264
265* http://ceph.com/docs/master/rbd/rbd-openstack/
266
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100267
Jakub Pavlik9e85d172016-05-20 11:13:14 +0200268Documentation and Bugs
Aleš Komáreke5b388f2017-02-06 15:48:57 +0100269======================
Filip Pytlound681ae22015-10-06 16:28:31 +0200270
Jakub Pavlik9e85d172016-05-20 11:13:14 +0200271To learn how to deploy OpenStack Salt, consult the documentation available
272online at:
273
274 https://wiki.openstack.org/wiki/OpenStackSalt
275
276In the unfortunate event that bugs are discovered, they should be reported to
277the appropriate bug tracker. If you obtained the software from a 3rd party
278operating system vendor, it is often wise to use their own bug tracker for
279reporting problems. In all other cases use the master OpenStack bug tracker,
280available at:
281
282 http://bugs.launchpad.net/openstack-salt
283
284Developers wishing to work on the OpenStack Salt project should always base
285their work on the latest formulas code, available from the master GIT
286repository at:
287
288 https://git.openstack.org/cgit/openstack/salt-formula-glance
289
290Developers should also join the discussion on the IRC list, at:
291
292 https://wiki.openstack.org/wiki/Meetings/openstack-salt
Filip Pytloune94a0a72017-02-02 13:02:03 +0100293
294Documentation and Bugs
295======================
296
297To learn how to install and update salt-formulas, consult the documentation
298available online at:
299
300 http://salt-formulas.readthedocs.io/
301
302In the unfortunate event that bugs are discovered, they should be reported to
303the appropriate issue tracker. Use Github issue tracker for specific salt
304formula:
305
306 https://github.com/salt-formulas/salt-formula-glance/issues
307
308For feature requests, bug reports or blueprints affecting entire ecosystem,
309use Launchpad salt-formulas project:
310
311 https://launchpad.net/salt-formulas
312
313You can also join salt-formulas-users team and subscribe to mailing list:
314
315 https://launchpad.net/~salt-formulas-users
316
317Developers wishing to work on the salt-formulas projects should always base
318their work on master branch and submit pull request against specific formula.
319
320 https://github.com/salt-formulas/salt-formula-glance
321
322Any questions or feedback is always welcome so feel free to join our IRC
323channel:
324
325 #salt-formulas @ irc.freenode.net