root / docs / collection_of_examples / imageregister.rst @ 404eb288
History | View | Annotate | Download (17.7 kB)
1 | 0b158e6b | Stavros Sachtouris | Image registration |
---|---|---|---|
2 | 0b158e6b | Stavros Sachtouris | ================== |
3 | 0b158e6b | Stavros Sachtouris | |
4 | 0b158e6b | Stavros Sachtouris | In Synnefo, an image is loaded as a file to the storage service (Pithos+), and |
5 | 0b158e6b | Stavros Sachtouris | then is registered to the image service (Plankton). The image location at the |
6 | 0b158e6b | Stavros Sachtouris | storage server is unique through out a deployment and also necessary for the |
7 | 0b158e6b | Stavros Sachtouris | image to exist. |
8 | 0b158e6b | Stavros Sachtouris | |
9 | 0b158e6b | Stavros Sachtouris | The image location format:: |
10 | 0b158e6b | Stavros Sachtouris | |
11 | 0b158e6b | Stavros Sachtouris | pithos://<user id>/<container>/<object path> |
12 | 0b158e6b | Stavros Sachtouris | |
13 | 0b158e6b | Stavros Sachtouris | e.g.: |
14 | 0b158e6b | Stavros Sachtouris | |
15 | 0b158e6b | Stavros Sachtouris | pithos://s0m3-u53r-1d/pithos/debian_base3.diskdump |
16 | 0b158e6b | Stavros Sachtouris | |
17 | f2ea1314 | Stavros Sachtouris | The crussial element in an image location is the container (e.g. `pithos`) and |
18 | f2ea1314 | Stavros Sachtouris | the image object path (e.g. `debian_base3.diskdump`). |
19 | 0b158e6b | Stavros Sachtouris | |
20 | 0b158e6b | Stavros Sachtouris | Register an image |
21 | 0b158e6b | Stavros Sachtouris | ----------------- |
22 | 0b158e6b | Stavros Sachtouris | |
23 | 0b158e6b | Stavros Sachtouris | Let the image file `debian_base3.diskdump` be a debian image located at the |
24 | 0b158e6b | Stavros Sachtouris | current directory. |
25 | 0b158e6b | Stavros Sachtouris | |
26 | 0b158e6b | Stavros Sachtouris | Upload the image to container `pithos` |
27 | 0b158e6b | Stavros Sachtouris | |
28 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
29 | 0b158e6b | Stavros Sachtouris | |
30 | 0b158e6b | Stavros Sachtouris | [kamaki]: file upload debian_base3.diskdump pithos |
31 | 0b158e6b | Stavros Sachtouris | Uploading /home/someuser/debian_base3.diskdump --> pithos:debian_base3.diskdump |
32 | 0b158e6b | Stavros Sachtouris | Done |
33 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
34 | 0b158e6b | Stavros Sachtouris | |
35 | 0b158e6b | Stavros Sachtouris | Register the image object with the name 'Debian Base Alpha' |
36 | 0b158e6b | Stavros Sachtouris | |
37 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
38 | 0b158e6b | Stavros Sachtouris | |
39 | f2ea1314 | Stavros Sachtouris | [kamaki]: image register 'Debian Base Alpha' pithos:debian_base3.diskdump |
40 | 0b158e6b | Stavros Sachtouris | checksum: 3cb03556ec971f...e8dd6190443b560cb7 |
41 | 0b158e6b | Stavros Sachtouris | container-format: bare |
42 | 0b158e6b | Stavros Sachtouris | created-at: 2013-06-19 08:00:22 |
43 | 0b158e6b | Stavros Sachtouris | deleted-at: |
44 | 0b158e6b | Stavros Sachtouris | disk-format: diskdump |
45 | 0b158e6b | Stavros Sachtouris | id: 7h1rd-1m4g3-1d |
46 | 0b158e6b | Stavros Sachtouris | is-public: False |
47 | 0b158e6b | Stavros Sachtouris | location: pithos://s0m3-u53r-1d/pithos/debian_base3.diskdump |
48 | 0b158e6b | Stavros Sachtouris | name: Debian Base Alpha |
49 | 0b158e6b | Stavros Sachtouris | owner: s0m3-u53r-1d |
50 | 0b158e6b | Stavros Sachtouris | properties: |
51 | 0b158e6b | Stavros Sachtouris | size: 903471104 |
52 | 0b158e6b | Stavros Sachtouris | status: available |
53 | 0b158e6b | Stavros Sachtouris | updated-at: 2013-06-19 08:01:00 |
54 | 0b158e6b | Stavros Sachtouris | Metadata file uploaded as pithos:debian_base3.diskdump.meta (version 1352) |
55 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
56 | 0b158e6b | Stavros Sachtouris | |
57 | f2ea1314 | Stavros Sachtouris | .. note:: The `image register` command automatically creates a meta file and |
58 | 0b158e6b | Stavros Sachtouris | uploads it to the same location as the image. The meta file can be |
59 | 0b158e6b | Stavros Sachtouris | downloaded and reused for more image registrations. |
60 | 0b158e6b | Stavros Sachtouris | |
61 | 0b158e6b | Stavros Sachtouris | Read the metafile |
62 | 0b158e6b | Stavros Sachtouris | |
63 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
64 | 0b158e6b | Stavros Sachtouris | |
65 | 0b158e6b | Stavros Sachtouris | [kamaki]: file cat pithos:debian_base3.diskdump |
66 | 0b158e6b | Stavros Sachtouris | { |
67 | 0b158e6b | Stavros Sachtouris | "status": "available", |
68 | 0b158e6b | Stavros Sachtouris | "name": "Debian Base Gama", |
69 | 0b158e6b | Stavros Sachtouris | "checksum": "3cb03556ec971f...e8dd6190443b560cb7", |
70 | 0b158e6b | Stavros Sachtouris | "id": "7h1rd-1m4g3-1d2", |
71 | 0b158e6b | Stavros Sachtouris | "updated-at": "2013-06-19 08:01:00", |
72 | 0b158e6b | Stavros Sachtouris | "created-at": "2013-06-19 08:00:22", |
73 | 0b158e6b | Stavros Sachtouris | "properties": {}, |
74 | 0b158e6b | Stavros Sachtouris | "location": "pithos://s0m3-u53r-1d/pithos/debian_base3.diskdump", |
75 | 0b158e6b | Stavros Sachtouris | "is-public": "False", |
76 | 0b158e6b | Stavros Sachtouris | "owner": "s0m3-u53r-1d", |
77 | 0b158e6b | Stavros Sachtouris | "disk-format": "diskdump", |
78 | 0b158e6b | Stavros Sachtouris | "size": "903471104", |
79 | 0b158e6b | Stavros Sachtouris | "deleted-at": "", |
80 | 0b158e6b | Stavros Sachtouris | "container-format": "bare" |
81 | 0b158e6b | Stavros Sachtouris | } |
82 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
83 | 0b158e6b | Stavros Sachtouris | |
84 | 0b158e6b | Stavros Sachtouris | Images registered by me |
85 | 0b158e6b | Stavros Sachtouris | ----------------------- |
86 | 0b158e6b | Stavros Sachtouris | |
87 | 0b158e6b | Stavros Sachtouris | List all images, then list only images owned by the user with id s0m3-u53r-1d |
88 | 0b158e6b | Stavros Sachtouris | |
89 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
90 | 0b158e6b | Stavros Sachtouris | |
91 | 0b158e6b | Stavros Sachtouris | [kamaki]: image list |
92 | 0b158e6b | Stavros Sachtouris | f1r57-1m4g3-1d Debian Base Alpha |
93 | 0b158e6b | Stavros Sachtouris | container_format: bare |
94 | 0b158e6b | Stavros Sachtouris | disk_format: diskdump |
95 | 0b158e6b | Stavros Sachtouris | size: 474066944 |
96 | 0b158e6b | Stavros Sachtouris | status: available |
97 | 0b158e6b | Stavros Sachtouris | 53c0nd-1m4g3-1d Beta Debian Base |
98 | 0b158e6b | Stavros Sachtouris | container_format: bare |
99 | 0b158e6b | Stavros Sachtouris | disk_format: diskdump |
100 | 0b158e6b | Stavros Sachtouris | size: 474066944 |
101 | 0b158e6b | Stavros Sachtouris | status: available |
102 | 0b158e6b | Stavros Sachtouris | 7h1rd-1m4g3-1d Debian Base Gama |
103 | 0b158e6b | Stavros Sachtouris | container_format: bare |
104 | 0b158e6b | Stavros Sachtouris | disk_format: diskdump |
105 | 0b158e6b | Stavros Sachtouris | size: 474066944 |
106 | 0b158e6b | Stavros Sachtouris | status: available |
107 | 0b158e6b | Stavros Sachtouris | [kamaki]: image list --owner=s0m3-u53r-1d |
108 | 0b158e6b | Stavros Sachtouris | 7h1rd-1m4g3-1d Debian Base Gama |
109 | 0b158e6b | Stavros Sachtouris | container_format: bare |
110 | 0b158e6b | Stavros Sachtouris | disk_format: diskdump |
111 | 0b158e6b | Stavros Sachtouris | size: 474066944 |
112 | 0b158e6b | Stavros Sachtouris | status: available |
113 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
114 | 0b158e6b | Stavros Sachtouris | |
115 | 0b158e6b | Stavros Sachtouris | .. note:: To get the current user id, use `user authenticate` in kamaki |
116 | 0b158e6b | Stavros Sachtouris | |
117 | 0b158e6b | Stavros Sachtouris | Unregister an image |
118 | 0b158e6b | Stavros Sachtouris | ------------------- |
119 | 0b158e6b | Stavros Sachtouris | |
120 | 0b158e6b | Stavros Sachtouris | An image can be unregistered by its image id, but only if the current user is |
121 | 0b158e6b | Stavros Sachtouris | also the image owner. In this example, there is only one image owned by current |
122 | 0b158e6b | Stavros Sachtouris | user. |
123 | 0b158e6b | Stavros Sachtouris | |
124 | 0b158e6b | Stavros Sachtouris | Unregister image owned by current user |
125 | 0b158e6b | Stavros Sachtouris | |
126 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
127 | 0b158e6b | Stavros Sachtouris | |
128 | 0b158e6b | Stavros Sachtouris | [kamaki]: image unregister 7h1rd-1m4g3-1d |
129 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
130 | 0b158e6b | Stavros Sachtouris | |
131 | 0b158e6b | Stavros Sachtouris | Check if the image is deleted |
132 | 0b158e6b | Stavros Sachtouris | |
133 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
134 | 0b158e6b | Stavros Sachtouris | |
135 | 0b158e6b | Stavros Sachtouris | [kamaki]: image list --owner=s0m3-u53r-1d |
136 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
137 | 0b158e6b | Stavros Sachtouris | |
138 | 0b158e6b | Stavros Sachtouris | Attempt to unregister an image of another user |
139 | 0b158e6b | Stavros Sachtouris | |
140 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
141 | 0b158e6b | Stavros Sachtouris | |
142 | 0b158e6b | Stavros Sachtouris | [kamaki]: image unregister f1r57-1m4g3-1d |
143 | 0b158e6b | Stavros Sachtouris | (403) FORBIDDEN forbidden () |
144 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
145 | 0b158e6b | Stavros Sachtouris | |
146 | 0b158e6b | Stavros Sachtouris | Register with properties |
147 | 0b158e6b | Stavros Sachtouris | ------------------------ |
148 | 0b158e6b | Stavros Sachtouris | |
149 | 0b158e6b | Stavros Sachtouris | The image will be registered again, but with some custom properties:: |
150 | 0b158e6b | Stavros Sachtouris | |
151 | 0b158e6b | Stavros Sachtouris | OS: Linux |
152 | 0b158e6b | Stavros Sachtouris | user: someuser |
153 | 0b158e6b | Stavros Sachtouris | |
154 | 0b158e6b | Stavros Sachtouris | These properties can be added freely by the user, and they have no significance |
155 | 0b158e6b | Stavros Sachtouris | for the image server, but they could be used to help using the image more |
156 | 0b158e6b | Stavros Sachtouris | efficiently. |
157 | 0b158e6b | Stavros Sachtouris | |
158 | 0b158e6b | Stavros Sachtouris | Attempt to register with properties |
159 | 0b158e6b | Stavros Sachtouris | |
160 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
161 | 0b158e6b | Stavros Sachtouris | |
162 | f2ea1314 | Stavros Sachtouris | [kamaki]: image register 'Debian Base Gama' pithos:debian_base3.diskdump -p OS=Linux -p user=someuser |
163 | 0b158e6b | Stavros Sachtouris | Metadata file pithos:debian_base3.diskdump.meta already exists |
164 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
165 | 0b158e6b | Stavros Sachtouris | |
166 | 0b158e6b | Stavros Sachtouris | It's true that the metafile is already there, but we can override it (**-f**) |
167 | 0b158e6b | Stavros Sachtouris | |
168 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
169 | 0b158e6b | Stavros Sachtouris | |
170 | f2ea1314 | Stavros Sachtouris | [kamaki]: image register -f 'Debian Base Gama' pithos:debian_base3.diskdump -p OS=Linux -p user=someuser |
171 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
172 | 0b158e6b | Stavros Sachtouris | |
173 | 0b158e6b | Stavros Sachtouris | Register with a meta file |
174 | 0b158e6b | Stavros Sachtouris | ------------------------- |
175 | 0b158e6b | Stavros Sachtouris | |
176 | 0b158e6b | Stavros Sachtouris | Download the meta file of the image (it was uploaded recently) |
177 | 0b158e6b | Stavros Sachtouris | |
178 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
179 | 0b158e6b | Stavros Sachtouris | |
180 | 0b158e6b | Stavros Sachtouris | [kamaki]: file download pithos:debian_base3.diskdump.meta |
181 | 0b158e6b | Stavros Sachtouris | Downloading pithos:debian_base3.diskdump.meta --> /home/someuser/debian_base3.diskdump.meta |
182 | 0b158e6b | Stavros Sachtouris | Done |
183 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
184 | 0b158e6b | Stavros Sachtouris | |
185 | 0b158e6b | Stavros Sachtouris | The metadata file can be edited. Let's edit the file, by adding properties:: |
186 | 0b158e6b | Stavros Sachtouris | |
187 | 0b158e6b | Stavros Sachtouris | OS: Linux |
188 | 0b158e6b | Stavros Sachtouris | user: root |
189 | 0b158e6b | Stavros Sachtouris | |
190 | 0b158e6b | Stavros Sachtouris | The resulting file will look like this: |
191 | 0b158e6b | Stavros Sachtouris | |
192 | 0b158e6b | Stavros Sachtouris | .. code-block:: javascript |
193 | 0b158e6b | Stavros Sachtouris | |
194 | 0b158e6b | Stavros Sachtouris | { |
195 | 0b158e6b | Stavros Sachtouris | "status": "available", |
196 | 0b158e6b | Stavros Sachtouris | "name": "Debian Base Gama", |
197 | 0b158e6b | Stavros Sachtouris | "checksum": "3cb03556ec971f...e8dd6190443b560cb7", |
198 | 0b158e6b | Stavros Sachtouris | "id": "7h1rd-1m4g3-1d2", |
199 | 0b158e6b | Stavros Sachtouris | "updated-at": "2013-06-19 08:01:00", |
200 | 0b158e6b | Stavros Sachtouris | "created-at": "2013-06-19 08:00:22", |
201 | 0b158e6b | Stavros Sachtouris | "properties": { |
202 | 0b158e6b | Stavros Sachtouris | "OS": "Linux", |
203 | 0b158e6b | Stavros Sachtouris | "USER": "root" |
204 | 0b158e6b | Stavros Sachtouris | }, |
205 | 0b158e6b | Stavros Sachtouris | "location": "pithos://s0m3-u53r-1d/pithos/debian_base3.diskdump", |
206 | 0b158e6b | Stavros Sachtouris | "is-public": "False", |
207 | 0b158e6b | Stavros Sachtouris | "owner": "s0m3-u53r-1d", |
208 | 0b158e6b | Stavros Sachtouris | "disk-format": "diskdump", |
209 | 0b158e6b | Stavros Sachtouris | "size": "903471104", |
210 | 0b158e6b | Stavros Sachtouris | "deleted-at": "", |
211 | 0b158e6b | Stavros Sachtouris | "container-format": "bare" |
212 | 0b158e6b | Stavros Sachtouris | } |
213 | 0b158e6b | Stavros Sachtouris | |
214 | 0b158e6b | Stavros Sachtouris | .. warning:: make sure the file is in a valid json format, otherwise image |
215 | 0b158e6b | Stavros Sachtouris | register will fail |
216 | 0b158e6b | Stavros Sachtouris | |
217 | 0b158e6b | Stavros Sachtouris | In the following registration, a different name will be used for the image. |
218 | 0b158e6b | Stavros Sachtouris | |
219 | 0b158e6b | Stavros Sachtouris | Register the image (don't forget the -f parameter, to override the metafile). |
220 | 0b158e6b | Stavros Sachtouris | |
221 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
222 | 0b158e6b | Stavros Sachtouris | |
223 | f2ea1314 | Stavros Sachtouris | [kamaki]: image register -f 'Debian Base Delta' pithos:debian_base3.diskdump --metafile=debian_base3.diskdump.meta |
224 | 0b158e6b | Stavros Sachtouris | checksum: 3cb03556ec971f...e8dd6190443b560cb7 |
225 | 0b158e6b | Stavros Sachtouris | container-format: bare |
226 | 0b158e6b | Stavros Sachtouris | created-at: 2013-06-19 08:00:22 |
227 | 0b158e6b | Stavros Sachtouris | deleted-at: |
228 | 0b158e6b | Stavros Sachtouris | disk-format: diskdump |
229 | 0b158e6b | Stavros Sachtouris | id: 7h1rd-1m4g3-1d |
230 | 0b158e6b | Stavros Sachtouris | is-public: False |
231 | 0b158e6b | Stavros Sachtouris | location: pithos://s0m3-u53r-1d/pithos/debian_base3.diskdump |
232 | 0b158e6b | Stavros Sachtouris | name: Debian Base Delta |
233 | 0b158e6b | Stavros Sachtouris | owner: s0m3-u53r-1d |
234 | 0b158e6b | Stavros Sachtouris | properties: |
235 | 0b158e6b | Stavros Sachtouris | OS: Linux |
236 | 0b158e6b | Stavros Sachtouris | USER: root |
237 | 0b158e6b | Stavros Sachtouris | size: 903471104 |
238 | 0b158e6b | Stavros Sachtouris | status: available |
239 | 0b158e6b | Stavros Sachtouris | updated-at: 2013-06-19 08:01:00 |
240 | 0b158e6b | Stavros Sachtouris | Metadata file uploaded as pithos:debian_base3.diskdump.meta (version 1359) |
241 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
242 | 0b158e6b | Stavros Sachtouris | |
243 | 404eb288 | Stavros Sachtouris | Metadata and Property modification |
244 | 404eb288 | Stavros Sachtouris | ---------------------------------- |
245 | 404eb288 | Stavros Sachtouris | |
246 | 404eb288 | Stavros Sachtouris | Image metadata and custom properties can be modified even after the image is |
247 | 404eb288 | Stavros Sachtouris | registered. Metadata are fixed image attributes, like name, disk format etc. |
248 | 404eb288 | Stavros Sachtouris | while custom properties are set by the image owner and, usually, refer to |
249 | 404eb288 | Stavros Sachtouris | attributes of the images OS. |
250 | 404eb288 | Stavros Sachtouris | |
251 | 404eb288 | Stavros Sachtouris | Let's rename the image: |
252 | 404eb288 | Stavros Sachtouris | |
253 | 404eb288 | Stavros Sachtouris | .. code-block:: console |
254 | 404eb288 | Stavros Sachtouris | |
255 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta set 7h1rd-1m4g3-1d --name='Changed Name' |
256 | 404eb288 | Stavros Sachtouris | [kamaki]: |
257 | 404eb288 | Stavros Sachtouris | |
258 | 404eb288 | Stavros Sachtouris | If we, now, list the image metadata, we will see that the name is changed: |
259 | 404eb288 | Stavros Sachtouris | |
260 | 404eb288 | Stavros Sachtouris | .. code-block:: console |
261 | 404eb288 | Stavros Sachtouris | |
262 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta list 7h1rd-1m4g3-1d |
263 | 404eb288 | Stavros Sachtouris | checksum: 3cb03556ec971f...e8dd6190443b560cb7 |
264 | 404eb288 | Stavros Sachtouris | container-format: bare |
265 | 404eb288 | Stavros Sachtouris | created-at: 2013-06-19 08:00:22 |
266 | 404eb288 | Stavros Sachtouris | deleted-at: |
267 | 404eb288 | Stavros Sachtouris | disk-format: diskdump |
268 | 404eb288 | Stavros Sachtouris | id: 7h1rd-1m4g3-1d |
269 | 404eb288 | Stavros Sachtouris | is-public: False |
270 | 404eb288 | Stavros Sachtouris | location: pithos://s0m3-u53r-1d/pithos/debian_base3.diskdump |
271 | 404eb288 | Stavros Sachtouris | name: Changed Name |
272 | 404eb288 | Stavros Sachtouris | owner: s0m3-u53r-1d |
273 | 404eb288 | Stavros Sachtouris | properties: |
274 | 404eb288 | Stavros Sachtouris | OS: Linux |
275 | 404eb288 | Stavros Sachtouris | USER: root |
276 | 404eb288 | Stavros Sachtouris | size: 903471104 |
277 | 404eb288 | Stavros Sachtouris | status: available |
278 | 404eb288 | Stavros Sachtouris | updated-at: 2013-06-19 08:01:00 |
279 | 404eb288 | Stavros Sachtouris | [kamaki]: |
280 | 404eb288 | Stavros Sachtouris | |
281 | 404eb288 | Stavros Sachtouris | We can use the same idea to change the values of other metadata like disk |
282 | 404eb288 | Stavros Sachtouris | format, container format or status. On the other hand, we cannot modify the |
283 | 404eb288 | Stavros Sachtouris | id, owner, location, checksum and dates. E.g., to publish and unpublish: |
284 | 404eb288 | Stavros Sachtouris | |
285 | 404eb288 | Stavros Sachtouris | .. code-block:: console |
286 | 404eb288 | Stavros Sachtouris | |
287 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta set 7h1rd-1m4g3-1d --publish --name='Debian Base Gama' |
288 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta set 7h1rd-1m4g3-1d --unpublish |
289 | 404eb288 | Stavros Sachtouris | [kamaki]: |
290 | 404eb288 | Stavros Sachtouris | |
291 | 404eb288 | Stavros Sachtouris | The first call published the image (set is-public to True) and also restored |
292 | 404eb288 | Stavros Sachtouris | the name to "Debian Base Gama". The second one unpublished the image (set |
293 | 404eb288 | Stavros Sachtouris | is-public to False). |
294 | 404eb288 | Stavros Sachtouris | |
295 | 404eb288 | Stavros Sachtouris | To delete metadata, use the image meta delete method: |
296 | 404eb288 | Stavros Sachtouris | |
297 | 404eb288 | Stavros Sachtouris | .. code-block:: console |
298 | 404eb288 | Stavros Sachtouris | |
299 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta delete 7h1rd-1m4g3-1d status |
300 | 404eb288 | Stavros Sachtouris | [kamaki]: |
301 | 404eb288 | Stavros Sachtouris | |
302 | 404eb288 | Stavros Sachtouris | will empty the value of "status". |
303 | 404eb288 | Stavros Sachtouris | |
304 | 404eb288 | Stavros Sachtouris | These operations can be used for properties with the same semantics: |
305 | 404eb288 | Stavros Sachtouris | |
306 | 404eb288 | Stavros Sachtouris | .. code-block:: console |
307 | 404eb288 | Stavros Sachtouris | |
308 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta set 7h1rd-1m4g3-1d -p user=user |
309 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta list 7h1rd-1m4g3-1d |
310 | 404eb288 | Stavros Sachtouris | ... |
311 | 404eb288 | Stavros Sachtouris | properties: |
312 | 404eb288 | Stavros Sachtouris | OS: Linux |
313 | 404eb288 | Stavros Sachtouris | USER: user |
314 | 404eb288 | Stavros Sachtouris | ... |
315 | 404eb288 | Stavros Sachtouris | [kamaki]: |
316 | 404eb288 | Stavros Sachtouris | |
317 | 404eb288 | Stavros Sachtouris | Just to test the feature, let's create a property "greet" with value |
318 | 404eb288 | Stavros Sachtouris | "hi there", and then remove it. Also, let's restore the value of USER: |
319 | 404eb288 | Stavros Sachtouris | |
320 | 404eb288 | Stavros Sachtouris | .. code-block:: console |
321 | 404eb288 | Stavros Sachtouris | |
322 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta set 7h1rd-1m4g3-1d -p greet='Hi there' -p user=root |
323 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta list 7h1rd-1m4g3-1d |
324 | 404eb288 | Stavros Sachtouris | ... |
325 | 404eb288 | Stavros Sachtouris | properties: |
326 | 404eb288 | Stavros Sachtouris | OS: Linux |
327 | 404eb288 | Stavros Sachtouris | USER: root |
328 | 404eb288 | Stavros Sachtouris | GREET: Hi there |
329 | 404eb288 | Stavros Sachtouris | ... |
330 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta delete 7h1rd-1m4g3-1d -p greet |
331 | 404eb288 | Stavros Sachtouris | [kamaki]: image meta list 7h1rd-1m4g3-1d |
332 | 404eb288 | Stavros Sachtouris | ... |
333 | 404eb288 | Stavros Sachtouris | properties: |
334 | 404eb288 | Stavros Sachtouris | OS: Linux |
335 | 404eb288 | Stavros Sachtouris | USER: root |
336 | 404eb288 | Stavros Sachtouris | ... |
337 | 404eb288 | Stavros Sachtouris | [kamaki]: |
338 | 404eb288 | Stavros Sachtouris | |
339 | 404eb288 | Stavros Sachtouris | |
340 | 0b158e6b | Stavros Sachtouris | Reregistration: priorities and overrides |
341 | 0b158e6b | Stavros Sachtouris | ---------------------------------------- |
342 | 0b158e6b | Stavros Sachtouris | |
343 | 0b158e6b | Stavros Sachtouris | Let's review the examples presented above:: |
344 | 0b158e6b | Stavros Sachtouris | |
345 | 0b158e6b | Stavros Sachtouris | - Register an image with name `Debian Base Gama` |
346 | 0b158e6b | Stavros Sachtouris | - Unregister the image |
347 | 0b158e6b | Stavros Sachtouris | - Register a new image of the uploaded image object, with custom properties |
348 | 0b158e6b | Stavros Sachtouris | - Reregister the image with a meta file and modified properties and name |
349 | 0b158e6b | Stavros Sachtouris | |
350 | 0b158e6b | Stavros Sachtouris | **The image id is related to the image object** |
351 | 0b158e6b | Stavros Sachtouris | |
352 | 0b158e6b | Stavros Sachtouris | Although the image was unregistered and reregistered, the image id, that is |
353 | 0b158e6b | Stavros Sachtouris | produced automatically at the server side, was the same. This is due to the |
354 | 0b158e6b | Stavros Sachtouris | fact that image ids are 1 to 1 related to image objects uploaded to Pithos+ |
355 | 0b158e6b | Stavros Sachtouris | |
356 | 0b158e6b | Stavros Sachtouris | **An explicit name overrides the metafile** |
357 | 0b158e6b | Stavros Sachtouris | |
358 | 0b158e6b | Stavros Sachtouris | Each image needs a name and this is given as the first argument of the |
359 | 0b158e6b | Stavros Sachtouris | `register` command. This name overrides the name in the metafile. |
360 | 0b158e6b | Stavros Sachtouris | |
361 | 0b158e6b | Stavros Sachtouris | **Reregistration is not update, but an override** |
362 | 0b158e6b | Stavros Sachtouris | |
363 | 0b158e6b | Stavros Sachtouris | The property `user: root` won over `user: someuser`, because it was set last. |
364 | 0b158e6b | Stavros Sachtouris | Actually, all properties were replaced by the new ones, when the image was |
365 | 0b158e6b | Stavros Sachtouris | reregistered, and the same holds with all customizable attributes of the image. |
366 | 0b158e6b | Stavros Sachtouris | |
367 | 0b158e6b | Stavros Sachtouris | Command line wins the metafile |
368 | 0b158e6b | Stavros Sachtouris | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
369 | 0b158e6b | Stavros Sachtouris | |
370 | 0b158e6b | Stavros Sachtouris | Let's compine the metafile with a command line attribute `user: admin` |
371 | 0b158e6b | Stavros Sachtouris | |
372 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
373 | 0b158e6b | Stavros Sachtouris | |
374 | f2ea1314 | Stavros Sachtouris | [kamaki]: image register -f 'Debian Base Delta' pithos:debian_base3.diskdump --metafile=debian_base3.diskdump.meta |
375 | 0b158e6b | Stavros Sachtouris | checksum: 3cb03556ec971f...e8dd6190443b560cb7 |
376 | 0b158e6b | Stavros Sachtouris | container-format: bare |
377 | 0b158e6b | Stavros Sachtouris | created-at: 2013-06-19 08:00:22 |
378 | 0b158e6b | Stavros Sachtouris | deleted-at: |
379 | 0b158e6b | Stavros Sachtouris | disk-format: diskdump |
380 | 0b158e6b | Stavros Sachtouris | id: 7h1rd-1m4g3-1d |
381 | 0b158e6b | Stavros Sachtouris | is-public: False |
382 | 0b158e6b | Stavros Sachtouris | location: pithos://s0m3-u53r-1d/pithos/debian_base3.diskdump |
383 | 0b158e6b | Stavros Sachtouris | name: Debian Base Delta |
384 | 0b158e6b | Stavros Sachtouris | owner: s0m3-u53r-1d |
385 | 0b158e6b | Stavros Sachtouris | properties: |
386 | 0b158e6b | Stavros Sachtouris | OS: Linux |
387 | 0b158e6b | Stavros Sachtouris | USER: root |
388 | 0b158e6b | Stavros Sachtouris | size: 903471104 |
389 | 0b158e6b | Stavros Sachtouris | status: available |
390 | 0b158e6b | Stavros Sachtouris | updated-at: 2013-06-19 08:01:00 |
391 | 0b158e6b | Stavros Sachtouris | Metadata file uploaded as pithos:debian_base3.diskdump.meta (version 1377) |
392 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
393 | 0b158e6b | Stavros Sachtouris | |
394 | 0b158e6b | Stavros Sachtouris | Although the property `OS` was read from the metafile, the property `USER` was |
395 | 0b158e6b | Stavros Sachtouris | set by the command line property to `admin`. |
396 | 0b158e6b | Stavros Sachtouris | |
397 | 0b158e6b | Stavros Sachtouris | .. note:: This feature allows the use of a metafile as a template for uploading |
398 | 0b158e6b | Stavros Sachtouris | multiple images with many common attributes but slight modifications per |
399 | 0b158e6b | Stavros Sachtouris | image |
400 | 0b158e6b | Stavros Sachtouris | |
401 | 0b158e6b | Stavros Sachtouris | Multiple metafile versions |
402 | 0b158e6b | Stavros Sachtouris | -------------------------- |
403 | 0b158e6b | Stavros Sachtouris | |
404 | 0b158e6b | Stavros Sachtouris | .. warning:: Make sure your container is set to auto, otherwise, there will be |
405 | 0b158e6b | Stavros Sachtouris | no object versions |
406 | 0b158e6b | Stavros Sachtouris | |
407 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
408 | 0b158e6b | Stavros Sachtouris | |
409 | 0b158e6b | Stavros Sachtouris | [kamaki]: file versioning get pithos |
410 | 0b158e6b | Stavros Sachtouris | x-container-policy-versioning: auto |
411 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
412 | 0b158e6b | Stavros Sachtouris | |
413 | 0b158e6b | Stavros Sachtouris | To set versioning to auto |
414 | 0b158e6b | Stavros Sachtouris | |
415 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
416 | 0b158e6b | Stavros Sachtouris | |
417 | 0b158e6b | Stavros Sachtouris | [kamaki]: file versioning set auto pithos |
418 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
419 | 0b158e6b | Stavros Sachtouris | |
420 | 0b158e6b | Stavros Sachtouris | In the above examples, the image was registered many times by overriding the |
421 | 0b158e6b | Stavros Sachtouris | metafile. It is possible to avoid writing a metafile, as well as accessing |
422 | 0b158e6b | Stavros Sachtouris | older versions of the file. |
423 | 0b158e6b | Stavros Sachtouris | |
424 | 0b158e6b | Stavros Sachtouris | Register the image without uploading a metafile |
425 | 0b158e6b | Stavros Sachtouris | |
426 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
427 | 0b158e6b | Stavros Sachtouris | |
428 | f2ea1314 | Stavros Sachtouris | [kamaki]: image register 'Debian Base Delta' pithos:debian_base3.diskdump --metafile=debian_base3.diskdump.meta --no-metafile-upload |
429 | 0b158e6b | Stavros Sachtouris | checksum: 3cb03556ec971f...e8dd6190443b560cb7 |
430 | 0b158e6b | Stavros Sachtouris | container-format: bare |
431 | 0b158e6b | Stavros Sachtouris | created-at: 2013-06-19 08:00:22 |
432 | 0b158e6b | Stavros Sachtouris | deleted-at: |
433 | 0b158e6b | Stavros Sachtouris | disk-format: diskdump |
434 | 0b158e6b | Stavros Sachtouris | id: 7h1rd-1m4g3-1d |
435 | 0b158e6b | Stavros Sachtouris | is-public: False |
436 | 0b158e6b | Stavros Sachtouris | location: pithos://s0m3-u53r-1d/pithos/debian_base3.diskdump |
437 | 0b158e6b | Stavros Sachtouris | name: Debian Base Delta |
438 | 0b158e6b | Stavros Sachtouris | owner: s0m3-u53r-1d |
439 | 0b158e6b | Stavros Sachtouris | properties: |
440 | 0b158e6b | Stavros Sachtouris | OS: Linux |
441 | 0b158e6b | Stavros Sachtouris | USER: root |
442 | 0b158e6b | Stavros Sachtouris | size: 903471104 |
443 | 0b158e6b | Stavros Sachtouris | status: available |
444 | 0b158e6b | Stavros Sachtouris | updated-at: 2013-06-19 08:01:00 |
445 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
446 | 0b158e6b | Stavros Sachtouris | |
447 | 0b158e6b | Stavros Sachtouris | Uploaded metafiles are kept in versions, thanks to Pithos+ versioning support |
448 | 0b158e6b | Stavros Sachtouris | |
449 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
450 | 0b158e6b | Stavros Sachtouris | |
451 | 0b158e6b | Stavros Sachtouris | [kamaki]: file versions pithos:debian_base3.diskdump.meta |
452 | 0b158e6b | Stavros Sachtouris | 1352 |
453 | 0b158e6b | Stavros Sachtouris | created: 19-06-2013 11:00:22 |
454 | 0b158e6b | Stavros Sachtouris | 1359 |
455 | 0b158e6b | Stavros Sachtouris | created: 19-06-2013 11:01:00 |
456 | 0b158e6b | Stavros Sachtouris | 1377 |
457 | 0b158e6b | Stavros Sachtouris | created: 19-06-2013 11:34:37 |
458 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
459 | 0b158e6b | Stavros Sachtouris | |
460 | 0b158e6b | Stavros Sachtouris | Consult the first version of the metafile |
461 | 0b158e6b | Stavros Sachtouris | |
462 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
463 | 0b158e6b | Stavros Sachtouris | |
464 | 0b158e6b | Stavros Sachtouris | [kamaki]: file cat --object-version=1352 pithos:debian_base3.diskdump.meta |
465 | 0b158e6b | Stavros Sachtouris | { |
466 | 0b158e6b | Stavros Sachtouris | "status": "available", |
467 | 0b158e6b | Stavros Sachtouris | "name": "Debian Base Gama", |
468 | 0b158e6b | Stavros Sachtouris | "checksum": "3cb03556ec971f...e8dd6190443b560cb7", |
469 | 0b158e6b | Stavros Sachtouris | "id": "7h1rd-1m4g3-1d2", |
470 | 0b158e6b | Stavros Sachtouris | "updated-at": "2013-06-19 08:01:00", |
471 | 0b158e6b | Stavros Sachtouris | "created-at": "2013-06-19 08:00:22", |
472 | 0b158e6b | Stavros Sachtouris | "properties": {}, |
473 | 0b158e6b | Stavros Sachtouris | "location": "pithos://s0m3-u53r-1d/pithos/debian_base3.diskdump", |
474 | 0b158e6b | Stavros Sachtouris | "is-public": "False", |
475 | 0b158e6b | Stavros Sachtouris | "owner": "s0m3-u53r-1d", |
476 | 0b158e6b | Stavros Sachtouris | "disk-format": "diskdump", |
477 | 0b158e6b | Stavros Sachtouris | "size": "903471104", |
478 | 0b158e6b | Stavros Sachtouris | "deleted-at": "", |
479 | 0b158e6b | Stavros Sachtouris | "container-format": "bare" |
480 | 0b158e6b | Stavros Sachtouris | } |
481 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
482 | 0b158e6b | Stavros Sachtouris | |
483 | 0b158e6b | Stavros Sachtouris | Download the second version |
484 | 0b158e6b | Stavros Sachtouris | |
485 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
486 | 0b158e6b | Stavros Sachtouris | |
487 | 0b158e6b | Stavros Sachtouris | [kamaki]: file download --object-version=1359 pithos:debian_base3.diskdump.meta debian_base3.diskdump.meta.v1359 |
488 | 0b158e6b | Stavros Sachtouris | Downloading pithos:debian_base3.diskdump.meta --> /home/someuser/debian_base3.diskdump.meta.v1359 |
489 | 0b158e6b | Stavros Sachtouris | Done |
490 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
491 | 0b158e6b | Stavros Sachtouris | |
492 | 0b158e6b | Stavros Sachtouris | Batch image upload |
493 | 0b158e6b | Stavros Sachtouris | ------------------ |
494 | 0b158e6b | Stavros Sachtouris | |
495 | 0b158e6b | Stavros Sachtouris | Let a directory at /home/someuser/images with a variety of images needed to be |
496 | 0b158e6b | Stavros Sachtouris | uploaded and registered. |
497 | 0b158e6b | Stavros Sachtouris | |
498 | 0b158e6b | Stavros Sachtouris | Batch-upload the images |
499 | 0b158e6b | Stavros Sachtouris | |
500 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
501 | 0b158e6b | Stavros Sachtouris | |
502 | 0b158e6b | Stavros Sachtouris | [kamaki]: file upload -R images pithos |
503 | 0b158e6b | Stavros Sachtouris | mkdir pithos:images |
504 | 0b158e6b | Stavros Sachtouris | Uploading /home/someuser/images/debian.diskdump --> pithos:images/debian.diskdump |
505 | 0b158e6b | Stavros Sachtouris | Uploading /home/someuser/images/win8.diskdump --> pithos:images/win8.diskdump |
506 | 0b158e6b | Stavros Sachtouris | ... |
507 | 0b158e6b | Stavros Sachtouris | Done |
508 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
509 | 0b158e6b | Stavros Sachtouris | |
510 | 0b158e6b | Stavros Sachtouris | Make sure the images are uploaded to pithos:images/ remote directory object |
511 | 0b158e6b | Stavros Sachtouris | |
512 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
513 | 0b158e6b | Stavros Sachtouris | |
514 | 0b158e6b | Stavros Sachtouris | [kamaki]: file list pithos:images/ |
515 | 0b158e6b | Stavros Sachtouris | D images/ |
516 | 0b158e6b | Stavros Sachtouris | 983MB images/debian.diskdump |
517 | 0b158e6b | Stavros Sachtouris | 2.2GB images/win8.diskdump |
518 | 0b158e6b | Stavros Sachtouris | ... |
519 | 0b158e6b | Stavros Sachtouris | [kamaki]: |
520 | 0b158e6b | Stavros Sachtouris | |
521 | 0b158e6b | Stavros Sachtouris | Use the host shell capabilities to streamline the registration, so exit kamaki |
522 | 0b158e6b | Stavros Sachtouris | |
523 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
524 | 0b158e6b | Stavros Sachtouris | |
525 | 0b158e6b | Stavros Sachtouris | [kamaki]: /exit |
526 | 0b158e6b | Stavros Sachtouris | |
527 | 0b158e6b | Stavros Sachtouris | The following is a bash script that attempts to register the already uploaded |
528 | 0b158e6b | Stavros Sachtouris | images: |
529 | 0b158e6b | Stavros Sachtouris | |
530 | 0b158e6b | Stavros Sachtouris | .. code-block:: bash |
531 | 0b158e6b | Stavros Sachtouris | |
532 | 0b158e6b | Stavros Sachtouris | #!/bin/bash |
533 | 0b158e6b | Stavros Sachtouris | |
534 | 0b158e6b | Stavros Sachtouris | userid=... # e.g. s0m3-u53r-1d |
535 | 0b158e6b | Stavros Sachtouris | container=... # e.g. pithos |
536 | 0b158e6b | Stavros Sachtouris | |
537 | 0b158e6b | Stavros Sachtouris | for path in images/*.diskdump; do |
538 | f2ea1314 | Stavros Sachtouris | location=$container:${path} |
539 | 0b158e6b | Stavros Sachtouris | kamaki image register $path $location |
540 | 0b158e6b | Stavros Sachtouris | done |
541 | 0b158e6b | Stavros Sachtouris | |
542 | 0b158e6b | Stavros Sachtouris | Let's use the script (enriched with a separator message) to batch-register the |
543 | 0b158e6b | Stavros Sachtouris | images (all images will be named after their relative paths). |
544 | 0b158e6b | Stavros Sachtouris | |
545 | 0b158e6b | Stavros Sachtouris | Also, let the registered images be public (accessible to all users for creating |
546 | 0b158e6b | Stavros Sachtouris | VMs) by adding the **--public** flag argument when calling `image register`. |
547 | 0b158e6b | Stavros Sachtouris | |
548 | 0b158e6b | Stavros Sachtouris | .. code-block:: console |
549 | 0b158e6b | Stavros Sachtouris | |
550 | 0b158e6b | Stavros Sachtouris | $ for path in images/*.diskdump; do |
551 | f2ea1314 | Stavros Sachtouris | location=pithos:${path} |
552 | 0b158e6b | Stavros Sachtouris | echo "- - - Register ${path} - - -" |
553 | 0b158e6b | Stavros Sachtouris | kamaki image register $path $location --public |
554 | 0b158e6b | Stavros Sachtouris | done |
555 | 0b158e6b | Stavros Sachtouris | - - - Register images/debian.diskdump --- |
556 | 0b158e6b | Stavros Sachtouris | checksum: 3cb03556ec971f...e8dd6190443b560cb7 |
557 | 0b158e6b | Stavros Sachtouris | container-format: bare |
558 | 0b158e6b | Stavros Sachtouris | created-at: 2013-06-19 08:00:22 |
559 | 0b158e6b | Stavros Sachtouris | deleted-at: |
560 | 0b158e6b | Stavros Sachtouris | disk-format: diskdump |
561 | 0b158e6b | Stavros Sachtouris | id: d3b14n-1m4g3-1d |
562 | 0b158e6b | Stavros Sachtouris | is-public: False |
563 | 0b158e6b | Stavros Sachtouris | location: pithos://s0m3-u53r-1d/pithos/images/debian.diskdump |
564 | 0b158e6b | Stavros Sachtouris | name: images/debian.diskdump |
565 | 0b158e6b | Stavros Sachtouris | owner: s0m3-u53r-1d |
566 | 0b158e6b | Stavros Sachtouris | properties: |
567 | 0b158e6b | Stavros Sachtouris | size: 903471104 |
568 | 0b158e6b | Stavros Sachtouris | status: available |
569 | 0b158e6b | Stavros Sachtouris | updated-at: 2013-06-19 08:01:00 |
570 | 0b158e6b | Stavros Sachtouris | Metadata file uploaded as pithos:images/debian.diskdump.meta (version 4201) |
571 | 0b158e6b | Stavros Sachtouris | - - - Register images/win8.diskdump --- |
572 | 0b158e6b | Stavros Sachtouris | checksum: 4cb03556ec971f...e8dd6190443b560cb6 |
573 | 0b158e6b | Stavros Sachtouris | container-format: bare |
574 | 0b158e6b | Stavros Sachtouris | created-at: 2013-06-19 08:00:22 |
575 | 0b158e6b | Stavros Sachtouris | deleted-at: |
576 | 0b158e6b | Stavros Sachtouris | disk-format: diskdump |
577 | 0b158e6b | Stavros Sachtouris | id: w1nd0w5-1m4g3-1d |
578 | 0b158e6b | Stavros Sachtouris | is-public: False |
579 | 0b158e6b | Stavros Sachtouris | location: pithos://s0m3-u53r-1d/pithos/images/win8.diskdump |
580 | 0b158e6b | Stavros Sachtouris | name: images/win8.diskdump |
581 | 0b158e6b | Stavros Sachtouris | owner: s0m3-u53r-1d |
582 | 0b158e6b | Stavros Sachtouris | properties: |
583 | 0b158e6b | Stavros Sachtouris | size: 2103471104 |
584 | 0b158e6b | Stavros Sachtouris | status: available |
585 | 0b158e6b | Stavros Sachtouris | updated-at: 2013-06-19 08:01:00 |
586 | 0b158e6b | Stavros Sachtouris | Metadata file uploaded as pithos:images/debian.diskdump.meta (version 4301) |
587 | 0b158e6b | Stavros Sachtouris | ... |
588 | 0b158e6b | Stavros Sachtouris | $ |
589 | 0b158e6b | Stavros Sachtouris | |
590 | 0b158e6b | Stavros Sachtouris | .. note:: All images can be re-registered, either individually or with a batch |
591 | 0b158e6b | Stavros Sachtouris | process. |
592 | 0b158e6b | Stavros Sachtouris |