mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-10-01 21:46:35 +03:00
Compare commits
1884 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
cad11c98cd | ||
|
89b75be23c | ||
|
322b7037d4 | ||
|
c7d6d5a6ca | ||
|
8123b6bc35 | ||
|
8f2b4e3a67 | ||
|
942b6abe4a | ||
|
7fdce1e41b | ||
|
91682e72b9 | ||
|
dfef55e994 | ||
|
ba4518c418 | ||
|
1b33d27576 | ||
|
627b6b0f68 | ||
|
696ab0a125 | ||
|
881441f84a | ||
|
7e20f44d8d | ||
|
64fd06e907 | ||
|
5befc944a9 | ||
|
2c1bff5acc | ||
|
49f05e0443 | ||
|
22eaa071e4 | ||
|
7dffff778e | ||
|
5247bd3aaf | ||
|
a829ef0323 | ||
|
7200212536 | ||
|
ddc05f5c41 | ||
|
f6721a3d9a | ||
|
b73dc2e56b | ||
|
89f7475da7 | ||
|
da72346486 | ||
|
5e08a5386a | ||
|
2d302d7902 | ||
|
50b9de5b03 | ||
|
a086fa2821 | ||
|
4dbcc6fb10 | ||
|
41d837ae89 | ||
|
2b574dcabf | ||
|
d460558ea8 | ||
|
24cf4c6476 | ||
|
0e2b834073 | ||
|
5e57b02bac | ||
|
5282f14f21 | ||
|
b4d8e5d331 | ||
|
1083c0bd71 | ||
|
6bc1f546de | ||
|
58f53d2302 | ||
|
082deb52ac | ||
|
086b022d56 | ||
|
433aa8c3ed | ||
|
55a1671362 | ||
|
46fdaf5d9a | ||
|
68b5d04ded | ||
|
20ae6d725b | ||
|
bc858f4682 | ||
|
b68f421ac2 | ||
|
7b25be9df4 | ||
|
ca9180ad63 | ||
|
8ceb0feae3 | ||
|
5d4a0b0084 | ||
|
2442bc1c34 | ||
|
af20fbab35 | ||
|
d38a7c174a | ||
|
2908ace230 | ||
|
36f2f62109 | ||
|
19e49128a6 | ||
|
8cb5246427 | ||
|
35351d5217 | ||
|
791c90cb8d | ||
|
58650d53c7 | ||
|
06791c14f7 | ||
|
843ffe8abd | ||
|
f87f1ab432 | ||
|
a0a1f39adf | ||
|
f5fd12a340 | ||
|
2f80aed70e | ||
|
886cfe71ae | ||
|
7fdfa640d2 | ||
|
9bf5347469 | ||
|
c273d72de6 | ||
|
4dacbcf2e4 | ||
|
a76ae293c3 | ||
|
9d06d0f66f | ||
|
7497777b50 | ||
|
fd0cb97085 | ||
|
5f91518937 | ||
|
d3fba07bc0 | ||
|
8ab0281c5d | ||
|
f0e4beb328 | ||
|
efc74757d1 | ||
|
c38669e15b | ||
|
849d1d7f75 | ||
|
25cf4a13b1 | ||
|
044c2d95bf | ||
|
0086221cb3 | ||
|
2ffa69ca97 | ||
|
0dc49e237a | ||
|
2cc91ddd2d | ||
|
28e960b691 | ||
|
48d5b3d81d | ||
|
6a97e35f82 | ||
|
3281b47e47 | ||
|
344bcd89eb | ||
|
17a94ba70f | ||
|
8f74f5277d | ||
|
f09c7139b0 | ||
|
3992ff14e5 | ||
|
d558fb34fd | ||
|
1893b6df11 | ||
|
dfbc9a8382 | ||
|
fbd4db79e4 | ||
|
bcbb593c97 | ||
|
5849729d09 | ||
|
d9a0a885e2 | ||
|
abf50874d6 | ||
|
1d8351a94f | ||
|
ff825f9def | ||
|
95d3c73871 | ||
|
ab74e8763d | ||
|
382ea24b1a | ||
|
2cbdd64adf | ||
|
b508a4f15f | ||
|
2f171fa262 | ||
|
56b2af1205 | ||
|
0a56412d15 | ||
|
4b0d9d5d02 | ||
|
ac05de6dba | ||
|
2f6e43d418 | ||
|
c62e7702c0 | ||
|
4349e24d54 | ||
|
ed504ba392 | ||
|
30cd5983b7 | ||
|
ee34745f6a | ||
|
3b6c818532 | ||
|
46a5d1938e | ||
|
13a4ec678f | ||
|
25c39f76b8 | ||
|
95bbe4bf52 | ||
|
e7cc2e3bef | ||
|
ec4c80b085 | ||
|
53d3874ce3 | ||
|
45408cd892 | ||
|
e23a640c42 | ||
|
45fc2c1436 | ||
|
a75e35a083 | ||
|
5c633e0f7b | ||
|
0b4b58690d | ||
|
917426c8d7 | ||
|
4ed5937d71 | ||
|
801a5f65fa | ||
|
d40d18fb8f | ||
|
453a6d8092 | ||
|
e557bd28a2 | ||
|
e54b5484c9 | ||
|
d18e78c246 | ||
|
3f1b45de24 | ||
|
b2c9d77b4e | ||
|
0c8e3b2234 | ||
|
358c18c391 | ||
|
5126174357 | ||
|
0ea4fd7a58 | ||
|
9f7d9891f0 | ||
|
552bf13f45 | ||
|
d4d32005d6 | ||
|
9b73aff033 | ||
|
f999f77d7d | ||
|
7d3b10a9fb | ||
|
608e9e8802 | ||
|
bf9bc04683 | ||
|
afe833e9bd | ||
|
0dd0165c03 | ||
|
28b446292b | ||
|
dd00767cbd | ||
|
c803b0072b | ||
|
6008b065fa | ||
|
3e19b5d53d | ||
|
98033a8b94 | ||
|
33a1a7c6f5 | ||
|
4902231777 | ||
|
f4a212d7f9 | ||
|
53d2ca5f00 | ||
|
7068b56c85 | ||
|
2e26d78c8b | ||
|
ae37d9f1d1 | ||
|
5b5f12cffa | ||
|
373b9e9f00 | ||
|
289f37ea81 | ||
|
478474515d | ||
|
b77cec09db | ||
|
139a319794 | ||
|
420eff8f26 | ||
|
b5534e5391 | ||
|
e633644229 | ||
|
b41261f010 | ||
|
2a537fe187 | ||
|
5e6d2af72f | ||
|
7114c5ff25 | ||
|
ee70fe7e14 | ||
|
d715bfac08 | ||
|
3e5b35a538 | ||
|
2c20574d5b | ||
|
98354e362c | ||
|
8c50daa1e1 | ||
|
cd000d3a0b | ||
|
2f3472ca82 | ||
|
f2b799cfc7 | ||
|
68b726b93c | ||
|
9b48ef9c51 | ||
|
cbe289d814 | ||
|
bde75a895d | ||
|
950a90d489 | ||
|
360229e8b4 | ||
|
4b527c1acf | ||
|
9c17d665fd | ||
|
ee07c9802b | ||
|
ee4cfb5643 | ||
|
c3e2f6e37d | ||
|
811286090f | ||
|
6da6bf2f30 | ||
|
df490e7c9b | ||
|
1e9a083742 | ||
|
9dca74ee6f | ||
|
12de369aa6 | ||
|
758cca88b2 | ||
|
6e8266ade5 | ||
|
1e38ef728c | ||
|
a431d3440f | ||
|
ddc0e6bcdc | ||
|
f8e712feb4 | ||
|
c374851960 | ||
|
15ad2ecf11 | ||
|
5b9e77883b | ||
|
0f4d317204 | ||
|
dc56475f72 | ||
|
a8dc3ac28a | ||
|
1de354ccc5 | ||
|
a243316ac6 | ||
|
6ce9b85dee | ||
|
10c3db7308 | ||
|
4c9ffc5388 | ||
|
9d243e0895 | ||
|
109017d9b3 | ||
|
d64adcdb96 | ||
|
630517d860 | ||
|
81b2a2c749 | ||
|
f6ea8a9f19 | ||
|
4cdc4a76d3 | ||
|
257060349e | ||
|
179d97283f | ||
|
51a3e4df72 | ||
|
e8d2ff6ff2 | ||
|
41d786b915 | ||
|
ee47d8e8dd | ||
|
1a1246ec7d | ||
|
5a9cbc6265 | ||
|
573c41a275 | ||
|
6d28ef912c | ||
|
8dab3d1d19 | ||
|
9e17d219b3 | ||
|
0c7245994f | ||
|
bb5f2dc91f | ||
|
6682d6219d | ||
|
98ee86e76c | ||
|
ed0221d6b3 | ||
|
e7d5c4e877 | ||
|
9a423d1826 | ||
|
ae33a7b336 | ||
|
c770472c48 | ||
|
2dabe2e03e | ||
|
d77ffb6876 | ||
|
0d8f45246a | ||
|
5bcd96f531 | ||
|
38e32d4ac1 | ||
|
917038c110 | ||
|
7dbcb26f7f | ||
|
8054706c3f | ||
|
859cb18d54 | ||
|
1ca59d89c6 | ||
|
4122137871 | ||
|
fd9514f8d2 | ||
|
adddaff183 | ||
|
1a01e8792c | ||
|
efb5e46b6c | ||
|
1019bf1445 | ||
|
363b401f94 | ||
|
865764de06 | ||
|
9a0c7f5f83 | ||
|
b9a3ce95ce | ||
|
cce90a459a | ||
|
f486cb5ea0 | ||
|
61d0bcecd6 | ||
|
ad29dbb31c | ||
|
ca0c06f400 | ||
|
e6367dd408 | ||
|
bb2f63da79 | ||
|
97841dd9e6 | ||
|
1de787b065 | ||
|
a9555e202e | ||
|
adbe76fb42 | ||
|
19d979edff | ||
|
d10b02b5e5 | ||
|
0b231195cb | ||
|
034337fb85 | ||
|
6bd9758e58 | ||
|
814b2ec625 | ||
|
c1276177f8 | ||
|
71fa2eb26c | ||
|
26f3d9c26c | ||
|
c5e81090ea | ||
|
8047d45704 | ||
|
5b3103e0ad | ||
|
928d2ffe2a | ||
|
b12acd31af | ||
|
00e47796a9 | ||
|
d2108df57c | ||
|
59e7ef3c1f | ||
|
4666b762b9 | ||
|
1a91ddb496 | ||
|
5fc68bd4b1 | ||
|
800dd16d84 | ||
|
4cdbff3d52 | ||
|
885e34c916 | ||
|
8e3ac3ed73 | ||
|
95c65ae193 | ||
|
36243a0c62 | ||
|
e57e9413ac | ||
|
5ce91139da | ||
|
2ec4664b1e | ||
|
8a74498721 | ||
|
2e70af12f2 | ||
|
95ca4fe2f2 | ||
|
60b1ff52f5 | ||
|
9de54baf26 | ||
|
e6944a529e | ||
|
3cdcc910a0 | ||
|
0e1e7ade29 | ||
|
5ab86400bf | ||
|
858bafebbf | ||
|
eeb1e6fe9f | ||
|
9d479dd185 | ||
|
42b85f173d | ||
|
5b7d09804c | ||
|
576c54f9b1 | ||
|
1cefc14f69 | ||
|
d949280c72 | ||
|
6de2ef5d35 | ||
|
30c4931d28 | ||
|
335bc13cc1 | ||
|
724d5340bd | ||
|
8fcb81d2de | ||
|
d4218ca64f | ||
|
a0dbed6160 | ||
|
83942e5b6a | ||
|
6541a2b4ac | ||
|
cd0a980ee1 | ||
|
62be54861b | ||
|
fd4f278e1a | ||
|
dad3b07814 | ||
|
b04e39ff86 | ||
|
23a646f840 | ||
|
ef2ab8fdc5 | ||
|
3dbc2a149f | ||
|
0ea0f6c496 | ||
|
f87be33a6f | ||
|
4908772e15 | ||
|
73379375c8 | ||
|
44616e3304 | ||
|
d6d31e00eb | ||
|
05e9790802 | ||
|
1e34a8f919 | ||
|
0683ffc2ea | ||
|
f41e03c63f | ||
|
2f0d57e4b0 | ||
|
1b13edb162 | ||
|
909be40181 | ||
|
95a64c7126 | ||
|
e14c5069c5 | ||
|
fcd3fa385f | ||
|
3e12ec4a1e | ||
|
3f68f33c36 | ||
|
4e461228dd | ||
|
0192447519 | ||
|
06cb0cf7ce | ||
|
00ce10c700 | ||
|
f12bfc5ed5 | ||
|
ab3f1428a6 | ||
|
a0143d5242 | ||
|
8c7b7c4b0b | ||
|
4a39149b69 | ||
|
475c530cd3 | ||
|
adefc561cc | ||
|
7cf5343709 | ||
|
02ae21deb3 | ||
|
acf521e121 | ||
|
185d13b1b0 | ||
|
23eb382128 | ||
|
0fe41f1a8a | ||
|
e498e90469 | ||
|
e7e6980dd8 | ||
|
cf091094a4 | ||
|
f289300181 | ||
|
a2374edf08 | ||
|
cb483a68fd | ||
|
315808e99e | ||
|
5d01e8666b | ||
|
e031560e87 | ||
|
12a1631440 | ||
|
a54de18a54 | ||
|
a67b14a975 | ||
|
be70acb788 | ||
|
3632185617 | ||
|
f8388cdce4 | ||
|
4a9ea5048c | ||
|
ff087d8dae | ||
|
dd9f8e0292 | ||
|
9f506fdb6b | ||
|
18f231e6ff | ||
|
eff43d9aba | ||
|
0e3e00a183 | ||
|
47b70b8793 | ||
|
347035f959 | ||
|
47fdf9bc3a | ||
|
f3c47aafa4 | ||
|
390665a9b8 | ||
|
7d3230d36d | ||
|
4cf22bdcfd | ||
|
34111a60f8 | ||
|
bde6e002b5 | ||
|
be8b536af1 | ||
|
e53f2dc875 | ||
|
1a0f076dd6 | ||
|
ce35122cfe | ||
|
0b36b0e9ce | ||
|
f5f1ccbc23 | ||
|
95aa101795 | ||
|
b3a4b176f0 | ||
|
b523302c42 | ||
|
9dc19806f6 | ||
|
751033a2e4 | ||
|
d5663ef10b | ||
|
bd7c8a693d | ||
|
3ecd73c4d8 | ||
|
65e44a44b2 | ||
|
254b028943 | ||
|
4e17ff796f | ||
|
ef1fa55e46 | ||
|
946758deee | ||
|
fbcbd1b252 | ||
|
55ecdae0fb | ||
|
4d92d58f2c | ||
|
4b4fbfe406 | ||
|
f484310add | ||
|
ec4ef72c13 | ||
|
88f09b75eb | ||
|
bb5827950e | ||
|
fa8c164501 | ||
|
baf47a1f5a | ||
|
42b0f7510d | ||
|
a16cd9a6eb | ||
|
24dbb69f21 | ||
|
ff16bde100 | ||
|
8e21e8d110 | ||
|
a06ef20782 | ||
|
b4a5fd95f7 | ||
|
37b746336e | ||
|
e776b5c038 | ||
|
119cd06ef7 | ||
|
ea48397b01 | ||
|
6fb96a7f8b | ||
|
1d35f6ffe1 | ||
|
35b20c1f7c | ||
|
fa9ca7fd3c | ||
|
27950465b1 | ||
|
0250f34af1 | ||
|
aefe02f52e | ||
|
232b7417a6 | ||
|
0e458e66a8 | ||
|
72a0121896 | ||
|
ca1eb18113 | ||
|
bfd25584b4 | ||
|
ea86edba9f | ||
|
558a61a3d0 | ||
|
d44f561824 | ||
|
85d7480654 | ||
|
d1277de226 | ||
|
937ebba00e | ||
|
d0e9d23e9e | ||
|
a89f05ba8d | ||
|
dca504a1b9 | ||
|
33fb8ff185 | ||
|
ee67069c73 | ||
|
c53e4ae0c8 | ||
|
07ba74858b | ||
|
2652757070 | ||
|
21b316f4d3 | ||
|
b564113d56 | ||
|
2d40e2da7b | ||
|
5f265fa0db | ||
|
1d6dcec080 | ||
|
e4f1be7eb6 | ||
|
5430ee3aa6 | ||
|
4e87164306 | ||
|
fe0063685a | ||
|
b2ce5b027c | ||
|
dec3a4a135 | ||
|
04e10925a1 | ||
|
50129dcc9c | ||
|
c92547c34a | ||
|
5ea3a690a2 | ||
|
77fdd82e51 | ||
|
5c79c445c2 | ||
|
5a5c2837c8 | ||
|
c23bbfad6e | ||
|
01c3185298 | ||
|
e0392f5a74 | ||
|
a0e5faaf66 | ||
|
0f396a4159 | ||
|
73fc46511b | ||
|
fb2bd208e5 | ||
|
6604a3dd9f | ||
|
a44f1f85f9 | ||
|
8910ceaf1b | ||
|
dad0ae1c1f | ||
|
4a3ae388ba | ||
|
6dce0b3016 | ||
|
ef766337ff | ||
|
85a687c6b2 | ||
|
457ff97fa2 | ||
|
fc922eb208 | ||
|
eeed7f6e75 | ||
|
702713af5a | ||
|
d8fc7e05f8 | ||
|
ff0e2ebde2 | ||
|
0b6e5ddd89 | ||
|
29eeb81437 | ||
|
2242503efb | ||
|
e6ad2b69ae | ||
|
378a9dc6b7 | ||
|
4066c73428 | ||
|
5591ca502d | ||
|
81f50cb92d | ||
|
6f08cbb82b | ||
|
8c9ff9960b | ||
|
1894112bb7 | ||
|
26edd68c35 | ||
|
4d0c535a36 | ||
|
b7a948be01 | ||
|
bf657dffb8 | ||
|
17c4312c63 | ||
|
773f3bd3cc | ||
|
783584b52b | ||
|
9958422d10 | ||
|
471741309d | ||
|
9268b9ad48 | ||
|
a7bc9841a4 | ||
|
b6c40bd5e1 | ||
|
e9e8565593 | ||
|
647ac97ab6 | ||
|
55e6d8cd9e | ||
|
b4c6fa4418 | ||
|
c7f0069e8b | ||
|
8204234040 | ||
|
6c56a71c9f | ||
|
b827eddae0 | ||
|
70681e3502 | ||
|
e0dd78c9b2 | ||
|
aa076fe8e4 | ||
|
d238b51f00 | ||
|
e3b964bc81 | ||
|
470129a43f | ||
|
65c4c7d850 | ||
|
3ad5186ed3 | ||
|
71eb431c63 | ||
|
d46eb9e5ea | ||
|
4b9fa11450 | ||
|
ad8590905e | ||
|
1064fb3314 | ||
|
2fc011fe04 | ||
|
73ed1d7401 | ||
|
b25027ba5d | ||
|
7973c0efdf | ||
|
6b9b21db70 | ||
|
4e615aabe2 | ||
|
6bfb03ae15 | ||
|
cdb757c970 | ||
|
67121f0834 | ||
|
2c21e5b592 | ||
|
1a07c2efb3 | ||
|
c50a834b80 | ||
|
159a37f659 | ||
|
252610f7dd | ||
|
353de572a6 | ||
|
cc48d3a122 | ||
|
d1242ba24a | ||
|
d6c91b3c03 | ||
|
2b15f2a196 | ||
|
5dd610d01d | ||
|
4e22355ee1 | ||
|
cf113e8d54 | ||
|
9cd5da710e | ||
|
f42b5c327f | ||
|
23087cfdbd | ||
|
21212fca13 | ||
|
cda1cc170f | ||
|
731ed05ce9 | ||
|
de71e0e500 | ||
|
aba930af15 | ||
|
7edf0e5ef8 | ||
|
177db48734 | ||
|
a0824823b7 | ||
|
a1a1e44798 | ||
|
5937241328 | ||
|
efc4080d47 | ||
|
5df342d334 | ||
|
6d9dcc04d6 | ||
|
f677d10b23 | ||
|
998a936c4c | ||
|
161a341850 | ||
|
bd23695055 | ||
|
5b2c2a1023 | ||
|
768b7ed2c8 | ||
|
2a7b11eafb | ||
|
e76bef7f7b | ||
|
8fbdff1634 | ||
|
d616544077 | ||
|
27fa42b24c | ||
|
018010f05c | ||
|
9cb8b0e5a4 | ||
|
eb72bd63c1 | ||
|
3ea8b8b87f | ||
|
98782f8899 | ||
|
ab342e99f6 | ||
|
b61871c06f | ||
|
9a457be18b | ||
|
611a278fa4 | ||
|
78490acc39 | ||
|
64e66d8ed6 | ||
|
bb0b8e5d67 | ||
|
26946f674e | ||
|
9c14a9ab42 | ||
|
d5f0cf990b | ||
|
a7b2257e9a | ||
|
2286986a9c | ||
|
39e2267436 | ||
|
92ec2e5e9b | ||
|
f6d6d21f71 | ||
|
b4ddb8835c | ||
|
caf8d479c6 | ||
|
b60af444cc | ||
|
4319444d05 | ||
|
040a4fe7f6 | ||
|
d5c7655ca5 | ||
|
1ed0bdd8d0 | ||
|
a03cbfe0fb | ||
|
862298a2e7 | ||
|
21e2e08191 | ||
|
2542eb75bd | ||
|
28e5655de3 | ||
|
4d569245f0 | ||
|
a3dd574a07 | ||
|
b31e4d00ec | ||
|
ebe24c84d4 | ||
|
628599935b | ||
|
88ed9d771e | ||
|
d860b2f537 | ||
|
336d4dace4 | ||
|
7b3adac4cf | ||
|
51c7070559 | ||
|
6aa90452aa | ||
|
e01e1e16ef | ||
|
5194eb9564 | ||
|
a79da2457e | ||
|
5a1ccaeb00 | ||
|
c1c4d0d5a5 | ||
|
8e0fd243f8 | ||
|
d1a7102389 | ||
|
129c35326a | ||
|
51045df01b | ||
|
e9394d699c | ||
|
73b70b403d | ||
|
ea913d185d | ||
|
d093d623e3 | ||
|
d498a89950 | ||
|
99a6f30db0 | ||
|
6951ab6881 | ||
|
c5972df7d5 | ||
|
5a16197459 | ||
|
2ab95531ca | ||
|
ec74a9da7a | ||
|
fcecbb37bf | ||
|
8f8c473a98 | ||
|
026bcfdcad | ||
|
ef98d93bed | ||
|
2f2a0b2925 | ||
|
56886d5fdd | ||
|
bf1691e388 | ||
|
5cb926f90d | ||
|
2ea694053f | ||
|
e11aa74933 | ||
|
4f3db09bd5 | ||
|
1dcc4c7ffd | ||
|
c6bd15026b | ||
|
56971667ee | ||
|
d9c57ca9f9 | ||
|
a0aa92a24b | ||
|
6dfb4507f5 | ||
|
99c5fe0e7c | ||
|
e1fa2571c5 | ||
|
cc715e9391 | ||
|
d2a6fc79e3 | ||
|
856f254eef | ||
|
d0d341a30b | ||
|
207e17031a | ||
|
7938b533d5 | ||
|
e84ab7938d | ||
|
6d04f0592e | ||
|
c07bc2cc7d | ||
|
c3e170647e | ||
|
4f1324aa48 | ||
|
e76a848e3d | ||
|
9e92a0b4c0 | ||
|
43d9a14a21 | ||
|
fab859d11f | ||
|
99f9506a66 | ||
|
f8fee9337b | ||
|
986831a8d4 | ||
|
a9839fe044 | ||
|
6450c9e4cf | ||
|
b8c0f18654 | ||
|
dcb3d87d78 | ||
|
5147f4f3a3 | ||
|
e117bf642b | ||
|
3e9033f78a | ||
|
2aed051d0d | ||
|
f4981ebf5d | ||
|
a3b168d01a | ||
|
065054daa7 | ||
|
173054ceea | ||
|
e992aa21f7 | ||
|
9479642fd3 | ||
|
c3bd0019c0 | ||
|
b8b03f64e1 | ||
|
1036ddadb2 | ||
|
02a34d2af4 | ||
|
e29990c5a4 | ||
|
41c987b72d | ||
|
7de8b442ff | ||
|
a040ba9ed4 | ||
|
cd57b7c742 | ||
|
d239a5427f | ||
|
481e9bd0f6 | ||
|
819d1d9438 | ||
|
6221b8944e | ||
|
82f17fbe68 | ||
|
c94f6d4dff | ||
|
8cd1d546e6 | ||
|
9afc115f73 | ||
|
0472cef685 | ||
|
41a459947f | ||
|
1e93470df0 | ||
|
92757d4d2d | ||
|
9ba2646291 | ||
|
e1d7273f24 | ||
|
598927a5bc | ||
|
451b955d62 | ||
|
e97d1d20b1 | ||
|
a190744aa9 | ||
|
9bf284daa9 | ||
|
58578f83bc | ||
|
1794a0103a | ||
|
1fe6d8bfa8 | ||
|
d2dabff3a0 | ||
|
4a67b044fb | ||
|
6ec319b84f | ||
|
c6d526f33f | ||
|
69267756d0 | ||
|
0d0e41a719 | ||
|
041f7c9304 | ||
|
86c4df83b9 | ||
|
8fa216bbb4 | ||
|
15dee2ef24 | ||
|
704dfd6b0f | ||
|
92549b3b8a | ||
|
c779bf8f62 | ||
|
f73ad5d47e | ||
|
a70f3b1c77 | ||
|
63e15ad5e0 | ||
|
84678267e4 | ||
|
0b15f92032 | ||
|
34872ca461 | ||
|
63cdc92f04 | ||
|
f226ecbfbb | ||
|
69535c6124 | ||
|
680030c42b | ||
|
11ef5869fb | ||
|
3f3f7a824c | ||
|
171607296d | ||
|
771eaeb2b3 | ||
|
d773b57d22 | ||
|
763941749e | ||
|
31b782a147 | ||
|
414b7eeae9 | ||
|
d87f0c0052 | ||
|
720bc953f8 | ||
|
871e10fc95 | ||
|
370608b4c7 | ||
|
8c70d04bab | ||
|
36785c7e77 | ||
|
2686e44e05 | ||
|
2d446b6eeb | ||
|
c7f5e26b5f | ||
|
dc576025c3 | ||
|
511e7c5bba | ||
|
985f01a65f | ||
|
356e28b35e | ||
|
7141fc7a27 | ||
|
f82a8014c0 | ||
|
a2e80549a2 | ||
|
57177f1abd | ||
|
51f07d8f0f | ||
|
68ee703bfe | ||
|
b3c91b8a50 | ||
|
adca15cf15 | ||
|
99f8fb4c55 | ||
|
d55e11a302 | ||
|
9cbd1ecc3e | ||
|
35c3aab44d | ||
|
4ac14cde9a | ||
|
0c1b0d83bb | ||
|
ef01addb38 | ||
|
318ae9f3be | ||
|
29cc45cb79 | ||
|
81da8bc73b | ||
|
c7be484d11 | ||
|
8418245a7e | ||
|
f65dcfcd14 | ||
|
daeace5c5d | ||
|
d18d6a85f9 | ||
|
8c3c32f16a | ||
|
7d3698b47c | ||
|
56635345ad | ||
|
0b50f4a025 | ||
|
e2b86f580c | ||
|
3bd2ee5d55 | ||
|
a6cfd22eba | ||
|
a1edb05c60 | ||
|
7659bd9221 | ||
|
ce9085eba1 | ||
|
d7049a67b6 | ||
|
99569948d3 | ||
|
21fb379549 | ||
|
7f9c425bfb | ||
|
9e7e7662bf | ||
|
df9fe124d6 | ||
|
020135dc85 | ||
|
4f84617078 | ||
|
c03fbecc7c | ||
|
105b51f42e | ||
|
4b47f9b82c | ||
|
a5a383adc1 | ||
|
7f866e54df | ||
|
9d7e20d119 | ||
|
08a883c71f | ||
|
5987d22846 | ||
|
c716e9674b | ||
|
8fd68675e2 | ||
|
8f0a15727f | ||
|
68acc701bd | ||
|
c1e0df918b | ||
|
d6d7e2885b | ||
|
344d480611 | ||
|
d41bd09596 | ||
|
f8f6907284 | ||
|
c726af2d5a | ||
|
3e2d637458 | ||
|
f99f79e380 | ||
|
e8f771176e | ||
|
e20dd2a4fd | ||
|
e988ba94aa | ||
|
71daae9671 | ||
|
50078cfbcb | ||
|
6564de5e95 | ||
|
ebfd6f45c3 | ||
|
3445acdbaa | ||
|
8c67ab6684 | ||
|
981c01d419 | ||
|
3522a311ea | ||
|
7bf3198df6 | ||
|
2eb7a97575 | ||
|
8da02d5280 | ||
|
f102c7146e | ||
|
bc451c4980 | ||
|
46c551fdb4 | ||
|
133c511b52 | ||
|
545e5571f9 | ||
|
2165522819 | ||
|
5b436359a8 | ||
|
febf69b5e9 | ||
|
5b42dbed98 | ||
|
8e4108f039 | ||
|
0dbac60b9e | ||
|
c7ccd8b2e6 | ||
|
b6fb1e245c | ||
|
70c6e67766 | ||
|
f688b808ad | ||
|
21e63916dc | ||
|
47b830370a | ||
|
bd04ad42e7 | ||
|
8ebca27bb7 | ||
|
ed64d92bea | ||
|
163338ec28 | ||
|
7dbb5fce06 | ||
|
2b6f6ad64b | ||
|
91b423beb7 | ||
|
1b60f1b401 | ||
|
f7d0f12407 | ||
|
48b6ca8302 | ||
|
4f47778591 | ||
|
7bcbcd1d93 | ||
|
fcbae1017a | ||
|
0bfdb9cb24 | ||
|
d3ede96d6f | ||
|
0a84286d8f | ||
|
d5762cc034 | ||
|
2f50445537 | ||
|
6dc0e4f171 | ||
|
506e9d6c2d | ||
|
95c370f0ee | ||
|
deb3e802de | ||
|
dd4e9351ba | ||
|
75a96e0cc4 | ||
|
8223bd22ed | ||
|
93103da84b | ||
|
fde937bda0 | ||
|
c77fd89000 | ||
|
5900356efb | ||
|
ab963449dc | ||
|
da176bf6b7 | ||
|
03569fda63 | ||
|
6e2770174e | ||
|
b7fac9f77f | ||
|
8156493d8d | ||
|
aea47e48c4 | ||
|
8d48ce02c3 | ||
|
af3bd44fd6 | ||
|
f8ce014319 | ||
|
5770c17074 | ||
|
ace4aecd5e | ||
|
825d357a46 | ||
|
f988ecfb34 | ||
|
ec63000a62 | ||
|
1dd34bbb4b | ||
|
3d92a000ff | ||
|
79ba107670 | ||
|
117375ca49 | ||
|
a4af45c065 | ||
|
74abc3deac | ||
|
a8b628e7a8 | ||
|
9cec6239c1 | ||
|
ee719cdcca | ||
|
11de45bb71 | ||
|
b2334e433a | ||
|
eb084a733b | ||
|
b638b9b35c | ||
|
09bbd96239 | ||
|
5fed699a2d | ||
|
4921c54411 | ||
|
c060f44c16 | ||
|
781d70c027 | ||
|
0104c43195 | ||
|
4100aecd13 | ||
|
f0df0dcaa0 | ||
|
f87668b70e | ||
|
aa7735e9d1 | ||
|
7cbb7f059a | ||
|
4e1f37f812 | ||
|
587fd10554 | ||
|
9f7506488a | ||
|
b9cad8b707 | ||
|
786d735d94 | ||
|
0e747f2029 | ||
|
7140807917 | ||
|
5f7df34611 | ||
|
6343018fac | ||
|
f46d137e33 | ||
|
10028a9d58 | ||
|
b22344f328 | ||
|
44b4a4f6d7 | ||
|
3e86757358 | ||
|
c0617421ab | ||
|
d7db33bfe9 | ||
|
dc77344a8e | ||
|
488222800e | ||
|
5834527136 | ||
|
8746d95f6d | ||
|
8cbd91a449 | ||
|
b4e0549feb | ||
|
7d65a355fa | ||
|
783b254413 | ||
|
ead30f4dd5 | ||
|
79e7872530 | ||
|
3d64a9d783 | ||
|
36e244f308 | ||
|
5ffa236bb4 | ||
|
688623b5b0 | ||
|
c494db8fd6 | ||
|
28c9eea032 | ||
|
1b43885d17 | ||
|
50371ed1d5 | ||
|
7bf3c13d9c | ||
|
0059848e9e | ||
|
f55d1316ad | ||
|
eec91958b4 | ||
|
635daa2556 | ||
|
53a15aed39 | ||
|
70ffa02fc2 | ||
|
429b4211d0 | ||
|
6b4b916da4 | ||
|
64b3bb7b15 | ||
|
b733739416 | ||
|
d5a0cf10bc | ||
|
e926df601d | ||
|
b8a625f384 | ||
|
6d9cdd2a57 | ||
|
e1b2458364 | ||
|
51f39c7048 | ||
|
3245e1783c | ||
|
5b74103b0b | ||
|
2eba5c5635 | ||
|
7d792b99b8 | ||
|
be783825af | ||
|
ae09988eb7 | ||
|
be08842e47 | ||
|
60ac2aa821 | ||
|
b6fa951897 | ||
|
64d14daa4b | ||
|
5ff2e370af | ||
|
f2b4a65728 | ||
|
bec993d60a | ||
|
87dce7a762 | ||
|
7d7c08be1c | ||
|
0f58db3092 | ||
|
4796d7b34b | ||
|
9e6d721985 | ||
|
134e05e005 | ||
|
ed5cf72035 | ||
|
f281926e1d | ||
|
59baedd87f | ||
|
e193735450 | ||
|
5372d49b11 | ||
|
f9a6110f26 | ||
|
e178688f8e | ||
|
cf793b0042 | ||
|
aeb1078ab5 | ||
|
22f9754f1b | ||
|
36d7a36158 | ||
|
aaa42d905a | ||
|
bec787ee9d | ||
|
8c865052b9 | ||
|
5efcfb9695 | ||
|
80ca86e54d | ||
|
f61770a169 | ||
|
c3f7371c5e | ||
|
4bccdf0ceb | ||
|
09cbfc0481 | ||
|
242e3ea4e3 | ||
|
afbe1d4c56 | ||
|
b583e80cb8 | ||
|
65909c7996 | ||
|
ac7e4df4f4 | ||
|
bbefc9cc2e | ||
|
c2f797544f | ||
|
df2fadfc6e | ||
|
68d4245d21 | ||
|
7743454165 | ||
|
716be2570a | ||
|
b7b439196c | ||
|
ad71665104 | ||
|
71b803ac9a | ||
|
ae5519f7f8 | ||
|
dae7007d6e | ||
|
61c29fe56f | ||
|
1d1330f37e | ||
|
a8e3247e65 | ||
|
077bdba5c2 | ||
|
ba9285b3a3 | ||
|
be33e96533 | ||
|
cbd3d06541 | ||
|
90791fbf96 | ||
|
c407365769 | ||
|
90b721e43e | ||
|
a41c00b472 | ||
|
71ce475967 | ||
|
65e3451ea9 | ||
|
686eb7a24f | ||
|
ec93cc25ec | ||
|
034e47c338 | ||
|
afe73ed468 | ||
|
ace1ee225f | ||
|
81a110edc7 | ||
|
08da97bfb9 | ||
|
1e90c744d5 | ||
|
136fe2f7cc | ||
|
d36897c765 | ||
|
025a87065f | ||
|
56e2171c6f | ||
|
1ce929603b | ||
|
a523770c32 | ||
|
b3df72c4dd | ||
|
1bc84b0a08 | ||
|
1edfce9b18 | ||
|
af4028dccd | ||
|
22346003dc | ||
|
8df2f1d874 | ||
|
d2939c0f4d | ||
|
46468c62ff | ||
|
bc80c45d5d | ||
|
f94398e72e | ||
|
b76d936670 | ||
|
8e3122faf5 | ||
|
8715120e4d | ||
|
ce43cca0eb | ||
|
e6b36736a8 | ||
|
220a2d51de | ||
|
e4bf9a3bcc | ||
|
6ba02c21ac | ||
|
233c3ac861 | ||
|
24a7beea5a | ||
|
4e86838d89 | ||
|
9d5ac29eef | ||
|
de3db7d27f | ||
|
3b3b98056d | ||
|
7912d87920 | ||
|
8cf65dabf2 | ||
|
bb1d8d7a84 | ||
|
2642a36db5 | ||
|
da6620ffac | ||
|
31fea86564 | ||
|
80a59b4aae | ||
|
71c89ac9df | ||
|
80a8ac3c1e | ||
|
957d597330 | ||
|
d1dda68777 | ||
|
c970c4a5ea | ||
|
4a194c55af | ||
|
310992c344 | ||
|
4e187169f0 | ||
|
6aff1e9ca5 | ||
|
5cc2d8f6d5 | ||
|
91a00424db | ||
|
1dc38b729b | ||
|
eba20715f9 | ||
|
ea723c4826 | ||
|
bfc29df3e0 | ||
|
63cc969a84 | ||
|
d0daa5efad | ||
|
11288f56ee | ||
|
e4ac5919ba | ||
|
da054f35ab | ||
|
5cce775e92 | ||
|
b6cbabc551 | ||
|
50896b2804 | ||
|
d4abb09d80 | ||
|
0eafe9955b | ||
|
2b8d0d44b9 | ||
|
105794cd43 | ||
|
45c7b9e636 | ||
|
bf02b123d1 | ||
|
a8bb330f94 | ||
|
645881139b | ||
|
e5fac00946 | ||
|
dc692438f3 | ||
|
b15e26f939 | ||
|
45138725cf | ||
|
1e6d87bdfc | ||
|
d2e5538b16 | ||
|
af2954ae71 | ||
|
bd205a9036 | ||
|
01f6cbcf07 | ||
|
2340f3ebfb | ||
|
df8192aaf4 | ||
|
15b0a6d641 | ||
|
524492dcea | ||
|
fe51174f08 | ||
|
97c9ddefa1 | ||
|
98e2c39d39 | ||
|
de9ff3efe1 | ||
|
8dd47ead18 | ||
|
90f3c0d717 | ||
|
971f5f229d | ||
|
1c00dcd665 | ||
|
d5aba1a4d9 | ||
|
1a538a07c7 | ||
|
e9d7550ac2 | ||
|
7210cef452 | ||
|
bebdfafb2b | ||
|
5c62d6c456 | ||
|
cb97426208 | ||
|
163a781e63 | ||
|
a474371fc6 | ||
|
6dd7e42d89 | ||
|
96a96b8433 | ||
|
fb90fcc046 | ||
|
dbecb87f94 | ||
|
0ecf9b3e09 | ||
|
b86cf8821b | ||
|
47a089f06c | ||
|
6409578790 | ||
|
b32f715d5b | ||
|
c4bdff191b | ||
|
48cd3dfa66 | ||
|
a20b623748 | ||
|
06198b9c73 | ||
|
21373feb4e | ||
|
806ae49933 | ||
|
56a4fe2818 | ||
|
0e0149ce91 | ||
|
baa3b463b3 | ||
|
6bb575d128 | ||
|
753346c5dd | ||
|
35b2a2d99a | ||
|
c32d977e0f | ||
|
df34363d58 | ||
|
0d968ad715 | ||
|
a48539c013 | ||
|
b8c52c00e9 | ||
|
d4ee61c08a | ||
|
3d4452a7a2 | ||
|
486917501f | ||
|
4d1b771fbb | ||
|
69b0992178 | ||
|
37c0ac267d | ||
|
37ed422404 | ||
|
19e5db4ae2 | ||
|
323a329b26 | ||
|
910e65d973 | ||
|
e24eda48cf | ||
|
adac38dbbd | ||
|
7ec235ed09 | ||
|
63fd27cfa3 | ||
|
e7c6f45759 | ||
|
ad1012978f | ||
|
95e2415b95 | ||
|
674afcb09e | ||
|
0004ddf0f6 | ||
|
f618d662ca | ||
|
b5ffd224f1 | ||
|
e720e530be | ||
|
59fc0d0609 | ||
|
ca6ddffe2c | ||
|
5e8d2ebd7a | ||
|
658ec27fe8 | ||
|
e5c9e03285 | ||
|
d8ca0cbd4b | ||
|
f391889f4e | ||
|
0d210c47f9 | ||
|
0076d8db97 | ||
|
3d0c59e5bb | ||
|
5ba01683b6 | ||
|
668a0fef42 | ||
|
8e104ef011 | ||
|
e29dfe9b27 | ||
|
a44da44b1c | ||
|
1c888bade5 | ||
|
e7aa45055c | ||
|
eebe58adeb | ||
|
b8286f0666 | ||
|
b57ce788a7 | ||
|
e4ab3b5d38 | ||
|
5e3ad0b775 | ||
|
ce6506b0bc | ||
|
16562bbc58 | ||
|
d269ef165c | ||
|
79b8c97e99 | ||
|
cf9bd25655 | ||
|
a6a5ac9650 | ||
|
afbb8a4c8c | ||
|
97b56031a9 | ||
|
a3c90fcb94 | ||
|
dbc7819921 | ||
|
1158184f05 | ||
|
2205d58b32 | ||
|
6e92b4438b | ||
|
856612876d | ||
|
65e6548e48 | ||
|
f78d070d68 | ||
|
dd79eb8b77 | ||
|
fe422b673b | ||
|
8cff921571 | ||
|
da863c2ad1 | ||
|
2c4ba8b4f3 | ||
|
93d56e9df1 | ||
|
04c721f22d | ||
|
2bf5333f45 | ||
|
34b9fe6101 | ||
|
08600de376 | ||
|
7148364102 | ||
|
6d1f8899a6 | ||
|
01131c0b82 | ||
|
b52779b30c | ||
|
6472e54a98 | ||
|
867f34a683 | ||
|
370707a7a9 | ||
|
ea542455b4 | ||
|
bd3e16a3cf | ||
|
4ad31f8f65 | ||
|
542fcbc07d | ||
|
83707dc87e | ||
|
6f95618ed3 | ||
|
118c91b0d5 | ||
|
a4b10a60ad | ||
|
0621f15ac7 | ||
|
ba08d16d6c | ||
|
5ed7afa9de | ||
|
b6e19cf4cb | ||
|
89316b2caa | ||
|
c9014a0df6 | ||
|
e340013ea8 | ||
|
d3fa510a75 | ||
|
c3afa6a9a3 | ||
|
27432ba70c | ||
|
0c7a9b994c | ||
|
63ed05d241 | ||
|
e7b91c510e | ||
|
53ec39ea63 | ||
|
826ce0e77d | ||
|
3c7059528d | ||
|
256fff39e4 | ||
|
c6172260a5 | ||
|
fc03eb53c0 | ||
|
6fdbdafcd7 | ||
|
a9a583d6df | ||
|
18657e9919 | ||
|
db92aee2b4 | ||
|
f8ea21c95d | ||
|
4e8993a250 | ||
|
72edc90a65 | ||
|
f81e0d480e | ||
|
468273a69c | ||
|
2e90c9daf9 | ||
|
8e5a21ee05 | ||
|
257e2056e7 | ||
|
dc7f6c3d30 | ||
|
4588c2ce97 | ||
|
f78610038d | ||
|
1888057839 | ||
|
f5e8ca65fb | ||
|
f7ee34114d | ||
|
932534e85f | ||
|
9cd0fe69cd | ||
|
8e91a400cf | ||
|
fc604c12d5 | ||
|
baf55e1fa4 | ||
|
ec90b34acf | ||
|
fbc58cfcae | ||
|
feaba3e179 | ||
|
8afd34f2d8 | ||
|
edc88e2084 | ||
|
d0a3a1ff92 | ||
|
9efab5da16 | ||
|
301bd80194 | ||
|
a3f63b853c | ||
|
afb792bd38 | ||
|
f59808b724 | ||
|
01db247941 | ||
|
4ee1b16a54 | ||
|
703ec1b73d | ||
|
4cd7d220c9 | ||
|
0a6e709c95 | ||
|
a1703557fd | ||
|
2265e7dd14 | ||
|
9345c2bfcf | ||
|
77346f2787 | ||
|
e4ee043636 | ||
|
630341a215 | ||
|
d65ab51d74 | ||
|
93df3a9748 | ||
|
7404c40597 | ||
|
b33c33b7d5 | ||
|
d5fbe4542a | ||
|
b091fef5cf | ||
|
ac339206bf | ||
|
d41a64a194 | ||
|
7c8250d765 | ||
|
2589ca3019 | ||
|
0f7436ca54 | ||
|
131e7245a8 | ||
|
4eac55238f | ||
|
3c7590e0a4 | ||
|
10fe8d0668 | ||
|
8c5d7c7a2c | ||
|
8eddc307e9 | ||
|
50be3b44c5 | ||
|
b02d0c33b0 | ||
|
926a98de21 | ||
|
a98145e7c9 | ||
|
4f3d15479a | ||
|
66f319aec0 | ||
|
8da5cbfc78 | ||
|
5ab29e369f | ||
|
c074a64251 | ||
|
2ab52f4af7 | ||
|
e739d956e8 | ||
|
c62c59a984 | ||
|
4527b2ae50 | ||
|
4f9e61f648 | ||
|
e802d7efb4 | ||
|
deb8c66d44 | ||
|
32cee5b2f0 | ||
|
1b4de77e85 | ||
|
ba4689e081 | ||
|
b3ea63b581 | ||
|
4ff36e742b | ||
|
e16dd5f2d2 | ||
|
6222a6fee3 | ||
|
ec04c18bc5 | ||
|
fdf44d5b47 | ||
|
607f34319d | ||
|
a0f43d820d | ||
|
d37d8f78c0 | ||
|
499e302f96 | ||
|
b39a1fe165 | ||
|
bb02d4c429 | ||
|
cc2d49f9be | ||
|
10604cb8c5 | ||
|
4f8e888714 | ||
|
4ceaa7491e | ||
|
9bf1cef737 | ||
|
c3d4eb124c | ||
|
3bbaf7b86f | ||
|
897c972a96 | ||
|
0331da65ed | ||
|
f84fc5a557 | ||
|
149cd07446 | ||
|
ccc969762f | ||
|
a7a0eb531d | ||
|
7b45172a06 | ||
|
348bb33701 | ||
|
bb91111ce2 | ||
|
36c4066590 | ||
|
b8515b4e3a | ||
|
5ab0598479 | ||
|
33a6a8a95e | ||
|
4155e5300e | ||
|
be153a721b | ||
|
28a72d65ca | ||
|
1059c48180 | ||
|
21eb897241 | ||
|
695562154f | ||
|
c4dd2a1faf | ||
|
27d2d99fe7 | ||
|
6ab98a68b7 | ||
|
9cb36def82 | ||
|
4117e80332 | ||
|
9139b46a6b | ||
|
179d92c848 | ||
|
5275c0f4a1 | ||
|
09a7a34076 | ||
|
9bf595b172 | ||
|
fd6d506c50 | ||
|
8a6b6037f8 | ||
|
44a96fe914 | ||
|
a26669d753 | ||
|
06c910eadf | ||
|
dce0162b9a | ||
|
813355e256 | ||
|
8db77b372e | ||
|
323ba66eaa | ||
|
5c239b3a2f | ||
|
cba522caf7 | ||
|
341216a0af | ||
|
e17ae3ccc2 | ||
|
4a2409252e | ||
|
4f77c48cba | ||
|
6c928996e6 | ||
|
4e8032272f | ||
|
04a39574a8 | ||
|
4ee3d4c285 | ||
|
ef4d14a116 | ||
|
0bc5fcffb1 | ||
|
f84c6dd26d | ||
|
79bd55b302 | ||
|
a946c50ded | ||
|
7cdf944b0a | ||
|
b527aa090d | ||
|
01b4baba59 | ||
|
b6c44af0f7 | ||
|
f558c66f17 | ||
|
b866991f0c | ||
|
62ff210e5d | ||
|
bd6ae7b8ab | ||
|
439f29e78c | ||
|
1a83a068e4 | ||
|
bdcc2f80a6 | ||
|
be5347bb72 | ||
|
829c62b7a5 | ||
|
2af983f4c4 | ||
|
b106c8b910 | ||
|
d27c66dbaa | ||
|
7d19413955 | ||
|
a9fe620372 | ||
|
a1bdf04b27 | ||
|
51a4178f24 | ||
|
bb5fc5c778 | ||
|
ae8755370f | ||
|
64cc686d79 | ||
|
3de074efa5 | ||
|
1895b42114 | ||
|
657f3bea8d | ||
|
fba2076f43 | ||
|
05c46f5c22 | ||
|
2f177c5a41 | ||
|
fdda37608a | ||
|
cb19cff468 | ||
|
c6b32d6801 | ||
|
938368f838 | ||
|
9869f24d08 | ||
|
387c316e11 | ||
|
34315608a8 | ||
|
199d17de32 | ||
|
ce692d5ea6 | ||
|
070732735f | ||
|
6fda6699e5 | ||
|
ead2df32ba | ||
|
e3155cac18 | ||
|
41c2aa729f | ||
|
a2dba3ceb2 | ||
|
ad8ab88c91 | ||
|
5f12b8444c | ||
|
04b57b4ae1 | ||
|
37e85cff06 | ||
|
12a73cf14a | ||
|
b7621b7e96 | ||
|
399d7044cd | ||
|
4373043f55 | ||
|
439760214c | ||
|
68572de822 | ||
|
d72a8f7465 | ||
|
1b5685dada | ||
|
56a4e9cb61 | ||
|
5e06a4f063 | ||
|
7383b8cc06 | ||
|
62569e45ea | ||
|
fd00f0e6c7 | ||
|
1fb8ac4c79 | ||
|
08e5d1efcf | ||
|
c0806dc30b | ||
|
2d9fcb3102 | ||
|
a73c67b6cc | ||
|
83cbbbef45 | ||
|
ace8e2276e | ||
|
35369a7d48 | ||
|
a36b0ad2d5 | ||
|
6743809dbf | ||
|
a2ac63af0e | ||
|
f41be29635 | ||
|
c99b8cec82 | ||
|
37405b9109 | ||
|
3824c19df8 | ||
|
54cf313cdd | ||
|
cde3b97a26 | ||
|
7acfb940f7 | ||
|
d7a0386e22 | ||
|
624ec1c2f9 | ||
|
035947eb87 | ||
|
adf3be57df | ||
|
c91776d5ff | ||
|
363995b029 | ||
|
d772a70faa | ||
|
789bdd7dea | ||
|
dae1250b24 | ||
|
086f37e97a | ||
|
b1dc59b395 | ||
|
ec6754db57 | ||
|
3b2db51430 | ||
|
bd874b6c42 | ||
|
c7d7ba85a6 | ||
|
0fed5a7bc7 | ||
|
403e86067d | ||
|
8059a99025 | ||
|
849b5fc4f6 | ||
|
59173c3dd9 | ||
|
24e3b0eda1 | ||
|
ed94ad9e40 | ||
|
3fb0819830 | ||
|
1891cad542 | ||
|
5dd61a168f | ||
|
e2863e7768 | ||
|
0636c4a8f6 | ||
|
f7dd335749 | ||
|
5b7bf20877 | ||
|
03cf57a37d | ||
|
9ced219a68 | ||
|
b01c68d9bc | ||
|
89b9b6d35a | ||
|
1b046a6837 | ||
|
91c8e75f44 | ||
|
0751786d3c | ||
|
08573b632d | ||
|
127328a07e | ||
|
c08475824b | ||
|
cb2ed632e6 | ||
|
8fca346c97 | ||
|
9af8447720 | ||
|
79ccfec803 | ||
|
c641d55083 | ||
|
cda2afac79 | ||
|
5f7ad32778 | ||
|
cc40c28410 | ||
|
f5c509623f | ||
|
8874d37f94 | ||
|
a86b188567 | ||
|
56945e1374 | ||
|
636a990587 | ||
|
b421a70811 | ||
|
41d4104d3e | ||
|
eb36666d22 | ||
|
a4604eb086 | ||
|
ba25c214f7 | ||
|
d526e37bad | ||
|
00e5b96716 | ||
|
307fb9044c | ||
|
276c409163 | ||
|
370461d1db | ||
|
d3f6173086 | ||
|
17c4d2a17f | ||
|
f05f005c8b | ||
|
192a139489 | ||
|
64c6695f1a | ||
|
db35beaa1d | ||
|
427067f7ed | ||
|
cce83f1318 | ||
|
ee7758f09b | ||
|
80dca1eba9 | ||
|
75036c69df | ||
|
fedbb015a9 | ||
|
fb58318d7f | ||
|
b8d545a8b8 | ||
|
8370023730 | ||
|
6d91d70190 | ||
|
a98e5a7815 | ||
|
0f3989c172 | ||
|
26893ac6e0 | ||
|
83ae3ee39b | ||
|
ccae95d50e | ||
|
98d8c811ce | ||
|
7c959e0dc0 | ||
|
8720551256 | ||
|
0efe8f5065 | ||
|
ea65fdba7f | ||
|
732ce2789b | ||
|
1d204cf196 | ||
|
62c6778495 | ||
|
c78e1cfcb5 | ||
|
53caf99db6 | ||
|
11822fff28 | ||
|
ea3c5f25eb | ||
|
53704bf24e | ||
|
e755186c5c | ||
|
29b5167417 | ||
|
a39ab90908 | ||
|
d334c91751 | ||
|
682775fbb8 | ||
|
a02de849a0 | ||
|
f59d51f518 | ||
|
57b8a38840 | ||
|
6ce939c247 | ||
|
e92e5ba128 | ||
|
46cf0cefa0 | ||
|
3ce08fab84 | ||
|
e689300770 | ||
|
4fdd873f1a | ||
|
db9277a39b | ||
|
691dd388ae | ||
|
35847860f6 | ||
|
1fafc1bc1c | ||
|
5c668a78d8 | ||
|
b3ea3bab3f | ||
|
66c5f02b96 | ||
|
a0d2ceb32f | ||
|
28fa50d226 | ||
|
74f11dd25b | ||
|
ee7d5c312b | ||
|
97d26e470d | ||
|
66dcb40937 | ||
|
60acb38abb | ||
|
e80b84a743 | ||
|
15120b8c61 | ||
|
44a54eb073 | ||
|
c63b088035 | ||
|
692e9fac75 | ||
|
fb0ef0d511 | ||
|
ea0486873e | ||
|
52970dec5b | ||
|
dd25b5a793 | ||
|
8f8031df19 | ||
|
cb1fbda4a1 | ||
|
6f2a0198e9 | ||
|
108d591b11 | ||
|
eff95ac8fc | ||
|
3418e7815a | ||
|
91fdcefa7f | ||
|
0c83568fbd | ||
|
c27553b6e2 | ||
|
f674dc6794 | ||
|
bf2788218a | ||
|
ed7b4814b6 | ||
|
4076d30f85 | ||
|
bbc705d130 | ||
|
6c2702eddf | ||
|
c8e5177303 | ||
|
4d4c90dfd5 | ||
|
269d39afe5 | ||
|
2f01cfdf05 | ||
|
d25a5e087a | ||
|
26c5fa3a9b | ||
|
f1e927c4bf | ||
|
f1f68ca334 | ||
|
f4c60dfbf2 | ||
|
3f48345f7e | ||
|
99cf04e32d | ||
|
f65a2a12f4 | ||
|
7b6953bc22 | ||
|
4ac6ce38d3 | ||
|
f08b1c58f3 | ||
|
4ac0d545e8 | ||
|
7dc52241b3 | ||
|
5750149fed | ||
|
2f913162ed | ||
|
6d7c2f65c1 | ||
|
14d84db863 | ||
|
cb5d0193aa | ||
|
e5470dd0e0 | ||
|
a2c5d16a70 | ||
|
6d71d54812 | ||
|
46550cde0f | ||
|
d0fbaf16cc | ||
|
4cbeb48713 | ||
|
c7596cf0e0 | ||
|
7b5acf9461 | ||
|
4563c59b5b | ||
|
89c509a0c1 | ||
|
ea9db906fc | ||
|
1fe69c4656 | ||
|
ed4da64657 | ||
|
32c6b1908b | ||
|
53058e11aa | ||
|
d64b81a8f0 | ||
|
4153a74105 | ||
|
d5d710a199 | ||
|
70f56dd72c | ||
|
0a617b53d4 | ||
|
0ace4d985a | ||
|
1dc2587224 | ||
|
890676d26b | ||
|
2b3fb38fab | ||
|
b2da1d453f | ||
|
c4cfc0d037 | ||
|
e4c8b67024 | ||
|
0181975689 | ||
|
834c5720e4 | ||
|
b5d63e997b | ||
|
9877d8406c | ||
|
28257dc2be | ||
|
ff486e0d29 | ||
|
9f7a559a6d | ||
|
0e4972fe48 | ||
|
151ba02293 | ||
|
11d571470a | ||
|
776924e376 | ||
|
8ce86722d7 | ||
|
7c8028cda9 | ||
|
92ddffdbd3 | ||
|
1b08cc170a | ||
|
d6ea4adbfc | ||
|
8d46386bfe | ||
|
69a3b0df2d | ||
|
d5e6d1cfc7 | ||
|
68b2405c67 | ||
|
f7fba69bd7 | ||
|
ef6b3b625d | ||
|
73ca6f98a3 | ||
|
c7790408d7 | ||
|
9bd16ad3b4 | ||
|
fbb27088ee | ||
|
bfaaa2b681 | ||
|
133c25c81c | ||
|
b044e3257f | ||
|
d7f5c88961 | ||
|
55d0e859fd | ||
|
6983d6d2c3 | ||
|
5ee6d243fc | ||
|
812932bea2 | ||
|
41a1531de5 | ||
|
45090449c4 | ||
|
327bc16a05 | ||
|
1f24c1494a | ||
|
818e68c5b4 | ||
|
049df97504 | ||
|
344d1675e8 | ||
|
dee2247afa | ||
|
36300d2ba1 | ||
|
5d0aa93c50 | ||
|
d87359af5e | ||
|
59fcc96195 | ||
|
adb865df85 | ||
|
04f5a60d4b | ||
|
d574094d30 | ||
|
96b2c7459c | ||
|
8382136d42 | ||
|
e5ef51a4c0 | ||
|
81a925e0f9 | ||
|
cb8c0e1102 | ||
|
b85b51f2a5 | ||
|
c238d16af4 | ||
|
4590f0678f | ||
|
2686bf2292 | ||
|
eefec56b47 | ||
|
f4f1d18dc4 | ||
|
a6f9af8292 | ||
|
cf0404455c | ||
|
35eecddee3 | ||
|
2a5d3f227d | ||
|
17cba9fb51 | ||
|
a8743c3938 | ||
|
b1ad57ecd2 | ||
|
bc359f77f3 | ||
|
6a21bc119e | ||
|
7d69387cd6 | ||
|
76379a6ec1 | ||
|
ad1748a1aa | ||
|
cb99086d1b | ||
|
38ea9515af | ||
|
4cde758808 | ||
|
16328520f6 | ||
|
dce3b8beb3 | ||
|
408b100a06 | ||
|
18c104516e | ||
|
8dc88aeed6 | ||
|
572ebdbce7 | ||
|
bf20251048 | ||
|
f8fe8f0345 | ||
|
82af954c52 | ||
|
8f2535dec1 | ||
|
8dc2725925 | ||
|
e3810db34f | ||
|
c646814438 | ||
|
713994bd5e | ||
|
ede34470fd | ||
|
8b78ec011c | ||
|
e8d5517254 | ||
|
8a482abf75 | ||
|
6da3b694cc | ||
|
4ff3e939e7 | ||
|
3d1515890b | ||
|
e89733c4a4 | ||
|
ef770f0160 | ||
|
a16871fef7 | ||
|
ee6160b549 | ||
|
3433180ec8 | ||
|
36025c552c | ||
|
4ae72f131b | ||
|
d9557572ae | ||
|
020a178318 | ||
|
e1dbce1589 | ||
|
9bcdb21005 | ||
|
0d8b24f6b6 | ||
|
0785966d03 | ||
|
83f2b62c1f | ||
|
ca2cf74e87 | ||
|
0a41871562 | ||
|
b79c52d8c2 | ||
|
8b97ba2952 | ||
|
88c4c32af1 | ||
|
c43c661fe4 | ||
|
b7102e9031 | ||
|
28616e8e70 | ||
|
ad43a09cba | ||
|
3020f550ca | ||
|
014208c4d0 | ||
|
d9c9e138f2 | ||
|
e7fef6d00e | ||
|
1439eb32af | ||
|
b1632f8f40 | ||
|
bd311d3a8a |
13
.gitignore
vendored
13
.gitignore
vendored
@@ -63,7 +63,6 @@
|
||||
/daemon/libvirtd.pod
|
||||
/daemon/libvirtd.policy
|
||||
/daemon/libvirtd.service
|
||||
/daemon/libvirtd.socket
|
||||
/daemon/test_libvirtd.aug
|
||||
/docs/aclperms.htmlinc
|
||||
/docs/apibuild.py.stamp
|
||||
@@ -83,10 +82,11 @@
|
||||
/examples/domtop/domtop
|
||||
/examples/hellolibvirt/hellolibvirt
|
||||
/examples/openauth/openauth
|
||||
/examples/rename/rename
|
||||
/gnulib/lib/*
|
||||
/gnulib/m4/*
|
||||
/gnulib/tests/*
|
||||
/include/libvirt/libvirt.h
|
||||
/include/libvirt/libvirt-common.h
|
||||
/libtool
|
||||
/libvirt-*.tar.gz
|
||||
/libvirt-[0-9]*
|
||||
@@ -124,6 +124,7 @@
|
||||
/src/libvirt_access_lxc.xml
|
||||
/src/libvirt_access_qemu.syms
|
||||
/src/libvirt_access_qemu.xml
|
||||
/src/libvirt_admin.syms
|
||||
/src/libvirt_*.stp
|
||||
/src/libvirt_*helper
|
||||
/src/libvirt_*probes.h
|
||||
@@ -135,6 +136,8 @@
|
||||
/src/locking/qemu-lockd.conf
|
||||
/src/locking/qemu-sanlock.conf
|
||||
/src/locking/test_libvirt_sanlock.aug
|
||||
/src/logging/log_daemon_dispatch_stubs.h
|
||||
/src/logging/log_protocol.[ch]
|
||||
/src/lxc/lxc_controller_dispatch.h
|
||||
/src/lxc/lxc_monitor_dispatch.h
|
||||
/src/lxc/lxc_monitor_protocol.c
|
||||
@@ -148,12 +151,17 @@
|
||||
/src/rpc/virnetprotocol.[ch]
|
||||
/src/test_libvirt*.aug
|
||||
/src/test_virtlockd.aug
|
||||
/src/test_virtlogd.aug
|
||||
/src/util/virkeymaps.h
|
||||
/src/virt-aa-helper
|
||||
/src/virtlockd
|
||||
/src/virtlockd.8
|
||||
/src/virtlockd.8.in
|
||||
/src/virtlockd.init
|
||||
/src/virtlogd
|
||||
/src/virtlogd.8
|
||||
/src/virtlogd.8.in
|
||||
/src/virtlogd.init
|
||||
/tests/*.log
|
||||
/tests/*.pid
|
||||
/tests/*.trs
|
||||
@@ -174,6 +182,7 @@
|
||||
/tools/virt-login-shell
|
||||
/tools/virsh
|
||||
/tools/virsh-*-edit.c
|
||||
/tools/virt-admin
|
||||
/tools/virt-*-validate
|
||||
/tools/virt-sanlock-cleanup
|
||||
/tools/wireshark/src/plugin.c
|
||||
|
2
.gnulib
2
.gnulib
Submodule .gnulib updated: f39477dba7...6cc32c63e8
@@ -8,13 +8,13 @@ Daniel Veillard <veillard@redhat.com> or <daniel@veillard.com>
|
||||
The primary maintainers and people with commit access rights:
|
||||
|
||||
Alex Jia <ajia@redhat.com>
|
||||
Andrea Bolognani <abologna@redhat.com>
|
||||
Cédric Bosdonnat <cbosdonnat@suse.com>
|
||||
Christophe Fergeau <cfergeau@redhat.com>
|
||||
Claudio Bley <claudio.bley@gmail.com>
|
||||
Cole Robinson <crobinso@redhat.com>
|
||||
Daniel Berrange <berrange@redhat.com>
|
||||
Daniel Veillard <veillard@redhat.com>
|
||||
Dmitry Guryanov <dguryanov@parallels.com>
|
||||
Doug Goldstein <cardoe@gentoo.org>
|
||||
Eric Blake <eblake@redhat.com>
|
||||
Erik Skultety <eskultet@redhat.com>
|
||||
@@ -28,6 +28,7 @@ Laine Stump <laine@redhat.com>
|
||||
Mark McLoughlin <markmc@redhat.com>
|
||||
Martin Kletzander <mkletzan@redhat.com>
|
||||
Matthias Bolte <matthias.bolte@googlemail.com>
|
||||
Maxim Nestratov <mnestratov@virtuozzo.com>
|
||||
Michal Prívozník <mprivozn@redhat.com>
|
||||
Pavel Hrdina <phrdina@redhat.com>
|
||||
Peter Krempa <pkrempa@redhat.com>
|
||||
@@ -44,6 +45,7 @@ Chris Lalancette <clalance@redhat.com>
|
||||
Dan Smith <danms@us.ibm.com>
|
||||
Dave Allan <dallan@redhat.com>
|
||||
Dave Leskovec <dlesko@linux.vnet.ibm.com>
|
||||
Dmitry Guryanov <dguryanov@parallels.com>
|
||||
Guannan Ren <gren@redhat.com>
|
||||
Jim Meyering <meyering@redhat.com>
|
||||
John Levon <john.levon@sun.com>
|
||||
|
@@ -55,7 +55,7 @@ modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
@@ -111,7 +111,7 @@ modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
@@ -158,7 +158,7 @@ Library.
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
@@ -216,7 +216,7 @@ instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
@@ -267,7 +267,7 @@ Library will still fall under Section 6.)
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
@@ -329,7 +329,7 @@ restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
@@ -370,7 +370,7 @@ subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
@@ -422,7 +422,7 @@ conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
@@ -456,7 +456,7 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
|
13
Makefile.am
13
Makefile.am
@@ -20,18 +20,10 @@ LCOV = lcov
|
||||
GENHTML = genhtml
|
||||
|
||||
SUBDIRS = . gnulib/lib include src daemon tools docs gnulib/tests \
|
||||
tests po examples/object-events examples/hellolibvirt \
|
||||
examples/dominfo examples/domsuspend examples/apparmor \
|
||||
examples/xml/nwfilter examples/openauth examples/systemtap \
|
||||
tools/wireshark examples/dommigrate \
|
||||
examples/lxcconvert examples/domtop
|
||||
tests po examples
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
XML_EXAMPLES = \
|
||||
$(patsubst $(srcdir)/%,%,$(wildcard $(addprefix $(srcdir)/examples/xml/, \
|
||||
test/*.xml storage/*.xml)))
|
||||
|
||||
EXTRA_DIST = \
|
||||
config-post.h \
|
||||
ChangeLog-old \
|
||||
@@ -46,8 +38,7 @@ EXTRA_DIST = \
|
||||
autogen.sh \
|
||||
cfg.mk \
|
||||
run.in \
|
||||
AUTHORS.in \
|
||||
$(XML_EXAMPLES)
|
||||
AUTHORS.in
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libvirt.pc libvirt-qemu.pc libvirt-lxc.pc
|
||||
|
@@ -4,7 +4,7 @@ scriptversion=2014-12-08.12; # UTC
|
||||
|
||||
# Bootstrap this package from checked-out sources.
|
||||
|
||||
# Copyright (C) 2003-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2016 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
@@ -196,10 +196,7 @@ local_gl_dir=gnulib/local
|
||||
# Build prerequisites
|
||||
# Note that some of these programs are only required for 'make dist' to
|
||||
# succeed from a fresh git checkout; not all of these programs are
|
||||
# required to run 'make dist' on a tarball. As a special case, we want
|
||||
# to require the equivalent of the Fedora python-devel package, but
|
||||
# RHEL 5 lacks the witness python-config package; we hack around that
|
||||
# old environment below.
|
||||
# required to run 'make dist' on a tarball.
|
||||
buildreq="\
|
||||
autoconf 2.59
|
||||
automake 1.9.6
|
||||
@@ -212,19 +209,11 @@ patch -
|
||||
perl 5.5
|
||||
perl::XML::XPath -
|
||||
pkg-config -
|
||||
python-config -
|
||||
rpcgen -
|
||||
tar -
|
||||
xmllint -
|
||||
xsltproc -
|
||||
"
|
||||
# Use rpm as a fallback to bypass the bootstrap probe for python-config,
|
||||
# for the sake of RHEL 5; without requiring it on newer systems that
|
||||
# have python-config to begin with.
|
||||
if `(${PYTHON_CONFIG-python-config} --version;
|
||||
test $? -lt 126 || rpm -q python-devel) >/dev/null 2>&1`; then
|
||||
PYTHON_CONFIG=true
|
||||
fi
|
||||
|
||||
# Automake requires that ChangeLog and AUTHORS exist.
|
||||
touch AUTHORS ChangeLog || exit 1
|
||||
|
83
cfg.mk
83
cfg.mk
@@ -90,7 +90,7 @@ endif
|
||||
|
||||
# Files that should never cause syntax check failures.
|
||||
VC_LIST_ALWAYS_EXCLUDE_REGEX = \
|
||||
(^(HACKING|docs/(news\.html\.in|.*\.patch))|\.(po|fig|gif|ico|png))$$
|
||||
(^(HACKING|docs/(news(-[0-9]*)?\.html\.in|.*\.patch))|\.(po|fig|gif|ico|png))$$
|
||||
|
||||
# Functions like free() that are no-ops on NULL arguments.
|
||||
useless_free_options = \
|
||||
@@ -572,6 +572,7 @@ sc_prohibit_int_index:
|
||||
|
||||
sc_prohibit_int_ijk:
|
||||
@prohibit='\<(int|unsigned) ([^(=]* )*(i|j|k)\>(\s|,|;)' \
|
||||
exclude='exempt from syntax-check' \
|
||||
halt='use size_t, not int/unsigned int for loop vars i, j, k' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
@@ -775,7 +776,7 @@ sc_prohibit_gettext_markup:
|
||||
# lower-level code must not include higher-level headers.
|
||||
cross_dirs=$(patsubst $(srcdir)/src/%.,%,$(wildcard $(srcdir)/src/*/.))
|
||||
cross_dirs_re=($(subst / ,/|,$(cross_dirs)))
|
||||
mid_dirs=access|conf|cpu|locking|network|node_device|rpc|security|storage
|
||||
mid_dirs=access|conf|cpu|locking|logging|network|node_device|rpc|security|storage
|
||||
sc_prohibit_cross_inclusion:
|
||||
@for dir in $(cross_dirs); do \
|
||||
case $$dir in \
|
||||
@@ -919,6 +920,15 @@ sc_require_space_before_label:
|
||||
halt="Top-level labels should be indented by one space" \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Allow for up to three spaces before the label: this is to avoid running
|
||||
# into situations where neither this rule nor require_space_before_label
|
||||
# would apply, eg. a line matching ^[a-zA-Z0-9]+ :$
|
||||
sc_prohibit_space_in_label:
|
||||
@prohibit='^ {0,3}[_a-zA-Z0-9]+ +:$$' \
|
||||
in_vc_files='\.[ch]$$' \
|
||||
halt="There should be no space between label name and colon" \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Doesn't catch all cases of mismatched braces across if-else, but it helps
|
||||
sc_require_if_else_matching_braces:
|
||||
@prohibit='( else( if .*\))? {|} else( if .*\))?$$)' \
|
||||
@@ -1011,6 +1021,31 @@ sc_prohibit_pthread_create:
|
||||
halt="avoid using 'pthread_create', use 'virThreadCreate' instead" \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
sc_prohibit_not_streq:
|
||||
@prohibit='! *STREQ *\(.*\)' \
|
||||
halt='Use STRNEQ instead of !STREQ' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
sc_prohibit_not_strneq:
|
||||
@prohibit='! *STRNEQ *\(.*\)' \
|
||||
halt='Use STREQ instead of !STRNEQ' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
sc_prohibit_verbose_strcat:
|
||||
@prohibit='strncat\([^,]*,\s+([^,]*),\s+strlen\(\1\)\)' \
|
||||
in_vc_files='\.[ch]$$' \
|
||||
halt='Use strcat(a, b) instead of strncat(a, b, strlen(b))' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Ensure that each .c file containing a "main" function also
|
||||
# calls virGettextInitialize
|
||||
sc_gettext_init:
|
||||
@require='virGettextInitialize *\(' \
|
||||
in_vc_files='\.c$$' \
|
||||
containing='\<main *(' \
|
||||
halt='the above files do not call virGettextInitialize' \
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# We don't use this feature of maint.mk.
|
||||
prev_version_file = /dev/null
|
||||
|
||||
@@ -1058,7 +1093,7 @@ _autogen:
|
||||
|
||||
# regenerate HACKING as part of the syntax-check
|
||||
ifneq ($(_gl-Makefile),)
|
||||
syntax-check: $(top_srcdir)/HACKING bracket-spacing-check
|
||||
syntax-check: $(top_srcdir)/HACKING bracket-spacing-check test-wrap-argv
|
||||
endif
|
||||
|
||||
bracket-spacing-check:
|
||||
@@ -1067,6 +1102,20 @@ bracket-spacing-check:
|
||||
{ echo '$(ME): incorrect formatting, see HACKING for rules' 1>&2; \
|
||||
exit 1; }
|
||||
|
||||
test-wrap-argv:
|
||||
$(AM_V_GEN)files=`$(VC_LIST) | grep -E '\.(ldargs|args)'`; \
|
||||
for file in $$files ; \
|
||||
do \
|
||||
$(PERL) $(top_srcdir)/tests/test-wrap-argv.pl $$file > $${file}-t ; \
|
||||
diff $$file $${file}-t; \
|
||||
res=$$? ; \
|
||||
rm $${file}-t ; \
|
||||
test $$res == 0 || { \
|
||||
echo "$(ME): Incorrect line wrapping in $$file" 1>&2; \
|
||||
echo "$(ME): Use test-wrap-argv.pl to wrap test data files" 1>&2; \
|
||||
exit 1; } \
|
||||
done
|
||||
|
||||
# sc_po_check can fail if generated files are not built first
|
||||
sc_po_check: \
|
||||
$(srcdir)/daemon/remote_dispatch.h \
|
||||
@@ -1086,20 +1135,22 @@ $(srcdir)/src/admin/admin_client.h: $(srcdir)/src/admin/admin_protocol.x
|
||||
$(MAKE) -C src admin/admin_client.h
|
||||
|
||||
# List all syntax-check exemptions:
|
||||
exclude_file_name_regexp--sc_avoid_strcase = ^tools/virsh\.h$$
|
||||
exclude_file_name_regexp--sc_avoid_strcase = ^tools/vsh\.h$$
|
||||
|
||||
_src1=libvirt-stream|fdstream|qemu/qemu_monitor|util/(vircommand|virfile)|xen/xend_internal|rpc/virnetsocket|lxc/lxc_controller|locking/lock_daemon
|
||||
_src1=libvirt-stream|fdstream|qemu/qemu_monitor|util/(vircommand|virfile)|xen/xend_internal|rpc/virnetsocket|lxc/lxc_controller|locking/lock_daemon|logging/log_daemon
|
||||
_test1=shunloadtest|virnettlscontexttest|virnettlssessiontest|vircgroupmock
|
||||
exclude_file_name_regexp--sc_avoid_write = \
|
||||
^(src/($(_src1))|daemon/libvirtd|tools/virsh-console|tests/($(_test1)))\.c$$
|
||||
|
||||
exclude_file_name_regexp--sc_bindtextdomain = ^(tests|examples)/
|
||||
exclude_file_name_regexp--sc_bindtextdomain = .*
|
||||
|
||||
exclude_file_name_regexp--sc_gettext_init = ^(tests|examples)/
|
||||
|
||||
exclude_file_name_regexp--sc_copyright_usage = \
|
||||
^COPYING(|\.LESSER)$$
|
||||
|
||||
exclude_file_name_regexp--sc_flags_usage = \
|
||||
^(docs/|src/util/virnetdevtap\.c$$|tests/vir(cgroup|pci|usb)mock\.c$$)
|
||||
^(docs/|src/util/virnetdevtap\.c$$|tests/(vir(cgroup|pci|usb)|nss|qemuxml2argv)mock\.c$$)
|
||||
|
||||
exclude_file_name_regexp--sc_libvirt_unmarked_diagnostics = \
|
||||
^(src/rpc/gendispatch\.pl$$|tests/)
|
||||
@@ -1118,12 +1169,12 @@ exclude_file_name_regexp--sc_prohibit_strdup = \
|
||||
^(docs/|examples/|src/util/virstring\.c|tests/vir(netserverclient|cgroup)mock.c$$)
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_close = \
|
||||
(\.p[yl]$$|\.spec\.in$$|^docs/|^(src/util/virfile\.c|src/libvirt-stream\.c|tests/vir(cgroup|pci)mock\.c)$$)
|
||||
(\.p[yl]$$|\.spec\.in$$|^docs/|^(src/util/virfile\.c|src/libvirt-stream\.c|tests/vir.+mock\.c)$$)
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = \
|
||||
(^tests/(qemuhelp|nodeinfo|virpcitest)data/|\.diff$$)
|
||||
(^tests/(qemuhelp|nodeinfo|virpcitest)data/|\.diff|tests/confdata/no-newline\.conf$$)
|
||||
|
||||
_src2=src/(util/vircommand|libvirt|lxc/lxc_controller|locking/lock_daemon)
|
||||
_src2=src/(util/vircommand|libvirt|lxc/lxc_controller|locking/lock_daemon|logging/log_daemon)
|
||||
exclude_file_name_regexp--sc_prohibit_fork_wrappers = \
|
||||
(^($(_src2)|tests/testutils|daemon/libvirtd)\.c$$)
|
||||
|
||||
@@ -1153,6 +1204,8 @@ exclude_file_name_regexp--sc_prohibit_strncpy = ^src/util/virstring\.c$$
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_strtol = ^examples/dom.*/.*\.c$$
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_gethostby = ^docs/nss.html.in$$
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_xmlGetProp = ^src/util/virxml\.c$$
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_xmlURI = ^src/util/viruri\.c$$
|
||||
@@ -1182,10 +1235,10 @@ exclude_file_name_regexp--sc_prohibit_include_public_headers_quote = \
|
||||
^(src/internal\.h$$|tools/wireshark/src/packet-libvirt.h$$)
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_include_public_headers_brackets = \
|
||||
^(tools/|examples/|include/libvirt/(virterror|libvirt-(qemu|lxc))\.h$$)
|
||||
^(tools/|examples/|include/libvirt/(virterror|libvirt(-(admin|qemu|lxc))?)\.h$$)
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_int_ijk = \
|
||||
^(src/remote_protocol-structs|src/remote/remote_protocol.x|cfg.mk|include/)$
|
||||
^(src/remote_protocol-structs|src/remote/remote_protocol\.x|cfg\.mk|include/libvirt/libvirt.+)$$
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_getenv = \
|
||||
^tests/.*\.[ch]$$
|
||||
@@ -1213,3 +1266,9 @@ exclude_file_name_regexp--sc_prohibit_sysconf_pagesize = \
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_pthread_create = \
|
||||
^(cfg\.mk|src/util/virthread\.c|tests/.*)$$
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_not_streq = \
|
||||
^tests/.*\.[ch]$$
|
||||
|
||||
exclude_file_name_regexp--sc_prohibit_not_strneq = \
|
||||
^tests/.*\.[ch]$$
|
||||
|
@@ -43,3 +43,27 @@
|
||||
# undef WITH_YAJL
|
||||
# undef WITH_YAJL2
|
||||
#endif
|
||||
|
||||
/*
|
||||
* With the NSS module it's the same story as virt-login-shell. See the
|
||||
* explanation above.
|
||||
*/
|
||||
#ifdef LIBVIRT_NSS
|
||||
# undef HAVE_LIBDEVMAPPER_H
|
||||
# undef HAVE_LIBNL
|
||||
# undef HAVE_LIBNL3
|
||||
# undef HAVE_LIBSASL2
|
||||
# undef WITH_CAPNG
|
||||
# undef WITH_CURL
|
||||
# undef WITH_DTRACE_PROBES
|
||||
# undef WITH_GNUTLS
|
||||
# undef WITH_GNUTLS_GCRYPT
|
||||
# undef WITH_MACVTAP
|
||||
# undef WITH_NUMACTL
|
||||
# undef WITH_SASL
|
||||
# undef WITH_SSH2
|
||||
# undef WITH_VIRTUALPORT
|
||||
# undef WITH_SECDRIVER_SELINUX
|
||||
# undef WITH_SECDRIVER_APPARMOR
|
||||
# undef WITH_CAPNG
|
||||
#endif /* LIBVIRT_NSS */
|
||||
|
134
configure.ac
134
configure.ac
@@ -16,7 +16,7 @@ dnl You should have received a copy of the GNU Lesser General Public
|
||||
dnl License along with this library. If not, see
|
||||
dnl <http://www.gnu.org/licenses/>.
|
||||
|
||||
AC_INIT([libvirt], [1.2.18], [libvir-list@redhat.com], [], [http://libvirt.org])
|
||||
AC_INIT([libvirt], [1.3.3.3], [libvir-list@redhat.com], [], [http://libvirt.org])
|
||||
AC_CONFIG_SRCDIR([src/libvirt.c])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
@@ -175,12 +175,13 @@ dnl are also linux specific. The "network" and storage_fs drivers are known
|
||||
dnl to not work on MacOS X presently, so we also make a note if compiling
|
||||
dnl for that
|
||||
|
||||
with_linux=no with_osx=no with_freebsd=no
|
||||
with_linux=no with_osx=no with_freebsd=no with_win=no with_cygwin=no
|
||||
case $host in
|
||||
*-*-linux*) with_linux=yes ;;
|
||||
*-*-darwin*) with_osx=yes ;;
|
||||
*-*-freebsd*) with_freebsd=yes ;;
|
||||
*-*-mingw* | *-*-msvc* ) with_win=yes ;;
|
||||
*-*-cygwin*) with_cygwin=yes ;;
|
||||
esac
|
||||
|
||||
if test $with_linux = no; then
|
||||
@@ -192,9 +193,12 @@ if test $with_linux = no; then
|
||||
fi
|
||||
|
||||
if test $with_freebsd = yes; then
|
||||
want_ifconfig=yes
|
||||
want_ifconfig=yes
|
||||
with_firewalld=no
|
||||
fi
|
||||
|
||||
with_firewalld=no
|
||||
if test $with_cygwin = yes; then
|
||||
with_vbox=no
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([WITH_LINUX], [test "$with_linux" = "yes"])
|
||||
@@ -253,6 +257,7 @@ LIBVIRT_CHECK_SSH2
|
||||
LIBVIRT_CHECK_SYSTEMD_DAEMON
|
||||
LIBVIRT_CHECK_UDEV
|
||||
LIBVIRT_CHECK_WIRESHARK
|
||||
LIBVIRT_CHECK_NSS
|
||||
LIBVIRT_CHECK_YAJL
|
||||
|
||||
AC_MSG_CHECKING([for CPUID instruction])
|
||||
@@ -279,7 +284,7 @@ AC_CHECK_SIZEOF([long])
|
||||
dnl Availability of various common functions (non-fatal if missing),
|
||||
dnl and various less common threadsafe functions
|
||||
AC_CHECK_FUNCS_ONCE([cfmakeraw fallocate geteuid getgid getgrnam_r \
|
||||
getmntent_r getpwuid_r getuid kill mmap newlocale posix_fallocate \
|
||||
getmntent_r getpwuid_r getrlimit getuid kill mmap newlocale posix_fallocate \
|
||||
posix_memalign prlimit regexec sched_getaffinity setgroups setns \
|
||||
setrlimit symlink sysctlbyname getifaddrs sched_setscheduler])
|
||||
|
||||
@@ -319,7 +324,7 @@ fi
|
||||
LIBS=$old_libs
|
||||
|
||||
dnl Availability of various common headers (non-fatal if missing).
|
||||
AC_CHECK_HEADERS([pwd.h paths.h regex.h sys/un.h \
|
||||
AC_CHECK_HEADERS([pwd.h regex.h sys/un.h \
|
||||
sys/poll.h syslog.h mntent.h net/ethernet.h linux/magic.h \
|
||||
sys/un.h sys/syscall.h sys/sysctl.h netinet/tcp.h ifaddrs.h \
|
||||
libtasn1.h sys/ucred.h sys/mount.h])
|
||||
@@ -389,6 +394,12 @@ AC_CHECK_TYPE([struct ifreq],
|
||||
#include <net/if.h>
|
||||
]])
|
||||
|
||||
AC_CHECK_TYPE([struct sockpeercred],
|
||||
[AC_DEFINE([HAVE_STRUCT_SOCKPEERCRED], [1],
|
||||
[Defined if struct sockpeercred is available])],
|
||||
[], [[#include <sys/socket.h>
|
||||
]])
|
||||
|
||||
AC_CHECK_DECLS([ETH_FLAG_TXVLAN, ETH_FLAG_NTUPLE, ETH_FLAG_RXHASH, ETH_FLAG_LRO,
|
||||
ETHTOOL_GGSO, ETHTOOL_GGRO, ETHTOOL_GFLAGS, ETHTOOL_GFEATURES],
|
||||
[], [], [[#include <linux/ethtool.h>
|
||||
@@ -883,7 +894,6 @@ if test "$with_libxl" != "no" ; then
|
||||
PKG_CHECK_MODULES([LIBXL], [xenlight], [
|
||||
LIBXL_FIRMWARE_DIR=`$PKG_CONFIG --variable xenfirmwaredir xenlight`
|
||||
LIBXL_EXECBIN_DIR=`$PKG_CONFIG --variable libexec_bin xenlight`
|
||||
LIBXL_LIBS="$LIBXL_LIBS -lxenctrl"
|
||||
with_libxl=yes
|
||||
], [LIBXL_FOUND=no])
|
||||
if test "$LIBXL_FOUND" = "no"; then
|
||||
@@ -896,7 +906,7 @@ if test "$with_libxl" != "no" ; then
|
||||
LIBS="$LIBS $LIBXL_LIBS"
|
||||
AC_CHECK_LIB([xenlight], [libxl_ctx_alloc], [
|
||||
with_libxl=yes
|
||||
LIBXL_LIBS="$LIBXL_LIBS -lxenlight -lxenctrl"
|
||||
LIBXL_LIBS="$LIBXL_LIBS -lxenlight"
|
||||
],[
|
||||
if test "$with_libxl" = "yes"; then
|
||||
fail=1
|
||||
@@ -906,6 +916,10 @@ if test "$with_libxl" != "no" ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Until there is a need to use enhancements of libxl APIs such as
|
||||
# libxl_domain_create_restore and libxl_set_vcpuaffinity, stick with
|
||||
# the APIs as defined in libxl API version 4.2.0.
|
||||
LIBXL_CFLAGS="$LIBXL_CFLAGS -DLIBXL_API_VERSION=0x040200"
|
||||
LIBS="$old_LIBS"
|
||||
CFLAGS="$old_CFLAGS"
|
||||
|
||||
@@ -924,6 +938,14 @@ if test "$with_libxl" = "yes"; then
|
||||
if test "x$LIBXL_EXECBIN_DIR" != "x"; then
|
||||
AC_DEFINE_UNQUOTED([LIBXL_EXECBIN_DIR], ["$LIBXL_EXECBIN_DIR"], [directory containing Xen libexec binaries])
|
||||
fi
|
||||
dnl Check if the xtl_* infrastructure is in libxentoollog
|
||||
dnl (since Xen 4.7) if not then assume it is in libxenctrl
|
||||
dnl (as it was for 4.6 and earler)
|
||||
AC_CHECK_LIB([xentoollog], [xtl_createlogger_stdiostream], [
|
||||
LIBXL_LIBS="$LIBXL_LIBS -lxentoollog"
|
||||
],[
|
||||
LIBXL_LIBS="$LIBXL_LIBS -lxenctrl"
|
||||
])
|
||||
fi
|
||||
AM_CONDITIONAL([WITH_LIBXL], [test "$with_libxl" = "yes"])
|
||||
|
||||
@@ -1074,6 +1096,14 @@ if test "$with_lxc" = "yes" ; then
|
||||
fi
|
||||
AM_CONDITIONAL([WITH_LXC], [test "$with_lxc" = "yes"])
|
||||
|
||||
dnl
|
||||
dnl Check for virt-login-shell
|
||||
dnl
|
||||
|
||||
LIBVIRT_CHECK_LOGIN_SHELL
|
||||
|
||||
AM_CONDITIONAL([WITH_SETUID_RPC_CLIENT], [test "$with_lxc$with_login_shell" != "nono"])
|
||||
|
||||
dnl
|
||||
dnl Checks for the Parallels driver
|
||||
dnl
|
||||
@@ -1086,56 +1116,6 @@ dnl
|
||||
|
||||
LIBVIRT_DRIVER_CHECK_BHYVE
|
||||
|
||||
dnl
|
||||
dnl check for shell that understands <> redirection without truncation,
|
||||
dnl needed by src/qemu/qemu_monitor_{text,json}.c.
|
||||
dnl
|
||||
if test "$with_qemu" = yes; then
|
||||
lv_wrapper_shell=
|
||||
AC_CACHE_CHECK([for shell that supports <> redirection],
|
||||
[lv_cv_wrapper_shell],
|
||||
[
|
||||
# If cross-compiling, guess that /bin/sh is good enough except for
|
||||
# Linux, where it might be dash 0.5.5 which is known broken; and on
|
||||
# Linux, we have a good chance that /bin/bash will exist.
|
||||
# If we guess wrong, a user can override the cache variable.
|
||||
# Going through /bin/bash is a slight slowdown if /bin/sh works.
|
||||
if test "$cross_compiling" = yes; then
|
||||
case $host_os in
|
||||
linux*) lv_cv_wrapper_shell=/bin/bash ;;
|
||||
*) lv_cv_wrapper_shell=/bin/sh ;;
|
||||
esac
|
||||
else
|
||||
for lv_cv_wrapper_shell in /bin/sh bash ksh zsh none; do
|
||||
test $lv_cv_wrapper_shell = none &&
|
||||
AC_MSG_ERROR([could not find decent shell])
|
||||
echo a > conftest.a
|
||||
($lv_cv_wrapper_shell -c ': 1<>conftest.a') 2>/dev/null &&
|
||||
case `cat conftest.a`.$lv_cv_wrapper_shell in
|
||||
a./*) break;; dnl /bin/sh is good enough
|
||||
a.*) dnl bash, ksh, and zsh all understand 'command', use that
|
||||
dnl to determine the absolute path of the shell
|
||||
lv_cv_wrapper_shell=`$lv_cv_wrapper_shell -c \
|
||||
"command -v $lv_cv_wrapper_shell"`
|
||||
case $lv_cv_wrapper_shell in
|
||||
/*) break;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
done
|
||||
rm -f conftest.a
|
||||
fi
|
||||
])
|
||||
if test "x$lv_cv_wrapper_shell" != x/bin/sh; then
|
||||
lv_wrapper_shell=$lv_cv_wrapper_shell
|
||||
fi
|
||||
if test "x$lv_wrapper_shell" != x; then
|
||||
AC_DEFINE_UNQUOTED([VIR_WRAPPER_SHELL], ["$lv_wrapper_shell"],
|
||||
[Define to the absolute path of a shell that does not truncate on
|
||||
<> redirection, if /bin/sh does not fit the bill])
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
dnl
|
||||
dnl check for kernel headers required by src/bridge.c
|
||||
@@ -1670,10 +1650,6 @@ if test "$with_pm_utils" = "yes"; then
|
||||
fi
|
||||
AM_CONDITIONAL([WITH_PM_UTILS], [test "$with_pm_utils" = "yes"])
|
||||
|
||||
dnl virsh libraries
|
||||
VIRSH_LIBS="$VIRSH_LIBS $READLINE_LIBS"
|
||||
AC_SUBST([VIRSH_LIBS])
|
||||
|
||||
dnl check if the network driver should be compiled
|
||||
|
||||
AC_ARG_WITH([network],
|
||||
@@ -1990,14 +1966,6 @@ if test "$with_storage_gluster" = "yes"; then
|
||||
fi
|
||||
AM_CONDITIONAL([WITH_STORAGE_GLUSTER], [test "$with_storage_gluster" = "yes"])
|
||||
|
||||
if test "$with_storage_zfs" = "check"; then
|
||||
with_storage_zfs=$with_freebsd
|
||||
fi
|
||||
|
||||
if test "$with_storage_zfs" = "yes" && test "$with_freebsd" = "no"; then
|
||||
AC_MSG_ERROR([The ZFS storage driver can be enabled on FreeBSD only.])
|
||||
fi
|
||||
|
||||
if test "$with_storage_zfs" = "yes" ||
|
||||
test "$with_storage_zfs" = "check"; then
|
||||
AC_PATH_PROG([ZFS], [zfs], [], [$PATH:/sbin:/usr/sbin])
|
||||
@@ -2346,7 +2314,7 @@ WIN32_EXTRA_CFLAGS=
|
||||
dnl libvirt.syms is generated in builddir, but libvirt_qemu.syms is in git;
|
||||
dnl hence the asymmetric naming of these two symbol files.
|
||||
LIBVIRT_SYMBOL_FILE=libvirt.syms
|
||||
LIBVIRT_ADMIN_SYMBOL_FILE='$(srcdir)/libvirt_admin.syms'
|
||||
LIBVIRT_ADMIN_SYMBOL_FILE=libvirt_admin.syms
|
||||
LIBVIRT_LXC_SYMBOL_FILE='$(srcdir)/libvirt_lxc.syms'
|
||||
LIBVIRT_QEMU_SYMBOL_FILE='$(srcdir)/libvirt_qemu.syms'
|
||||
MSCOM_LIBS=
|
||||
@@ -2523,6 +2491,9 @@ AC_ARG_WITH([qemu-group],
|
||||
AC_DEFINE_UNQUOTED([QEMU_USER], ["$QEMU_USER"], [QEMU user account])
|
||||
AC_DEFINE_UNQUOTED([QEMU_GROUP], ["$QEMU_GROUP"], [QEMU group account])
|
||||
|
||||
AC_PATH_PROG([QEMU_BRIDGE_HELPER], [qemu-bridge-helper], [/usr/libexec/qemu-bridge-helper],
|
||||
[/usr/libexec:/usr/lib/qemu:/usr/lib])
|
||||
AC_DEFINE_UNQUOTED([QEMU_BRIDGE_HELPER], ["$QEMU_BRIDGE_HELPER"], [QEMU bridge helper])
|
||||
|
||||
AC_ARG_WITH([macvtap],
|
||||
[AS_HELP_STRING([--with-macvtap],
|
||||
@@ -2778,7 +2749,6 @@ AC_CONFIG_FILES([run],
|
||||
[chmod +x,-w run])
|
||||
AC_CONFIG_FILES([\
|
||||
Makefile src/Makefile include/Makefile docs/Makefile \
|
||||
docs/schemas/Makefile \
|
||||
gnulib/lib/Makefile \
|
||||
gnulib/tests/Makefile \
|
||||
libvirt.pc \
|
||||
@@ -2790,23 +2760,11 @@ AC_CONFIG_FILES([\
|
||||
src/libvirt-lxc.pc \
|
||||
libvirt.spec mingw-libvirt.spec \
|
||||
po/Makefile.in \
|
||||
include/libvirt/Makefile include/libvirt/libvirt.h \
|
||||
include/libvirt/libvirt-common.h \
|
||||
daemon/Makefile \
|
||||
tools/Makefile \
|
||||
examples/Makefile \
|
||||
tests/Makefile \
|
||||
examples/apparmor/Makefile \
|
||||
examples/object-events/Makefile \
|
||||
examples/domsuspend/Makefile \
|
||||
examples/dominfo/Makefile \
|
||||
examples/dommigrate/Makefile \
|
||||
examples/domtop/Makefile \
|
||||
examples/openauth/Makefile \
|
||||
examples/hellolibvirt/Makefile \
|
||||
examples/systemtap/Makefile \
|
||||
examples/xml/nwfilter/Makefile \
|
||||
examples/lxcconvert/Makefile \
|
||||
tools/wireshark/Makefile \
|
||||
tools/wireshark/src/Makefile])
|
||||
tools/Makefile])
|
||||
AC_OUTPUT
|
||||
|
||||
AC_MSG_NOTICE([])
|
||||
@@ -2890,6 +2848,7 @@ LIBVIRT_RESULT_SSH2
|
||||
LIBVIRT_RESULT_SYSTEMD_DAEMON
|
||||
LIBVIRT_RESULT_UDEV
|
||||
LIBVIRT_RESULT_WIRESHARK
|
||||
LIBVIRT_RESULT_NSS
|
||||
LIBVIRT_RESULT_YAJL
|
||||
AC_MSG_NOTICE([ libxml: $LIBXML_CFLAGS $LIBXML_LIBS])
|
||||
AC_MSG_NOTICE([ dlopen: $DLOPEN_LIBS])
|
||||
@@ -2973,6 +2932,7 @@ AC_MSG_NOTICE([ Init script: $with_init_script])
|
||||
AC_MSG_NOTICE([Char device locks: $with_chrdev_lock_files])
|
||||
AC_MSG_NOTICE([ Default Editor: $DEFAULT_EDITOR])
|
||||
AC_MSG_NOTICE([ Loader/NVRAM: $with_loader_nvram])
|
||||
AC_MSG_NOTICE([ virt-login-shell: $with_login_shell])
|
||||
AC_MSG_NOTICE([])
|
||||
AC_MSG_NOTICE([Developer Tools])
|
||||
AC_MSG_NOTICE([])
|
||||
|
@@ -59,7 +59,6 @@ EXTRA_DIST = \
|
||||
libvirt.rules \
|
||||
libvirtd.sasl \
|
||||
libvirtd.service.in \
|
||||
libvirtd.socket.in \
|
||||
libvirtd.sysconf \
|
||||
libvirtd.sysctl \
|
||||
libvirtd.aug \
|
||||
@@ -128,7 +127,7 @@ libvirtd_conf_la_LIBADD = $(LIBXML_LIBS)
|
||||
|
||||
noinst_LTLIBRARIES += libvirtd_admin.la
|
||||
libvirtd_admin_la_SOURCES = \
|
||||
admin_server.c admin_server.h
|
||||
admin.c admin.h admin_server.c admin_server.h
|
||||
|
||||
libvirtd_admin_la_CFLAGS = \
|
||||
$(AM_CFLAGS) \
|
||||
@@ -136,14 +135,14 @@ libvirtd_admin_la_CFLAGS = \
|
||||
$(PIE_CFLAGS) \
|
||||
$(WARN_CFLAGS) \
|
||||
$(LIBXML_CFLAGS) \
|
||||
$(COVERAGE_CFLAGS)
|
||||
|
||||
$(COVERAGE_CFLAGS) \
|
||||
$(NULL)
|
||||
libvirtd_admin_la_LDFLAGS = \
|
||||
$(PIE_LDFLAGS) \
|
||||
$(RELRO_LDFLAGS) \
|
||||
$(COVERAGE_LDFLAGS) \
|
||||
$(NO_INDIRECT_LDFLAGS)
|
||||
|
||||
$(NO_INDIRECT_LDFLAGS) \
|
||||
$(NULL)
|
||||
libvirtd_admin_la_LIBADD = \
|
||||
../src/libvirt-admin.la
|
||||
|
||||
@@ -319,7 +318,8 @@ endif ! WITH_POLKIT
|
||||
|
||||
remote.c: $(DAEMON_GENERATED)
|
||||
remote.h: $(DAEMON_GENERATED)
|
||||
admin_server.c: $(DAEMON_GENERATED)
|
||||
admin.c: $(DAEMON_GENERATED)
|
||||
admin.h: $(DAEMON_GENERATED)
|
||||
|
||||
LOGROTATE_CONFS = libvirtd.qemu.logrotate libvirtd.lxc.logrotate \
|
||||
libvirtd.libxl.logrotate libvirtd.uml.logrotate \
|
||||
@@ -445,18 +445,15 @@ endif ! LIBVIRT_INIT_SCRIPT_UPSTART
|
||||
if LIBVIRT_INIT_SCRIPT_SYSTEMD
|
||||
|
||||
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
|
||||
BUILT_SOURCES += libvirtd.service libvirtd.socket
|
||||
BUILT_SOURCES += libvirtd.service
|
||||
|
||||
install-init-systemd: install-sysconfig libvirtd.service libvirtd.socket
|
||||
install-init-systemd: install-sysconfig libvirtd.service
|
||||
$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
|
||||
$(INSTALL_DATA) libvirtd.service \
|
||||
$(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirtd.service
|
||||
$(INSTALL_DATA) libvirtd.socket \
|
||||
$(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirtd.socket
|
||||
|
||||
uninstall-init-systemd: uninstall-sysconfig
|
||||
rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirtd.service
|
||||
rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/libvirtd.socket
|
||||
rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
|
||||
else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
|
||||
install-init-systemd:
|
||||
@@ -480,12 +477,6 @@ libvirtd.service: libvirtd.service.in $(top_builddir)/config.status
|
||||
< $< > $@-t && \
|
||||
mv $@-t $@
|
||||
|
||||
libvirtd.socket: libvirtd.socket.in $(top_builddir)/config.status
|
||||
$(AM_V_GEN)sed \
|
||||
-e 's|[@]runstatedir[@]|$(runstatedir)|g' \
|
||||
< $< > $@-t && \
|
||||
mv $@-t $@
|
||||
|
||||
|
||||
check-local: check-augeas
|
||||
|
||||
|
136
daemon/admin.c
Normal file
136
daemon/admin.c
Normal file
@@ -0,0 +1,136 @@
|
||||
/*
|
||||
* admin.c: handlers for admin RPC method calls
|
||||
*
|
||||
* Copyright (C) 2014-2016 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Author: Martin Kletzander <mkletzan@redhat.com>
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "internal.h"
|
||||
#include "libvirtd.h"
|
||||
#include "libvirt_internal.h"
|
||||
|
||||
#include "admin_protocol.h"
|
||||
#include "admin.h"
|
||||
#include "admin_server.h"
|
||||
#include "datatypes.h"
|
||||
#include "viralloc.h"
|
||||
#include "virerror.h"
|
||||
#include "virlog.h"
|
||||
#include "virnetdaemon.h"
|
||||
#include "virnetserver.h"
|
||||
#include "virstring.h"
|
||||
#include "virthreadjob.h"
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_ADMIN
|
||||
|
||||
VIR_LOG_INIT("daemon.admin");
|
||||
|
||||
|
||||
void
|
||||
remoteAdmClientFreeFunc(void *data)
|
||||
{
|
||||
struct daemonAdmClientPrivate *priv = data;
|
||||
|
||||
virMutexDestroy(&priv->lock);
|
||||
virObjectUnref(priv->dmn);
|
||||
VIR_FREE(priv);
|
||||
}
|
||||
|
||||
void *
|
||||
remoteAdmClientInitHook(virNetServerClientPtr client ATTRIBUTE_UNUSED,
|
||||
void *opaque)
|
||||
{
|
||||
struct daemonAdmClientPrivate *priv;
|
||||
|
||||
if (VIR_ALLOC(priv) < 0)
|
||||
return NULL;
|
||||
|
||||
if (virMutexInit(&priv->lock) < 0) {
|
||||
VIR_FREE(priv);
|
||||
virReportSystemError(errno, "%s", _("unable to init mutex"));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* We don't necessarily need to ref this object right now as there
|
||||
* must be one ref being held throughout the life of the daemon,
|
||||
* but let's just be safe for future.
|
||||
*/
|
||||
priv->dmn = virObjectRef(opaque);
|
||||
|
||||
return priv;
|
||||
}
|
||||
|
||||
/* Helpers */
|
||||
|
||||
static void
|
||||
make_nonnull_server(admin_nonnull_server *srv_dst,
|
||||
virNetServerPtr srv_src)
|
||||
{
|
||||
ignore_value(VIR_STRDUP_QUIET(srv_dst->name, virNetServerGetName(srv_src)));
|
||||
}
|
||||
|
||||
/* Functions */
|
||||
static int
|
||||
adminDispatchConnectOpen(virNetServerPtr server ATTRIBUTE_UNUSED,
|
||||
virNetServerClientPtr client,
|
||||
virNetMessagePtr msg ATTRIBUTE_UNUSED,
|
||||
virNetMessageErrorPtr rerr,
|
||||
struct admin_connect_open_args *args)
|
||||
{
|
||||
unsigned int flags;
|
||||
struct daemonAdmClientPrivate *priv =
|
||||
virNetServerClientGetPrivateData(client);
|
||||
int ret = -1;
|
||||
|
||||
VIR_DEBUG("priv=%p dmn=%p", priv, priv->dmn);
|
||||
virMutexLock(&priv->lock);
|
||||
|
||||
flags = args->flags;
|
||||
virCheckFlagsGoto(0, cleanup);
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
if (ret < 0)
|
||||
virNetMessageSaveError(rerr);
|
||||
virMutexUnlock(&priv->lock);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
adminDispatchConnectClose(virNetServerPtr server ATTRIBUTE_UNUSED,
|
||||
virNetServerClientPtr client,
|
||||
virNetMessagePtr msg ATTRIBUTE_UNUSED,
|
||||
virNetMessageErrorPtr rerr ATTRIBUTE_UNUSED)
|
||||
{
|
||||
virNetServerClientDelayedClose(client);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
adminConnectGetLibVersion(virNetDaemonPtr dmn ATTRIBUTE_UNUSED,
|
||||
unsigned long long *libVer)
|
||||
{
|
||||
if (libVer)
|
||||
*libVer = LIBVIR_VERSION_NUMBER;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#include "admin_dispatch.h"
|
36
daemon/admin.h
Normal file
36
daemon/admin.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* admin.h: handlers for admin RPC method calls
|
||||
*
|
||||
* Copyright (C) 2014-2016 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Author: Martin Kletzander <mkletzan@redhat.com>
|
||||
*/
|
||||
|
||||
#ifndef __LIBVIRTD_ADMIN_H__
|
||||
# define __LIBVIRTD_ADMIN_H__
|
||||
|
||||
# include "rpc/virnetserverprogram.h"
|
||||
# include "rpc/virnetserverclient.h"
|
||||
|
||||
|
||||
extern virNetServerProgramProc adminProcs[];
|
||||
extern size_t adminNProcs;
|
||||
|
||||
void remoteAdmClientFreeFunc(void *data);
|
||||
void *remoteAdmClientInitHook(virNetServerClientPtr client, void *opaque);
|
||||
|
||||
#endif /* __ADMIN_REMOTE_H__ */
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* admin_server.c:
|
||||
* admin_server.c: admin methods to manage daemons and clients
|
||||
*
|
||||
* Copyright (C) 2014-2015 Red Hat, Inc.
|
||||
* Copyright (C) 2016 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -17,16 +17,12 @@
|
||||
* License along with this library. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Author: Martin Kletzander <mkletzan@redhat.com>
|
||||
* Authors: Erik Skultety <eskultet@redhat.com>
|
||||
* Martin Kletzander <mkletzan@redhat.com>
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "internal.h"
|
||||
#include "libvirtd.h"
|
||||
#include "libvirt_internal.h"
|
||||
|
||||
#include "admin_protocol.h"
|
||||
#include "admin_server.h"
|
||||
#include "datatypes.h"
|
||||
#include "viralloc.h"
|
||||
@@ -35,83 +31,40 @@
|
||||
#include "virnetdaemon.h"
|
||||
#include "virnetserver.h"
|
||||
#include "virstring.h"
|
||||
#include "virthreadjob.h"
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_ADMIN
|
||||
|
||||
VIR_LOG_INIT("daemon.admin");
|
||||
VIR_LOG_INIT("daemon.admin_server");
|
||||
|
||||
|
||||
void
|
||||
remoteAdmClientFreeFunc(void *data)
|
||||
int
|
||||
adminConnectListServers(virNetDaemonPtr dmn,
|
||||
virNetServerPtr **servers,
|
||||
unsigned int flags)
|
||||
{
|
||||
struct daemonAdmClientPrivate *priv = data;
|
||||
|
||||
virMutexDestroy(&priv->lock);
|
||||
virObjectUnref(priv->dmn);
|
||||
VIR_FREE(priv);
|
||||
}
|
||||
|
||||
void *
|
||||
remoteAdmClientInitHook(virNetServerClientPtr client ATTRIBUTE_UNUSED,
|
||||
void *opaque)
|
||||
{
|
||||
struct daemonAdmClientPrivate *priv;
|
||||
|
||||
if (VIR_ALLOC(priv) < 0)
|
||||
return NULL;
|
||||
|
||||
if (virMutexInit(&priv->lock) < 0) {
|
||||
VIR_FREE(priv);
|
||||
virReportSystemError(errno, "%s", _("unable to init mutex"));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* We don't necessarily need to ref this object right now as there
|
||||
* must be one ref being held throughout the life of the daemon,
|
||||
* but let's just be safe for future.
|
||||
*/
|
||||
priv->dmn = virObjectRef(opaque);
|
||||
|
||||
return priv;
|
||||
}
|
||||
|
||||
/* Functions */
|
||||
static int
|
||||
adminDispatchConnectOpen(virNetServerPtr server ATTRIBUTE_UNUSED,
|
||||
virNetServerClientPtr client,
|
||||
virNetMessagePtr msg ATTRIBUTE_UNUSED,
|
||||
virNetMessageErrorPtr rerr,
|
||||
struct admin_connect_open_args *args)
|
||||
{
|
||||
unsigned int flags;
|
||||
struct daemonAdmClientPrivate *priv =
|
||||
virNetServerClientGetPrivateData(client);
|
||||
int ret = -1;
|
||||
virNetServerPtr *srvs = NULL;
|
||||
|
||||
VIR_DEBUG("priv=%p dmn=%p", priv, priv->dmn);
|
||||
virMutexLock(&priv->lock);
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
flags = args->flags;
|
||||
virCheckFlagsGoto(0, cleanup);
|
||||
if ((ret = virNetDaemonGetServers(dmn, &srvs)) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = 0;
|
||||
if (servers) {
|
||||
*servers = srvs;
|
||||
srvs = NULL;
|
||||
}
|
||||
cleanup:
|
||||
if (ret < 0)
|
||||
virNetMessageSaveError(rerr);
|
||||
virMutexUnlock(&priv->lock);
|
||||
if (ret > 0)
|
||||
virObjectListFreeCount(srvs, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
adminDispatchConnectClose(virNetServerPtr server ATTRIBUTE_UNUSED,
|
||||
virNetServerClientPtr client,
|
||||
virNetMessagePtr msg ATTRIBUTE_UNUSED,
|
||||
virNetMessageErrorPtr rerr ATTRIBUTE_UNUSED)
|
||||
virNetServerPtr
|
||||
adminConnectLookupServer(virNetDaemonPtr dmn,
|
||||
const char *name,
|
||||
unsigned int flags)
|
||||
{
|
||||
virNetServerClientDelayedClose(client);
|
||||
return 0;
|
||||
}
|
||||
virCheckFlags(flags, NULL);
|
||||
|
||||
#include "admin_dispatch.h"
|
||||
return virNetDaemonGetServer(dmn, name);
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* admin_server.h
|
||||
* admin_server.h: admin methods to manage daemons and clients
|
||||
*
|
||||
* Copyright (C) 2014 Red Hat, Inc.
|
||||
* Copyright (C) 2016 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -17,20 +17,22 @@
|
||||
* License along with this library. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Author: Martin Kletzander <mkletzan@redhat.com>
|
||||
* Authors: Erik Skultety <eskultet@redhat.com>
|
||||
* Martin Kletzander <mkletzan@redhat.com>
|
||||
*/
|
||||
|
||||
#ifndef __LIBVIRTD_ADMIN_H__
|
||||
# define __LIBVIRTD_ADMIN_H__
|
||||
#ifndef __LIBVIRTD_ADMIN_SERVER_H__
|
||||
# define __LIBVIRTD_ADMIN_SERVER_H__
|
||||
|
||||
# include "rpc/virnetserverprogram.h"
|
||||
# include "rpc/virnetserverclient.h"
|
||||
# include "rpc/virnetdaemon.h"
|
||||
# include "rpc/virnetserver.h"
|
||||
|
||||
int adminConnectListServers(virNetDaemonPtr dmn,
|
||||
virNetServerPtr **servers,
|
||||
unsigned int flags);
|
||||
|
||||
extern virNetServerProgramProc adminProcs[];
|
||||
extern size_t adminNProcs;
|
||||
virNetServerPtr adminConnectLookupServer(virNetDaemonPtr dmn,
|
||||
const char *name,
|
||||
unsigned int flags);
|
||||
|
||||
void remoteAdmClientFreeFunc(void *data);
|
||||
void *remoteAdmClientInitHook(virNetServerClientPtr client, void *opaque);
|
||||
|
||||
#endif /* __ADMIN_REMOTE_H__ */
|
||||
#endif /* __LIBVIRTD_ADMIN_SERVER_H__ */
|
||||
|
@@ -280,6 +280,7 @@ daemonConfigNew(bool privileged ATTRIBUTE_UNUSED)
|
||||
data->min_workers = 5;
|
||||
data->max_workers = 20;
|
||||
data->max_clients = 5000;
|
||||
data->max_queued_clients = 1000;
|
||||
data->max_anonymous_clients = 20;
|
||||
|
||||
data->prio_workers = 5;
|
||||
@@ -292,7 +293,6 @@ daemonConfigNew(bool privileged ATTRIBUTE_UNUSED)
|
||||
|
||||
data->keepalive_interval = 5;
|
||||
data->keepalive_count = 5;
|
||||
data->keepalive_required = 0;
|
||||
|
||||
data->admin_min_workers = 5;
|
||||
data->admin_max_workers = 20;
|
||||
@@ -302,7 +302,6 @@ daemonConfigNew(bool privileged ATTRIBUTE_UNUSED)
|
||||
|
||||
data->admin_keepalive_interval = 5;
|
||||
data->admin_keepalive_count = 5;
|
||||
data->admin_keepalive_required = 0;
|
||||
|
||||
localhost = virGetHostname();
|
||||
if (localhost == NULL) {
|
||||
@@ -471,11 +470,9 @@ daemonConfigLoadOptions(struct daemonConfig *data,
|
||||
|
||||
GET_CONF_INT(conf, filename, keepalive_interval);
|
||||
GET_CONF_UINT(conf, filename, keepalive_count);
|
||||
GET_CONF_UINT(conf, filename, keepalive_required);
|
||||
|
||||
GET_CONF_INT(conf, filename, admin_keepalive_interval);
|
||||
GET_CONF_UINT(conf, filename, admin_keepalive_count);
|
||||
GET_CONF_UINT(conf, filename, admin_keepalive_required);
|
||||
|
||||
return 0;
|
||||
|
||||
|
@@ -81,7 +81,6 @@ struct daemonConfig {
|
||||
|
||||
int keepalive_interval;
|
||||
unsigned int keepalive_count;
|
||||
int keepalive_required;
|
||||
|
||||
int admin_min_workers;
|
||||
int admin_max_workers;
|
||||
@@ -91,7 +90,6 @@ struct daemonConfig {
|
||||
|
||||
int admin_keepalive_interval;
|
||||
unsigned int admin_keepalive_count;
|
||||
int admin_keepalive_required;
|
||||
};
|
||||
|
||||
|
||||
|
@@ -30,7 +30,6 @@
|
||||
#include <getopt.h>
|
||||
#include <stdlib.h>
|
||||
#include <grp.h>
|
||||
#include <locale.h>
|
||||
|
||||
#include "libvirt_internal.h"
|
||||
#include "virerror.h"
|
||||
@@ -44,7 +43,7 @@
|
||||
#include "libvirtd.h"
|
||||
#include "libvirtd-config.h"
|
||||
|
||||
#include "admin_server.h"
|
||||
#include "admin.h"
|
||||
#include "viruuid.h"
|
||||
#include "remote_driver.h"
|
||||
#include "viralloc.h"
|
||||
@@ -58,6 +57,7 @@
|
||||
#include "locking/lock_manager.h"
|
||||
#include "viraccessmanager.h"
|
||||
#include "virutil.h"
|
||||
#include "virgettext.h"
|
||||
|
||||
#ifdef WITH_DRIVER_MODULES
|
||||
# include "driver.h"
|
||||
@@ -1172,9 +1172,7 @@ int main(int argc, char **argv) {
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
if (setlocale(LC_ALL, "") == NULL ||
|
||||
bindtextdomain(PACKAGE, LOCALEDIR) == NULL ||
|
||||
textdomain(PACKAGE) == NULL ||
|
||||
if (virGettextInitialize() < 0 ||
|
||||
virInitialize() < 0) {
|
||||
fprintf(stderr, _("%s: initialization failed\n"), argv[0]);
|
||||
exit(EXIT_FAILURE);
|
||||
@@ -1382,14 +1380,14 @@ int main(int argc, char **argv) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!(srv = virNetServerNew(config->min_workers,
|
||||
if (!(srv = virNetServerNew("libvirtd",
|
||||
config->min_workers,
|
||||
config->max_workers,
|
||||
config->prio_workers,
|
||||
config->max_clients,
|
||||
config->max_anonymous_clients,
|
||||
config->keepalive_interval,
|
||||
config->keepalive_count,
|
||||
!!config->keepalive_required,
|
||||
config->mdns_adv ? config->mdns_name : NULL,
|
||||
remoteClientInitHook,
|
||||
NULL,
|
||||
@@ -1457,14 +1455,14 @@ int main(int argc, char **argv) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!(srvAdm = virNetServerNew(config->admin_min_workers,
|
||||
if (!(srvAdm = virNetServerNew("admin",
|
||||
config->admin_min_workers,
|
||||
config->admin_max_workers,
|
||||
0,
|
||||
config->admin_max_clients,
|
||||
0,
|
||||
config->admin_keepalive_interval,
|
||||
config->admin_keepalive_count,
|
||||
!!config->admin_keepalive_required,
|
||||
NULL,
|
||||
remoteAdmClientInitHook,
|
||||
NULL,
|
||||
|
@@ -77,11 +77,6 @@
|
||||
# UNIX socket access controls
|
||||
#
|
||||
|
||||
# Beware that if you are changing *any* of these options, and you use
|
||||
# socket activation with systemd, you need to adjust the settings in
|
||||
# the libvirtd.socket file as well since it could impose a security
|
||||
# risk if you rely on file permission checking only.
|
||||
|
||||
# Set the UNIX domain socket group ownership. This can be used to
|
||||
# allow a 'trusted' set of users access to management capabilities
|
||||
# without becoming root.
|
||||
@@ -344,10 +339,16 @@
|
||||
# The format for a filter is one of:
|
||||
# x:name
|
||||
# x:+name
|
||||
# where name is a string which is matched against source file name,
|
||||
# e.g., "remote", "qemu", or "util/json", the optional "+" prefix
|
||||
# tells libvirt to log stack trace for each message matching name,
|
||||
# and x is the minimal level where matching messages should be logged:
|
||||
|
||||
# where name is a string which is matched against the category
|
||||
# given in the VIR_LOG_INIT() at the top of each libvirt source
|
||||
# file, e.g., "remote", "qemu", or "util.json" (the name in the
|
||||
# filter can be a substring of the full category name, in order
|
||||
# to match multiple similar categories), the optional "+" prefix
|
||||
# tells libvirt to log stack trace for each message matching
|
||||
# name, and x is the minimal level where matching messages should
|
||||
# be logged:
|
||||
|
||||
# 1: DEBUG
|
||||
# 2: INFO
|
||||
# 3: WARNING
|
||||
@@ -440,14 +441,15 @@
|
||||
#
|
||||
#keepalive_interval = 5
|
||||
#keepalive_count = 5
|
||||
|
||||
#
|
||||
# If set to 1, libvirtd will refuse to talk to clients that do not
|
||||
# support keepalive protocol. Defaults to 0.
|
||||
# These configuration options are no longer used. There is no way to
|
||||
# restrict such clients from connecting since they first need to
|
||||
# connect in order to ask for keepalive.
|
||||
#
|
||||
#keepalive_required = 1
|
||||
#admin_keepalive_required = 1
|
||||
|
||||
# Keepalive settings for the admin interface
|
||||
#admin_keepalive_interval = 5
|
||||
#admin_keepalive_count = 5
|
||||
#
|
||||
#admin_keepalive_required = 1
|
||||
|
@@ -60,6 +60,7 @@ struct daemonClientPrivate {
|
||||
size_t nnetworkEventCallbacks;
|
||||
daemonClientEventCallbackPtr *qemuEventCallbacks;
|
||||
size_t nqemuEventCallbacks;
|
||||
bool closeRegistered;
|
||||
|
||||
# if WITH_SASL
|
||||
virNetSASLSessionPtr sasl;
|
||||
@@ -72,7 +73,6 @@ struct daemonClientPrivate {
|
||||
virConnectPtr conn;
|
||||
|
||||
daemonClientStreamPtr streams;
|
||||
bool keepalive_supported;
|
||||
};
|
||||
|
||||
/* Separate private data for admin connection */
|
||||
|
@@ -1,19 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
# the following is the LSB init header see
|
||||
# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV
|
||||
# http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: libvirtd
|
||||
# Required-Start: $network messagebus
|
||||
# Should-Start: $named
|
||||
# Should-Start: xend
|
||||
# Should-Start: avahi-daemon
|
||||
# Should-Start: virtlockd
|
||||
# Required-Stop: $network messagebus
|
||||
# Should-Stop: $named
|
||||
# Default-Start: 3 4 5
|
||||
# Default-Stop: 0 1 2 6
|
||||
# Required-Start: $network messagebus virtlogd
|
||||
# Required-Stop: $network messagebus
|
||||
# Should-Start: $named xend avahi-daemon virtlockd
|
||||
# Should-Stop: $named
|
||||
# Short-Description: daemon for libvirt virtualization API
|
||||
# Description: This is a daemon for managing guest instances
|
||||
# and libvirt virtual networks
|
||||
|
@@ -1,10 +1,18 @@
|
||||
# NB we don't use socket activation. When libvirtd starts it will
|
||||
# spawn any virtual machines registered for autostart. We want this
|
||||
# to occur on every boot, regardless of whether any client connects
|
||||
# to a socket. Thus socket activation doesn't have any benefit
|
||||
|
||||
[Unit]
|
||||
Description=Virtualization daemon
|
||||
Requires=virtlogd.socket
|
||||
Before=libvirt-guests.service
|
||||
After=network.target
|
||||
After=dbus.service
|
||||
After=iscsid.service
|
||||
After=apparmor.service
|
||||
After=local-fs.target
|
||||
After=remote-fs.target
|
||||
Documentation=man:libvirtd(8)
|
||||
Documentation=http://libvirt.org
|
||||
|
||||
@@ -20,3 +28,5 @@ Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Also=virtlockd.socket
|
||||
Also=virtlogd.socket
|
||||
|
@@ -1,11 +0,0 @@
|
||||
[Socket]
|
||||
ListenStream=@runstatedir@/libvirt/libvirt-sock
|
||||
ListenStream=@runstatedir@/libvirt/libvirt-sock-ro
|
||||
|
||||
; The following settings must match libvirtd.conf file in order to
|
||||
; work as expected because libvirtd can't change them later.
|
||||
; SocketMode=0777 is safe only if authentication on the socket is set
|
||||
; up. For further information, please see the libvirtd.conf file.
|
||||
SocketMode=0777
|
||||
SocketUser=root
|
||||
SocketGroup=root
|
1125
daemon/remote.c
1125
daemon/remote.c
File diff suppressed because it is too large
Load Diff
@@ -58,6 +58,6 @@ module Test_libvirtd =
|
||||
{ "keepalive_interval" = "5" }
|
||||
{ "keepalive_count" = "5" }
|
||||
{ "keepalive_required" = "1" }
|
||||
{ "admin_keepalive_required" = "1" }
|
||||
{ "admin_keepalive_interval" = "5" }
|
||||
{ "admin_keepalive_count" = "5" }
|
||||
{ "admin_keepalive_required" = "1" }
|
||||
|
@@ -1,6 +1,6 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
## Copyright (C) 2005-2015 Red Hat, Inc.
|
||||
## Copyright (C) 2005-2016 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
@@ -16,8 +16,6 @@
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
SUBDIRS= schemas
|
||||
|
||||
PERL = perl
|
||||
|
||||
# The directory containing the source code (if it contains documentation).
|
||||
@@ -72,8 +70,6 @@ devhelpxsl = devhelp/devhelp.xsl devhelp/html.xsl
|
||||
|
||||
png = \
|
||||
32favicon.png \
|
||||
footer_corner.png \
|
||||
footer_pattern.png \
|
||||
libvirt-header-bg.png \
|
||||
libvirt-header-logo.png \
|
||||
libvirtLogo.png \
|
||||
@@ -83,7 +79,6 @@ png = \
|
||||
libvirt-driver-arch.png \
|
||||
libvirt-object-model.png \
|
||||
madeWith.png \
|
||||
et.png \
|
||||
migration-managed-direct.png \
|
||||
migration-managed-p2p.png \
|
||||
migration-native.png \
|
||||
@@ -150,6 +145,9 @@ fig = \
|
||||
migration-tunnel.fig \
|
||||
migration-unmanaged-direct.fig
|
||||
|
||||
schemadir = $(pkgdatadir)/schemas
|
||||
schema_DATA = $(wildcard $(srcdir)/schemas/*.rng)
|
||||
|
||||
EXTRA_DIST= \
|
||||
apibuild.py genaclperms.pl \
|
||||
site.xsl newapi.xsl news.xsl page.xsl \
|
||||
@@ -160,7 +158,8 @@ EXTRA_DIST= \
|
||||
$(patches) $(dot_php_in) $(dot_php_code_in) $(dot_php)\
|
||||
$(internals_html_in) $(internals_html) \
|
||||
sitemap.html.in aclperms.htmlinc \
|
||||
todo.pl hvsupport.pl todo.cfg-example
|
||||
todo.pl hvsupport.pl todo.cfg-example \
|
||||
$(schema_DATA)
|
||||
|
||||
acl_generated = aclperms.htmlinc
|
||||
|
||||
@@ -204,7 +203,7 @@ todo:
|
||||
rm -f todo.html.in
|
||||
$(MAKE) todo.html
|
||||
|
||||
hvsupport.html:: $(srcdir)/hvsupport.html.in
|
||||
hvsupport.html: $(srcdir)/hvsupport.html.in
|
||||
|
||||
$(srcdir)/hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
|
||||
$(top_srcdir)/src/libvirt_public.syms \
|
||||
@@ -218,21 +217,21 @@ $(srcdir)/hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
|
||||
%.png: %.fig
|
||||
convert -rotate 90 $< $@
|
||||
|
||||
internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in
|
||||
@if [ -x $(XSLTPROC) ] ; then \
|
||||
echo "Generating $@"; \
|
||||
$(MKDIR_P) internals; \
|
||||
name=`echo $@ | sed -e 's/.tmp//'`; \
|
||||
$(XSLTPROC) --stringparam pagename $$name --nonet \
|
||||
$(top_srcdir)/docs/subsite.xsl $< > $@ \
|
||||
|| { rm $@ && exit 1; }; fi
|
||||
|
||||
%.html.tmp: %.html.in site.xsl page.xsl sitemap.html.in $(acl_generated)
|
||||
%.html.tmp: %.html.in site.xsl subsite.xsl page.xsl \
|
||||
sitemap.html.in $(acl_generated)
|
||||
@if [ -x $(XSLTPROC) ] ; then \
|
||||
echo "Generating $@"; \
|
||||
name=`echo $@ | sed -e 's/.tmp//'`; \
|
||||
dir=`dirname $@` ; \
|
||||
if test "$$dir" = "."; \
|
||||
then \
|
||||
style=site.xsl; \
|
||||
else \
|
||||
$(MKDIR_P) $$dir; \
|
||||
style=subsite.xsl; \
|
||||
fi; \
|
||||
$(XSLTPROC) --stringparam pagename $$name --nonet \
|
||||
$(top_srcdir)/docs/site.xsl $< > $@ \
|
||||
$(top_srcdir)/docs/$$style $< > $@ \
|
||||
|| { rm $@ && exit 1; }; fi
|
||||
|
||||
%.html: %.html.tmp
|
||||
@@ -301,7 +300,8 @@ EXTRA_DIST += $(APIBUILD_STAMP)
|
||||
$(python_generated_files): $(APIBUILD_STAMP)
|
||||
|
||||
$(APIBUILD_STAMP): $(srcdir)/apibuild.py \
|
||||
$(top_srcdir)/include/libvirt/libvirt.h.in \
|
||||
$(top_srcdir)/include/libvirt/libvirt.h \
|
||||
$(top_srcdir)/include/libvirt/libvirt-common.h.in \
|
||||
$(top_srcdir)/include/libvirt/libvirt-domain-snapshot.h \
|
||||
$(top_srcdir)/include/libvirt/libvirt-domain.h \
|
||||
$(top_srcdir)/include/libvirt/libvirt-event.h \
|
||||
@@ -363,8 +363,8 @@ install-data-local:
|
||||
$(INSTALL_DATA) $(srcdir)/libvirtLogo.png $(DESTDIR)$(pkgdatadir)
|
||||
|
||||
uninstall-local:
|
||||
for h in $(apihtml); do rm $(DESTDIR)$(HTML_DIR)/$$h; done
|
||||
for p in $(apipng); do rm $(DESTDIR)$(HTML_DIR)/$$p; done
|
||||
for h in $(apihtml); do rm -f $(DESTDIR)$(HTML_DIR)/$$h; done
|
||||
for p in $(apipng); do rm -f $(DESTDIR)$(HTML_DIR)/$$p; done
|
||||
for f in $(devhelphtml) $(devhelppng) $(devhelpcss); do \
|
||||
rm $(DESTDIR)$(DEVHELP_DIR)/$$(basename $$f); \
|
||||
rm -f $(DESTDIR)$(DEVHELP_DIR)/$$(basename $$f); \
|
||||
done
|
||||
|
@@ -348,6 +348,12 @@
|
||||
<code>lookup</code> method.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
See
|
||||
<a href="http://libvirt.org/git/?p=libvirt.git;a=tree;f=examples/polkit;hb=HEAD">source code</a>
|
||||
for a more complex example.
|
||||
</p>
|
||||
|
||||
<h3><a name="exconnect">Example: restricting ability to connect to drivers</a></h3>
|
||||
|
||||
<p>
|
||||
|
@@ -330,7 +330,7 @@
|
||||
daemon through the <a href="remote.html">remote</a> driver via an
|
||||
<a href="internals/rpc.html">RPC</a>. Some hypervisors do support
|
||||
client-side connections and responses, such as Test, OpenVZ, VMware,
|
||||
Power VM (phyp), VirtualBox (vbox), ESX, Hyper-V, Xen, and Parallels.
|
||||
Power VM (phyp), VirtualBox (vbox), ESX, Hyper-V, Xen, and Virtuozzo.
|
||||
The libvirtd daemon service is started on the host at system boot
|
||||
time and can also be restarted at any time by a properly privileged
|
||||
user, such as root. The libvirtd daemon uses the same libvirt API
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<body>
|
||||
<h1>Applications using <strong>libvirt</strong></h1>
|
||||
<h1>Applications using libvirt</h1>
|
||||
|
||||
<p>
|
||||
This page provides an illustration of the wide variety of
|
||||
@@ -262,6 +262,16 @@
|
||||
using a dashboard. Compute part uses libvirt to manage VM
|
||||
life-cycle, monitoring and so on.
|
||||
</dd>
|
||||
|
||||
<dt><a href="https://github.com/gustavfranssonnyvell/cherrypop">Cherrypop</a></dt>
|
||||
<dd>
|
||||
A cloud software with no masters or central points. Nodes
|
||||
autodetect other nodes and autodistribute virtual
|
||||
machines and autodivide up the workload. Also there is no
|
||||
minimum limit for hosts, well, one might be nice. It's
|
||||
perfect for setting up low-end servers in a cloud or a
|
||||
cloud where you want the most bang for the bucks.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h2><a name="libraries">Libraries</a></h2>
|
||||
@@ -431,5 +441,19 @@
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h2><a name="other">Other</a></h2>
|
||||
|
||||
<dl>
|
||||
<dt><a href="http://cuckoosandbox.org/">Cuckoo Sandbox</a></dt>
|
||||
<dd>
|
||||
Cuckoo Sandbox is a malware analysis system. You can throw
|
||||
any suspicious file at it and in a matter of seconds Cuckoo
|
||||
will provide you back some detailed results outlining what
|
||||
such file did when executed inside an isolated environment.
|
||||
And libvirt is one of the backends that can be used for the
|
||||
isolated environment.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -2,55 +2,41 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<body>
|
||||
<h1>libvirt Application Development Guide</h1>
|
||||
|
||||
<ul id="toc"></ul>
|
||||
<h1>libvirt Application Development Guides</h1>
|
||||
|
||||
<p>
|
||||
The guide is both a learning tool for developing with libvirt and an
|
||||
API reference document. It is a work in progress, composed by a
|
||||
professional author from contributions written by members of the
|
||||
libvirt team.
|
||||
The libvirt API is accessible from a number of programming languages.
|
||||
At this time, there are application development guides available
|
||||
which cover the C API and the Python API. Of the two, the Python guide
|
||||
is currently the more comprehensive document.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Contributions to the guide are <b>VERY</b> welcome. If you'd like to get
|
||||
your name on this and demonstrate your virtualisation prowess, a solid
|
||||
contribution to the content here will do it. :)
|
||||
</p>
|
||||
|
||||
<h2><a name="online">Browsable online</a></h2>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://libvirt.org/guide/html/">
|
||||
HTML format using multiple pages</a></li>
|
||||
<li><a href="http://libvirt.org/guide/html-single/">
|
||||
HTML format using one big page</a></li>
|
||||
<li><a href="http://libvirt.org/guide/pdf/Application_Development_Guide.pdf">
|
||||
PDF format</a></li>
|
||||
<li><a href="http://libvirt.org/guide/libvirt-0.7.5-Application_Development_Guide-en-US.epub">
|
||||
ePub format</a></li>
|
||||
<li><a href="http://libvirt.org/guide/txt/Application_Development_Guide.txt">
|
||||
Plain text format</a></li>
|
||||
<li><a href="http://libvirt.org/guide/libvirt-Application_Development_Guide-0.7.5-web-en-US-1-9.el5.src.rpm">
|
||||
Source RPM format</a></li>
|
||||
<li><a href="http://libvirt.org/docs/libvirt-appdev-guide/en-US/html/">Application Development Guide (C language) HTML</a></li>
|
||||
<li><a href="http://libvirt.org/docs/libvirt-appdev-guide/en-US/pdf/">Application Development Guide (C language) PDF</a></li>
|
||||
<li><a href="http://libvirt.org/docs/libvirt-appdev-guide-python/en-US/html/">Application Development Guide (Python language) HTML</a></li>
|
||||
<li><a href="http://libvirt.org/docs/libvirt-appdev-guide-python/en-US/pdf/">Application Development Guide (Python language) PDF</a></li>
|
||||
</ul>
|
||||
|
||||
<h2><a name="git">GIT source repository</a></h2>
|
||||
<h2>Contributing content</h2>
|
||||
|
||||
<p>
|
||||
The source is in a git repository:
|
||||
These guides are written in DocBook and published with the
|
||||
publican tool, which is also used for Fedora and Red Hat
|
||||
documentation. The original content is provided in GIT and
|
||||
any contributions to the guide are welcome.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
git clone git://libvirt.org/libvirt-appdev-guide.git</pre>
|
||||
# C language
|
||||
$ git clone <a href="http://libvirt.org/git/?p=libvirt-appdev-guide.git">git://libvirt.org/libvirt-appdev-guide.git</a>
|
||||
|
||||
<p>
|
||||
Browsable here:
|
||||
</p>
|
||||
# Python language
|
||||
$ git clone <a href="http://libvirt.org/git/?p=libvirt-appdev-guide-python.git">git://libvirt.org/libvirt-appdev-guide-python.git</a>
|
||||
|
||||
<pre>
|
||||
<a href="http://libvirt.org/git/?p=libvirt-appdev-guide.git;a=summary">http://libvirt.org/git/?p=libvirt-appdev-guide.git;a=summary</a></pre>
|
||||
# Publican Style/Theme
|
||||
$ git clone <a href="http://libvirt.org/git/?p=libvirt-publican.git">git://libvirt.org/libvirt-publican.git</a>
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -32,7 +32,7 @@
|
||||
<li><strong><a href="drvxen.html">Xen</a></strong></li>
|
||||
<li><strong><a href="drvhyperv.html">Microsoft Hyper-V</a></strong></li>
|
||||
<li><strong><a href="drvphyp.html">IBM PowerVM (phyp)</a></strong></li>
|
||||
<li><strong><a href="drvparallels.html">Parallels</a></strong></li>
|
||||
<li><strong><a href="drvvirtuozzo.html">Virtuozzo</a></strong></li>
|
||||
<li><strong><a href="drvbhyve.html">Bhyve</a></strong> - The BSD Hypervisor</li>
|
||||
</ul>
|
||||
|
||||
|
@@ -590,6 +590,27 @@ Note that allowing capabilities that are normally dropped by default can serious
|
||||
affect the security of the container and the host.
|
||||
</p>
|
||||
|
||||
<h2><a name="share">Inherit namespaces</a></h2>
|
||||
|
||||
<p>
|
||||
Libvirt allows you to inherit the namespace from container/process just like lxc tools
|
||||
or docker provides to share the network namespace. The following can be used to share
|
||||
required namespaces. If we want to share only one then the other namespaces can be ignored.
|
||||
The netns option is specific to sharenet. It can be used in cases we want to use existing network namespace
|
||||
rather than creating new network namespace for the container. In this case privnet option will be
|
||||
ignored.
|
||||
</p>
|
||||
<pre>
|
||||
<domain type='lxc' xmlns:lxc='http://libvirt.org/schemas/domain/lxc/1.0'>
|
||||
...
|
||||
<lxc:namespace>
|
||||
<lxc:sharenet type='netns' value='red'/>
|
||||
<lxc:shareuts type='name' value='container1'/>
|
||||
<lxc:shareipc type='pid' value='12345'/>
|
||||
</lxc:namespace>
|
||||
</domain>
|
||||
</pre>
|
||||
|
||||
<h2><a name="usage">Container usage / management</a></h2>
|
||||
|
||||
<p>
|
||||
|
@@ -8,9 +8,7 @@
|
||||
|
||||
<p>
|
||||
The libvirt KVM/QEMU driver can manage any QEMU emulator from
|
||||
version 0.8.1 or later. It can also manage Xenner, which
|
||||
provides the same QEMU command line syntax and monitor
|
||||
interaction.
|
||||
version 0.12.0 or later.
|
||||
</p>
|
||||
|
||||
<h2><a name="project">Project Links</a></h2>
|
||||
@@ -43,12 +41,6 @@
|
||||
node. If both are found, then KVM fullyvirtualized, hardware accelerated
|
||||
guests will be available.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Xenner hypervisor</strong>: The driver will probe <code>/usr/bin</code>
|
||||
for the presence of <code>xenner</code> and <code>/dev/kvm</code> device
|
||||
node. If both are found, then Xen paravirtualized guests can be run using
|
||||
the KVM hardware acceleration.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2><a name="uris">Connections to QEMU driver</a></h2>
|
||||
@@ -647,9 +639,5 @@ $ virsh domxml-to-native qemu-argv demo.xml
|
||||
</devices>
|
||||
</domain></pre>
|
||||
|
||||
<h3>Xen paravirtualized guests with hardware acceleration</h3>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -2,43 +2,43 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<body>
|
||||
<h1>Parallels Cloud Server driver</h1>
|
||||
<h1>Virtuozzo driver</h1>
|
||||
<ul id="toc"></ul>
|
||||
<p>
|
||||
The libvirt Parallels driver can manage Parallels Cloud Server starting from version 6.0.
|
||||
The libvirt vz driver can manage Virtuozzo starting from version 6.0.
|
||||
</p>
|
||||
|
||||
|
||||
<h2><a name="project">Project Links</a></h2>
|
||||
<ul>
|
||||
<li>
|
||||
The <a href="http://www.parallels.com/products/server/baremetal/sp/">Parallels Cloud Server</a> Virtualization Solution.
|
||||
The <a href="http://www.odin.com/products/virtuozzo/">Virtuozzo</a> Solution.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2><a name="uri">Connections to the Parallels Cloud Server driver</a></h2>
|
||||
<h2><a name="uri">Connections to the Virtuozzo driver</a></h2>
|
||||
<p>
|
||||
The libvirt Parallels driver is a single-instance privileged driver, with a driver name of 'parallels'. Some example connection URIs for the libvirt driver are:
|
||||
The libvirt Virtuozzo driver is a single-instance privileged driver, with a driver name of 'virtuozzo'. Some example connection URIs for the libvirt driver are:
|
||||
</p>
|
||||
<pre>
|
||||
parallels:///system (local access)
|
||||
parallels+unix:///system (local access)
|
||||
parallels://example.com/system (remote access, TLS/x509)
|
||||
parallels+tcp://example.com/system (remote access, SASl/Kerberos)
|
||||
parallels+ssh://root@example.com/system (remote access, SSH tunnelled)
|
||||
vz:///system (local access)
|
||||
vz+unix:///system (local access)
|
||||
vz://example.com/system (remote access, TLS/x509)
|
||||
vz+tcp://example.com/system (remote access, SASl/Kerberos)
|
||||
vz+ssh://root@example.com/system (remote access, SSH tunnelled)
|
||||
</pre>
|
||||
|
||||
<h2><a name="example">Example guest domain XML configuration</a></h2>
|
||||
|
||||
<p>
|
||||
Parallels driver require at least one hard disk for new domains
|
||||
Virtuozzo driver require at least one hard disk for new domains
|
||||
at this time. It is used for defining directory, where VM should
|
||||
be created.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
<domain type='parallels'>
|
||||
<domain type='vz'>
|
||||
<name>demo</name>
|
||||
<uuid>54cdecad-4492-4e31-a209-33cc21d64057</uuid>
|
||||
<description>some description</description>
|
BIN
docs/et.png
BIN
docs/et.png
Binary file not shown.
Before Width: | Height: | Size: 9.5 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 817 B |
@@ -162,7 +162,7 @@
|
||||
<suspend_mem/>
|
||||
<suspend_disk/>
|
||||
<suspend_hybrid/>
|
||||
<power_management/>
|
||||
</power_management>
|
||||
</host></span>
|
||||
|
||||
<!-- xen-3.0-x86_64 -->
|
||||
|
@@ -1460,11 +1460,16 @@
|
||||
<relaxed state='on'/>
|
||||
<vapic state='on'/>
|
||||
<spinlocks state='on' retries='4096'/>
|
||||
<vpindex state='on'/>
|
||||
<runtime state='on'/>
|
||||
<synic state='on'/>
|
||||
<reset state='on'/>
|
||||
<vendor_id state='on' value='KVM Hv'/>
|
||||
</hyperv>
|
||||
<kvm>
|
||||
<hidden state='on'/>
|
||||
</kvm>
|
||||
<pvspinlock/>
|
||||
<pvspinlock state='on'/>
|
||||
<gic version='2'/>
|
||||
|
||||
</features>
|
||||
@@ -1494,8 +1499,10 @@
|
||||
Interrupt) for the guest.
|
||||
</dd>
|
||||
<dt><code>hap</code></dt>
|
||||
<dd>Enable use of Hardware Assisted Paging if available in
|
||||
the hardware.
|
||||
<dd>Depending on the <code>state</code> attribute (values <code>on</code>,
|
||||
<code>off</code>) enable or disable use of Hardware Assisted Paging.
|
||||
The default is <code>on</code> if the hypervisor detects availability
|
||||
of Hardware Assisted Paging.
|
||||
</dd>
|
||||
<dt><code>viridian</code></dt>
|
||||
<dd>Enable Viridian hypervisor extensions for paravirtualizing
|
||||
@@ -1521,19 +1528,55 @@
|
||||
<td>relaxed</td>
|
||||
<td>Relax constraints on timers</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.0.0 (QEMU only)</span></td>
|
||||
<td><span class="since">1.0.0 (QEMU 2.0)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vapic</td>
|
||||
<td>Enable virtual APIC</td>
|
||||
<td>on, off</td>
|
||||
<td><span class="since">1.1.0 (QEMU only)</span></td>
|
||||
<td><span class="since">1.1.0 (QEMU 2.0)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>spinlocks</td>
|
||||
<td>Enable spinlock support</td>
|
||||
<td>on, off; retries - at least 4095</td>
|
||||
<td><span class="since">1.1.0 (QEMU only)</span></td>
|
||||
<td><span class="since">1.1.0 (QEMU 2.0)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vpindex</td>
|
||||
<td>Virtual processor index</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>runtime</td>
|
||||
<td>Processor time spent on running guest code and on behalf of guest code</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>synic</td>
|
||||
<td>Enable Synthetic Interrupt Controller (SyNIC)</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.6)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>stimer</td>
|
||||
<td>Enable SyNIC timers</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.6)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reset</td>
|
||||
<td>Enable hypervisor reset</td>
|
||||
<td> on, off</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>vendor_id</td>
|
||||
<td>Set hypervisor vendor id</td>
|
||||
<td>on, off; value - string, up to 12 characters</td>
|
||||
<td><span class="since">1.3.3 (QEMU 2.5)</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</dd>
|
||||
@@ -1569,7 +1612,7 @@
|
||||
<dt><code>vmport</code></dt>
|
||||
<dd>Depending on the <code>state</code> attribute (values <code>on</code>,
|
||||
<code>off</code>, default <code>on</code>) enable or disable
|
||||
the emulation of VMWare IO port, for vmmouse etc.
|
||||
the emulation of VMware IO port, for vmmouse etc.
|
||||
<span class="since">Since 1.2.16</span>
|
||||
</dd>
|
||||
<dt><code>gic</code></dt>
|
||||
@@ -1578,8 +1621,9 @@
|
||||
For example, the 'aarch64' architecture uses
|
||||
<code>gic</code> instead of <code>apic</code>. The optional
|
||||
attribute <code>version</code> specifies the GIC version;
|
||||
however, it may not be supported by all hypervisors. <span
|
||||
class="since">Since 1.2.16</span>
|
||||
however, it may not be supported by all hypervisors. Accepted
|
||||
values are <code>2</code>, <code>3</code> and <code>host</code>.
|
||||
<span class="since">Since 1.2.16</span>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
@@ -1973,7 +2017,9 @@
|
||||
valid when the <code>type</code> is "block" or "network" for
|
||||
<code>protocol='iscsi'</code> or when the <code>type</code>
|
||||
is "volume" when using an iSCSI source <code>pool</code>
|
||||
for <code>mode</code> "host".
|
||||
for <code>mode</code> "host" or as an
|
||||
<a href="http://wiki.libvirt.org/page/NPIV_in_libvirt">NPIV</a>
|
||||
virtual Host Bus Adapter (vHBA) using a Fibre Channel storage pool.
|
||||
Configured in this manner, the LUN behaves identically to "disk",
|
||||
except that generic SCSI commands from the guest are accepted
|
||||
and passed through to the physical device. Also note that
|
||||
@@ -2149,7 +2195,7 @@
|
||||
<td> rbd </td>
|
||||
<td> monitor servers of RBD </td>
|
||||
<td> one or more </td>
|
||||
<td> 6789 </td>
|
||||
<td> librados default </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> sheepdog </td>
|
||||
@@ -2773,7 +2819,7 @@
|
||||
attribute provides the format type. For example, LXC
|
||||
supports a type of "loop", with a format of "raw" or
|
||||
"nbd" with any format. QEMU supports a type of "path"
|
||||
or "handle", but no formats. Parallels driver supports
|
||||
or "handle", but no formats. Virtuozzo driver supports
|
||||
a type of "ploop" with a format of "ploop".
|
||||
</li>
|
||||
</ul>
|
||||
@@ -2998,6 +3044,14 @@
|
||||
a sector is 512 bytes.
|
||||
<span class="since">Since 1.2.7 (QEMU and KVM only)</span>
|
||||
</dd>
|
||||
<dt><code>ioeventfd</code></dt>
|
||||
<dd>
|
||||
The optional <code>ioeventfd</code> attribute specifies
|
||||
whether the controller should use
|
||||
<a href='https://patchwork.kernel.org/patch/43390/'>
|
||||
I/O asynchronous handling</a> or not. Accepted values are
|
||||
"on" and "off". <span class="since">Since 1.2.18</span>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>
|
||||
USB companion controllers have an optional
|
||||
@@ -3029,10 +3083,13 @@
|
||||
<p>
|
||||
PCI controllers have an optional <code>model</code> attribute with
|
||||
possible values <code>pci-root</code>, <code>pcie-root</code>,
|
||||
<code>pci-bridge</code>, or <code>dmi-to-pci-bridge</code>.
|
||||
<code>pcie-root-port</code>, <code>pci-bridge</code>,
|
||||
<code>dmi-to-pci-bridge</code>, <code>pcie-switch-upstream-port</code>, or
|
||||
<code>pcie-switch-downstream-port</code>.
|
||||
(pci-root and pci-bridge <span class="since">since 1.0.5</span>,
|
||||
pcie-root and dmi-to-pci-bridge <span class="since">since
|
||||
1.1.2</span>)
|
||||
1.1.2</span>, pcie-root-port, pcie-switch-upstream-port, and
|
||||
pcie-switch-downstream-port <span class="since">since 1.2.19</span>)
|
||||
The root controllers (<code>pci-root</code> and <code>pcie-root</code>)
|
||||
have an optional <code>pcihole64</code> element specifying how big
|
||||
(in kilobytes, or in the unit specified by <code>pcihole64</code>'s
|
||||
@@ -3041,6 +3098,61 @@
|
||||
are recent enough to support 64-bit PCI holes, unless this is disabled
|
||||
(set to 0). <span class="since">Since 1.1.2 (QEMU only)</span>
|
||||
</p>
|
||||
<p>
|
||||
PCI controllers also have an optional
|
||||
subelement <code><model></code> with an attribute
|
||||
<code>name</code>. The name attribute holds the name of the
|
||||
specific device that qemu is emulating (e.g. "i82801b11-bridge")
|
||||
rather than simply the class of device ("dmi-to-pci-bridge",
|
||||
"pci-bridge"), which is set in the controller element's
|
||||
model <b>attribute</b>. In almost all cases, you should not
|
||||
manually add a <code><model></code> subelement to a
|
||||
controller, nor should you modify one that is automatically
|
||||
generated by libvirt. <span class="since">Since 1.2.19 (QEMU
|
||||
only).</span>
|
||||
</p>
|
||||
<p>
|
||||
PCI controllers also have an optional
|
||||
subelement <code><target></code> with the attributes
|
||||
listed below. These are configurable items that 1) are visible
|
||||
to the guest OS so must be preserved for guest ABI
|
||||
compatibility, and 2) are usually left to default values or
|
||||
derived automatically by libvirt. In almost all cases, you
|
||||
should not manually add a <code><target></code> subelement
|
||||
to a controller, nor should you modify the values in the those
|
||||
that are automatically generated by
|
||||
libvirt. <span class="since">Since 1.2.19 (QEMU only).</span>
|
||||
</p>
|
||||
<dl>
|
||||
<dt><code>chassisNr</code></dt>
|
||||
<dd>
|
||||
PCI controllers that have attribute model="pci-bridge", can
|
||||
also have a <code>chassisNr</code> attribute in
|
||||
the <code><target></code> subelement, which is used to
|
||||
control QEMU's "chassis_nr" option for the pci-bridge device
|
||||
(normally libvirt automatically sets this to the same value as
|
||||
the index attribute of the pci controller). If set, chassisNr
|
||||
must be between 0 and 255.
|
||||
</dd>
|
||||
<dt><code>chassis</code></dt>
|
||||
<dd>
|
||||
pcie-root-port and pcie-switch-downstream-port controllers can
|
||||
also have a <code>chassis</code> attribute in
|
||||
the <code><target></code> subelement, which is used to
|
||||
set the controller's "chassis" configuration value, which is
|
||||
visible to the virtual machine. If set, chassis must be
|
||||
between 0 and 255.
|
||||
</dd>
|
||||
<dt><code>port</code></dt>
|
||||
<dd>
|
||||
pcie-root-port and pcie-switch-downstream-port controllers can
|
||||
also have a <code>port</code> attribute in
|
||||
the <code><target></code> subelement, which
|
||||
is used to set the controller's "port" configuration value,
|
||||
which is visible to the virtual machine. If set, port must be
|
||||
between 0 and 255.
|
||||
</dd>
|
||||
</dl>
|
||||
<p>
|
||||
For machine types which provide an implicit PCI bus, the pci-root
|
||||
controller with index=0 is auto-added and required to use PCI devices.
|
||||
@@ -3086,6 +3198,35 @@
|
||||
auto-determined by libvirt will be placed on this pci-bridge
|
||||
device. (<span class="since">since 1.1.2</span>).
|
||||
</p>
|
||||
<p>
|
||||
Domains with an implicit pcie-root can also add controllers
|
||||
with <code>model='pcie-root-port'</code>,
|
||||
<code>model='pcie-switch-upstream-port'</code>,
|
||||
and <code>model='pcie-switch-downstream-port'</code>. pcie-root-port
|
||||
is a simple type of bridge device that can connect only to one
|
||||
of the 31 slots on the pcie-root bus on its upstream side, and
|
||||
makes a single (PCIe, hotpluggable) port available on the
|
||||
downstream side (at slot='0'). pcie-root-port can be used to
|
||||
provide a single slot to later hotplug a PCIe device (but is not
|
||||
itself hotpluggable - it must be in the configuration when the
|
||||
domain is started).
|
||||
(<span class="since">since 1.2.19</span>)
|
||||
</p>
|
||||
<p>
|
||||
pcie-switch-upstream-port is a more flexible (but also more
|
||||
complex) device that can only plug into a pcie-root-port or
|
||||
pcie-switch-downstream-port on the upstream side (and only
|
||||
before the domain is started - it is not hot-pluggable), and
|
||||
provides 32 ports on the downstream side (slot='0' - slot='31')
|
||||
that accept only pcie-switch-downstream-port devices; each
|
||||
pcie-switch-downstream-port device can only plug into a
|
||||
pcie-switch-upstream-port on its upstream side (again, not
|
||||
hot-pluggable), and on its downstream side provides a single
|
||||
hotpluggable pcie port that can accept any standard pci or pcie
|
||||
device (or another pcie-switch-upstream-port), i.e. identical in
|
||||
function to a pcie-root-port. (<span class="since">since
|
||||
1.2.19</span>)
|
||||
</p>
|
||||
<pre>
|
||||
...
|
||||
<devices>
|
||||
@@ -3355,8 +3496,8 @@
|
||||
(starting with 0x) or octal (starting with 0) form.
|
||||
For PCI devices the element carries 4 attributes allowing to designate
|
||||
the device as can be found with the <code>lspci</code> or
|
||||
with <code>virsh
|
||||
nodedev-list</code>. <a href="#elementsAddress">See above</a> for
|
||||
with <code>virsh nodedev-list</code>. For SCSI devices a 'drive'
|
||||
address type must be used. <a href="#elementsAddress">See above</a> for
|
||||
more details on the address element.</dd>
|
||||
<dt><code>driver</code></dt>
|
||||
<dd>
|
||||
@@ -4161,6 +4302,30 @@
|
||||
<source address='192.168.0.1' port='5558'/>
|
||||
</interface>
|
||||
</devices>
|
||||
...</pre>
|
||||
|
||||
<h5><a name="elementsNICSUDP">UDP unicast tunnel</a></h5>
|
||||
|
||||
<p>
|
||||
A UDP unicast architecture provides a virtual network which enables
|
||||
connections between QEMU instances using QEMU's UDP infrastructure.
|
||||
|
||||
The xml "source" address is the endpoint address to which the UDP socket
|
||||
packets will be sent from the host running QEMU.
|
||||
The xml "local" address is the address of the interface from which the
|
||||
UDP socket packets will originate from the QEMU host.
|
||||
<span class="since">Since 1.2.20</span></p>
|
||||
|
||||
<pre>
|
||||
...
|
||||
<devices>
|
||||
<interface type='udp'>
|
||||
<mac address='52:54:00:22:c9:42'/>
|
||||
<source address='127.0.0.1' port='11115'>
|
||||
<local address='127.0.0.1' port='11116'/>
|
||||
</source>
|
||||
</interface>
|
||||
</devices>
|
||||
...</pre>
|
||||
|
||||
<h5><a name="elementsNICSModel">Setting the NIC model</a></h5>
|
||||
@@ -4385,10 +4550,10 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<p>
|
||||
If no target is specified, certain hypervisors will
|
||||
automatically generate a name for the created tun device. This
|
||||
name can be manually specified, however the name <i>must not
|
||||
name can be manually specified, however the name <i>should not
|
||||
start with either 'vnet' or 'vif'</i>, which are prefixes
|
||||
reserved by libvirt and certain hypervisors. Manually specified
|
||||
targets using these prefixes will be ignored.
|
||||
targets using these prefixes may be ignored.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -4680,18 +4845,26 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<devices>
|
||||
<input type='mouse' bus='usb'/>
|
||||
<input type='keyboard' bus='usb'/>
|
||||
<input type='mouse' bus='virtio'/>
|
||||
<input type='keyboard' bus='virtio'/>
|
||||
<input type='tablet' bus='virtio'/>
|
||||
<input type='passthrough' bus='virtio'>
|
||||
<source evdev='/dev/input/event1/>
|
||||
</input>
|
||||
</devices>
|
||||
...</pre>
|
||||
|
||||
<dl>
|
||||
<dt><code>input</code></dt>
|
||||
<dd>The <code>input</code> element has one mandatory attribute,
|
||||
the <code>type</code> whose value can be 'mouse', 'tablet' or
|
||||
(<span class="since">since 1.2.2</span>) 'keyboard'.
|
||||
the <code>type</code> whose value can be 'mouse', 'tablet',
|
||||
(<span class="since">since 1.2.2</span>) 'keyboard' or
|
||||
(<span class="since">since 1.3.0</span>) 'passthrough'.
|
||||
The tablet provides absolute cursor movement,
|
||||
while the mouse uses relative movement. The optional
|
||||
<code>bus</code> attribute can be used to refine the exact device type.
|
||||
It takes values "xen" (paravirtualized), "ps2" and "usb".</dd>
|
||||
It takes values "xen" (paravirtualized), "ps2" and "usb" or
|
||||
(<span class="since">since 1.3.0</span>) "virtio".</dd>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
@@ -4699,6 +4872,10 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
sub-element <code><address></code> which can tie the
|
||||
device to a particular PCI
|
||||
slot, <a href="#elementsAddress">documented above</a>.
|
||||
|
||||
For type <code>passthrough</code>, the mandatory sub-element <code>source</code>
|
||||
must have an <code>evdev</code> attribute containing the absolute path to the
|
||||
event device passed through to guests. (KVM only)
|
||||
</p>
|
||||
|
||||
<h4><a name="elementsHub">Hub devices</a></h4>
|
||||
@@ -4757,7 +4934,8 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<dl>
|
||||
<dt><code>graphics</code></dt>
|
||||
<dd>The <code>graphics</code> element has a mandatory <code>type</code>
|
||||
attribute which takes the value "sdl", "vnc", "rdp" or "desktop":
|
||||
attribute which takes the value "sdl", "vnc", "spice", "rdp" or
|
||||
"desktop":
|
||||
<dl>
|
||||
<dt><code>"sdl"</code></dt>
|
||||
<dd>
|
||||
@@ -4867,6 +5045,7 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<clipboard copypaste='no'/>
|
||||
<mouse mode='client'/>
|
||||
<filetransfer enable='no'/>
|
||||
<gl enable='yes'/>
|
||||
</graphics></pre>
|
||||
<p>
|
||||
Spice supports variable compression settings for audio,
|
||||
@@ -4913,6 +5092,13 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<code>enable</code> property to <code>no</code> ,
|
||||
since <span class="since">since 1.2.2</span>.
|
||||
</p>
|
||||
<p>
|
||||
Spice may provide accelerated server-side rendering with
|
||||
OpenGL. You can enable or disable OpenGL support explicitly with
|
||||
the <code>gl</code> element, by setting the
|
||||
<code>enable</code> property. (QEMU
|
||||
only, <span class="since">since 1.3.2</span>).
|
||||
</p>
|
||||
</dd>
|
||||
<dt><code>"rdp"</code></dt>
|
||||
<dd>
|
||||
@@ -5032,30 +5218,33 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<p>
|
||||
The <code>model</code> element has a mandatory <code>type</code>
|
||||
attribute which takes the value "vga", "cirrus", "vmvga", "xen",
|
||||
"vbox", or "qxl" (<span class="since">since 0.8.6</span>) depending
|
||||
on the hypervisor features available.
|
||||
"vbox", "qxl" (<span class="since">since 0.8.6</span>) or
|
||||
"virtio" (<span class="since">since 1.3.0</span>)
|
||||
depending on the hypervisor features available.
|
||||
</p>
|
||||
<p>
|
||||
You can provide the amount of video memory in kibibytes (blocks of
|
||||
1024 bytes) using <code>vram</code>. This is supported only for guest
|
||||
type of "libxl", "parallels", "qemu", "vbox", "vmx" and "xen". If no
|
||||
type of "libxl", "vz", "qemu", "vbox", "vmx" and "xen". If no
|
||||
value is provided the default is used. If the size is not a power of
|
||||
two it will be rounded to closest one.
|
||||
</p>
|
||||
<p>
|
||||
The number of screen can be set using <code>heads</code>. This is
|
||||
supported only for guests type of "parallels", "kvm", "vbox" and "vmx".
|
||||
supported only for guests type of "vz", "kvm", "vbox" and "vmx".
|
||||
</p>
|
||||
<p>
|
||||
For guest type of kvm the optional attribute <code>ram</code>
|
||||
(<span class="since">since 1.0.2</span>) is allowed for "qxl" type
|
||||
only and specifies the size of the primary bar, while the optional
|
||||
For guest type of "kvm" or "qemu" and model type "qxl" there are
|
||||
optional attributes. Attribute <code>ram</code> (<span class="since">
|
||||
since 1.0.2</span>) specifies the size of the primary bar, while the
|
||||
attribute <code>vram</code> specifies the secondary bar size.
|
||||
If "ram" or "vram" are not supplied a default value is used. The ram
|
||||
should also be rounded to power of two as vram. There is also optional
|
||||
attribute <code>vgamem</code> (<span class="since">since 1.2.11 (QEMU
|
||||
only)</span>) to set the size of VGA framebuffer for fallback mode of
|
||||
QXL device.
|
||||
If <code>ram</code> or <code>vram</code> are not supplied a default
|
||||
value is used. The <code>ram</code> should also be rounded to power of
|
||||
two as <code>vram</code>. There is also optional attribute
|
||||
<code>vgamem</code> (<span class="since">since 1.2.11</span>) to set
|
||||
the size of VGA framebuffer for fallback mode of QXL device.
|
||||
Attribute <code>vram64</code> (<span class="since">since 1.3.3</span>)
|
||||
extends secondary bar and makes it addressable as 64bit memory.
|
||||
</p>
|
||||
</dd>
|
||||
|
||||
@@ -5093,7 +5282,7 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<target port='0'/>
|
||||
</serial>
|
||||
<serial type='file'>
|
||||
<source path='/tmp/file'>
|
||||
<source path='/tmp/file' append='on'>
|
||||
<seclabel model='dac' relabel='no'/>
|
||||
</source>
|
||||
<target port='0'/>
|
||||
@@ -5129,6 +5318,28 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
the per-domain setting</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If the interface <code>type</code> presented to the host is "file",
|
||||
then the <code>source</code> element may contain an optional attribute
|
||||
<code>append</code> that specifies whether or not the information in
|
||||
the file should be preserved on domain restart. Allowed values are
|
||||
"on" and "off" (default). <span class="since">Since 1.3.1</span>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Regardless of the <code>type</code>, character devices can
|
||||
have an optional log file associated with them. This is
|
||||
expressed via a <code>log</code> sub-element, with a
|
||||
<code>file</code> attribute. There can also be an <code>append</code>
|
||||
attribute which takes the same values described above.
|
||||
<span class="since">Since 1.3.3</span>.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
...
|
||||
<log file="/var/log/libvirt/qemu/guestname-serial0.log" append="off"/>
|
||||
...</pre>
|
||||
|
||||
<p>
|
||||
Each character device element has an optional
|
||||
sub-element <code><address></code> which can tie the
|
||||
@@ -5820,6 +6031,16 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<li>'xen' — default with Xen</li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt><code>autodeflate</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
The optional <code>autodeflate</code> attribute allows to
|
||||
enable/disable (values "on"/"off", respectively) the ability of the
|
||||
QEMU virtio memory balloon to release some memory at the last moment
|
||||
before a guest's process get killed by Out of Memory killer.
|
||||
<span class="since">Since 1.3.1, QEMU and KVM only</span>
|
||||
</p>
|
||||
</dd>
|
||||
<dt><code>period</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
@@ -5895,31 +6116,28 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
to be used for the domain. The source model is configured using the
|
||||
<code>model</code> attribute. Supported source models are:
|
||||
</p>
|
||||
<ul>
|
||||
<li>'random' — /dev/random (default) or /dev/hwrng
|
||||
device as source (for now, no other sources are permitted)</li>
|
||||
<li>'egd' — a EGD protocol backend</li>
|
||||
</ul>
|
||||
<dl>
|
||||
<dt><code>random</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This backend type expects a non-blocking character device as
|
||||
input. The file name is specified as contents of the
|
||||
<code>backend</code> element. When no file name is specified
|
||||
the hypervisor default is used. For qemu, the default is
|
||||
/dev/random
|
||||
</p>
|
||||
</dd>
|
||||
<dt><code>egd</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This backend connects to a source using the EGD protocol.
|
||||
The source is specified as a character device. Refer to
|
||||
<a href='#elementsCharHostInterface'>character device host interface</a>
|
||||
for more information.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dt><code>backend model='random'</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This backend type expects a non-blocking character device as input.
|
||||
The only accepted paths are /dev/random and /dev/hwrng. The file
|
||||
name is specified as contents of the <code>backend</code> element.
|
||||
When no file name is specified the hypervisor default is used.
|
||||
</p>
|
||||
</dd>
|
||||
<dt><code>backend model='egd'</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
This backend connects to a source using the EGD protocol.
|
||||
The source is specified as a character device. Refer to
|
||||
<a href='#elementsCharHostInterface'>character device host interface</a>
|
||||
for more information.
|
||||
</p>
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
<h4><a name="elementsTpm">TPM device</a></h4>
|
||||
@@ -6031,19 +6249,34 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
<pre>
|
||||
...
|
||||
<devices>
|
||||
<panic>
|
||||
<panic model='hyperv'/>
|
||||
<panic model='isa'>
|
||||
<address type='isa' iobase='0x505'/>
|
||||
</panic>
|
||||
</devices>
|
||||
...
|
||||
</pre>
|
||||
<dl>
|
||||
<dt><code>model</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
The optional <code>model</code> attribute specifies what type
|
||||
of panic device is provided. The panic model used when this attribute
|
||||
is missing depends on the hypervisor and guest arch.
|
||||
</p>
|
||||
<ul>
|
||||
<li>'isa' — for ISA pvpanic device</li>
|
||||
<li>'pseries' — default and valid only for pSeries guests.</li>
|
||||
<li>'hyperv' — for Hyper-V crash CPU feature.
|
||||
<span class="since">Since 1.3.0, QEMU and KVM only</span></li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt><code>address</code></dt>
|
||||
<dd>
|
||||
<p>
|
||||
address of panic. The default ioport is 0x505. Most users
|
||||
don't need to specify an address, and doing so is forbidden
|
||||
altogether for pSeries guests.
|
||||
altogether for pseries and hyperv models.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
@@ -6179,8 +6412,9 @@ qemu-kvm -net nic,model=? /dev/null
|
||||
added memory as a scaled integer.
|
||||
</p>
|
||||
<p>
|
||||
The mandatory <code>node</code> subelement configures the guest NUMA
|
||||
node to attach the memory to.
|
||||
The <code>node</code> subelement configures the guest NUMA node to
|
||||
attach the memory to. The element shall be used only if the guest has
|
||||
NUMA nodes configured.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
@@ -97,18 +97,38 @@
|
||||
<dd>
|
||||
This optional element can occur multiple times. If it
|
||||
exists, it has a mandatory <code>type</code> attribute
|
||||
which will be set to
|
||||
either <code>physical_function</code>
|
||||
or <code>virtual_functions</code>. If the type
|
||||
is <code>physical_function</code>, there will be a
|
||||
single <code>address</code> subelement which contains
|
||||
the PCI address of the SRIOV Physical Function (PF)
|
||||
that is the parent of this device (and this device is,
|
||||
by implication, an SRIOV Virtual Function (VF)). If
|
||||
the type is <code>virtual_functions</code>, then this
|
||||
device is an SRIOV PF, and the capability element will
|
||||
have a list of <code>address</code> subelements, one
|
||||
for each VF on this PF.
|
||||
which will be set to:
|
||||
<dl>
|
||||
<dt><code>physical_function</code></dt>
|
||||
<dd>
|
||||
That means there will be a single <code>address</code>
|
||||
subelement which contains the PCI address of the SRIOV
|
||||
Physical Function (PF) that is the parent of this device
|
||||
(and this device is, by implication, an SRIOV Virtual
|
||||
Function (VF)).
|
||||
</dd>
|
||||
<dt><code>virtual_function</code></dt>
|
||||
<dd>
|
||||
In this case this device is an SRIOV PF, and the capability
|
||||
element will have a list of <code>address</code>
|
||||
subelements, one for each VF on this PF. If the host system
|
||||
supports reporting it (via the "sriov_maxvfs" file in the
|
||||
device's sysfs directory) the capability element will also
|
||||
have an attribute named <code>maxCount</code> which is the
|
||||
maximum number of SRIOV VFs supported by this device, which
|
||||
could be higher than the number of VFs that are curently
|
||||
active <span class="since">since 1.3.0</span>; in this case,
|
||||
even if there are currently no active VFs the
|
||||
virtual_functions capabililty will still be shown.
|
||||
</dd>
|
||||
<dt><code>pci-bridge</code> or <code>cardbus-bridge</code></dt>
|
||||
<dd>
|
||||
This shows merely that the lower 7 bits of PCI header type
|
||||
have either value of 1 or 2 respectively. Usually this
|
||||
means such device cannot be used for PCI passthrough.
|
||||
<span class="since">Since 1.3.3</span>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dt><code>numa</code></dt>
|
||||
<dd>
|
||||
|
@@ -87,6 +87,14 @@
|
||||
</source>
|
||||
...</pre>
|
||||
|
||||
<pre>
|
||||
...
|
||||
<source>
|
||||
<device path='/dev/mapper/mpatha' part_separator='no'/>
|
||||
<format type='gpt'/>
|
||||
</source>
|
||||
...</pre>
|
||||
|
||||
<pre>
|
||||
...
|
||||
<source>
|
||||
@@ -118,10 +126,28 @@
|
||||
(pool types <code>fs</code>, <code>logical</code>, <code>disk</code>,
|
||||
<code>iscsi</code>, <code>zfs</code>).
|
||||
May be repeated multiple times depending on backend driver. Contains
|
||||
a single attribute <code>path</code> which is either the fully
|
||||
a required attribute <code>path</code> which is either the fully
|
||||
qualified path to the block device node or for <code>iscsi</code>
|
||||
the iSCSI Qualified Name (IQN).
|
||||
<span class="since">Since 0.4.1</span></dd>
|
||||
<span class="since">Since 0.4.1</span>
|
||||
<p>An optional attribute <code>part_separator</code> for each
|
||||
<code>path</code> may be supplied. Valid values for the attribute
|
||||
may be either "yes" or "no". This attribute is to be used for a
|
||||
<code>disk</code> pool type using a <code>path</code> to a
|
||||
device mapper multipath device configured to utilize either
|
||||
'user_friendly_names' or a custom 'alias' name in the
|
||||
/etc/multipath.conf. The attribute directs libvirt to not
|
||||
generate device volume names with the partition character "p".
|
||||
By default, when libvirt generates the partition names for
|
||||
device mapper multipath devices it will add a "p" path separator
|
||||
to the device name before adding the partition number. For example,
|
||||
a <code>device path</code> of '/dev/mapper/mpatha' libvirt would
|
||||
generate partition names of '/dev/mapper/mpathap1',
|
||||
'/dev/mapper/mpathap2', etc. for each partition found. With
|
||||
this attribute set to "no", libvirt will not append the "p" to
|
||||
the name unless it ends with a number thus generating names
|
||||
of '/dev/mapper/mpatha1', '/dev/mapper/mpatha2', etc.
|
||||
<span class="since">Since 1.3.1</span></p></dd>
|
||||
<dt><code>dir</code></dt>
|
||||
<dd>Provides the source for pools backed by directories (pool
|
||||
types <code>dir</code>, <code>netfs</code>, <code>gluster</code>),
|
||||
|
@@ -2,65 +2,32 @@ body {
|
||||
margin: 0em;
|
||||
padding: 0px;
|
||||
color: rgb(0,0,0);
|
||||
font-family: Verdana, Arial, Helvetica, sans-serif;
|
||||
font-size: smaller;
|
||||
font-family: sans-serif;
|
||||
font-size: 90%;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
p, ul, ol, dl {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
ol,ul {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
ol,ul,dl,p {
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
p:first-line {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
div.body p:first-letter {
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
font-weight: bold;
|
||||
margin: 0px;
|
||||
p, ul, ol, dl {
|
||||
padding: 0px;
|
||||
margin-top: 0.5em;
|
||||
margin: 0px;
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
div.footer {
|
||||
p {
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
}
|
||||
h2 {
|
||||
font-size: 1.6em;
|
||||
}
|
||||
h3 {
|
||||
font-size: 1.4em;
|
||||
}
|
||||
h4 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1em;
|
||||
}
|
||||
h6 {
|
||||
font-size: 0.8em;
|
||||
ul, ol {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
dl dt {
|
||||
dt {
|
||||
margin-left: 1em;
|
||||
margin-right: 2em;
|
||||
}
|
||||
@@ -70,3 +37,41 @@ dl dd {
|
||||
margin-right: 2em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-weight: bold;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
margin-bottom: 0.25em;
|
||||
border-bottom: 1px solid #aaa;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-top: 0em;
|
||||
font-size: 1.6em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top: 1.0em;
|
||||
font-size: 1.4em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-top: 1.0em;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
h4 {
|
||||
margin-top: 1.0em;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
h5 {
|
||||
margin-top: 0.75em;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
h6 {
|
||||
margin-top: 0.75em;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
@@ -72,7 +72,7 @@
|
||||
The <a href="http://libvirt.org/drvphyp.html">IBM PowerVM</a> hypervisor
|
||||
</li>
|
||||
<li>
|
||||
The <a href="http://libvirt.org/drvparallels.html">Parallels</a> hypervisor
|
||||
The <a href="http://libvirt.org/drvvirtuozzo.html">Virtuozzo</a> hypervisor
|
||||
</li>
|
||||
<li>
|
||||
The <a href="http://libvirt.org/drvbhyve.html">Bhyve</a> hypervisor
|
||||
|
@@ -68,8 +68,8 @@
|
||||
There is now a high level API that provides a safe and
|
||||
flexible way to spawn commands, which prevents the most
|
||||
common errors & is easy to code against. This
|
||||
code is provided in the <code>src/util/command.h</code>
|
||||
header which can be imported using <code>#include "command.h"</code>
|
||||
code is provided in the <code>src/util/vircommand.h</code>
|
||||
header which can be imported using <code>#include "vircommand.h"</code>
|
||||
</p>
|
||||
|
||||
<h3><a name="initial">Defining commands in libvirt</a></h3>
|
||||
|
@@ -1,12 +1,4 @@
|
||||
h1 {
|
||||
font-weight: normal;
|
||||
color: #3c857c;
|
||||
}
|
||||
h1 strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: #3c857c;
|
||||
}
|
||||
|
||||
@@ -55,12 +47,6 @@ h2, h3, h4, h5, h6 {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
border: 0px;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
#menu li ul li {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
#menu ul li a, #menu ul li span {
|
||||
@@ -94,6 +80,7 @@ h2, h3, h4, h5, h6 {
|
||||
#menu ul.l1 li .inactive {
|
||||
border-left: 6px solid #dfebea;
|
||||
}
|
||||
|
||||
#menu ul.l1 li .active {
|
||||
border-left: 6px solid #a5c6c2;
|
||||
}
|
||||
@@ -109,7 +96,6 @@ h2, h3, h4, h5, h6 {
|
||||
padding-left: 3em;
|
||||
}
|
||||
|
||||
|
||||
#headerLogo {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
@@ -118,6 +104,7 @@ h2, h3, h4, h5, h6 {
|
||||
width: 400px;
|
||||
background: url(libvirt-header-logo.png);
|
||||
}
|
||||
|
||||
#headerSearch {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
@@ -142,7 +129,6 @@ h2, h3, h4, h5, h6 {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
|
||||
#sitemap ul li {
|
||||
list-style: none;
|
||||
}
|
||||
@@ -177,7 +163,6 @@ a {
|
||||
color: #566866;
|
||||
}
|
||||
|
||||
|
||||
div.api {
|
||||
border: 1px solid #999999;
|
||||
background: #eeeeee;
|
||||
@@ -203,7 +188,6 @@ div.api table td, div.variablelist table td {
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
|
||||
h1 a, h2 a, h3 a, h4 a, h5 a {
|
||||
color: inherit;
|
||||
text-decoration: inherit;
|
||||
@@ -243,36 +227,6 @@ p.image {
|
||||
background: #c5dbd8;
|
||||
}
|
||||
|
||||
#footer {
|
||||
clear: both;
|
||||
position: relative;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px;
|
||||
width: 100%;
|
||||
height: 180px;
|
||||
background: #FFFFFF;
|
||||
/* background: #757575; */
|
||||
}
|
||||
/* This is hidden from IE <= 6 because it can't do transparency */
|
||||
/* body > #footer {
|
||||
background: #757575 url(footer_pattern.png) repeat-x;
|
||||
} */
|
||||
|
||||
#footer p {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
margin: 0px;
|
||||
border: 0px solid red;
|
||||
width: 220px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#footer p a img {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
#projects {
|
||||
margin: 0px;
|
||||
border: 0px;
|
||||
@@ -282,7 +236,6 @@ p.image {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
#projects dl {
|
||||
margin: 0px;
|
||||
border: 0px solid white;
|
||||
@@ -291,10 +244,6 @@ p.image {
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
}
|
||||
/* This is hidden from IE <= 6 because it can't do transparency */
|
||||
head:first-child+body #projects dl {
|
||||
background: url(footer_corner.png) no-repeat ! important;
|
||||
}
|
||||
|
||||
#projects #p1 {
|
||||
margin-left: 25%;
|
||||
@@ -319,16 +268,15 @@ head:first-child+body #projects dl {
|
||||
#projects #p1 dt, #projects #p1 dd {
|
||||
width: 33%;
|
||||
}
|
||||
|
||||
#projects #p2 dt, #projects #p2 dd {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
#projects #p3 dt, #projects #p3 dd {
|
||||
width: 99%;
|
||||
}
|
||||
|
||||
#projects {
|
||||
}
|
||||
|
||||
#projects span {
|
||||
font-size: 0.8em;
|
||||
display: block;
|
||||
@@ -352,13 +300,6 @@ head:first-child+body #projects dl {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
|
||||
#sponsor {
|
||||
color: #757575;
|
||||
text-decoration: inherit;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
span.since {
|
||||
color: #3c857c;
|
||||
font-style: italic;
|
||||
@@ -404,6 +345,7 @@ table.data tr.head th {
|
||||
table.data tbody td {
|
||||
background: rgb(240,240,240);
|
||||
}
|
||||
|
||||
table.data tbody td.y {
|
||||
background: rgb(220,255,220);
|
||||
text-align: center;
|
||||
|
@@ -104,12 +104,15 @@
|
||||
<pre>
|
||||
x:name (log message only)
|
||||
x:+name (log message + stack trace)</pre>
|
||||
<p>where <code>name</code> is a string which is matched against source
|
||||
file name, e.g., <code>remote</code>, <code>qemu</code>, or
|
||||
<code>util/json</code>, the optional <code>+</code> prefix tells libvirt
|
||||
to log stack trace for each message matching <code>name</code>, and
|
||||
<code>x</code> is the minimal level where matching messages should
|
||||
be logged:</p>
|
||||
<p>where <code>name</code> is a string which is matched against
|
||||
the category given in the VIR_LOG_INIT() at the top of each
|
||||
libvirt source file, e.g., <code>remote</code>, <code>qemu</code>,
|
||||
or <code>util.json</code> (the name in the filter can be a
|
||||
substring of the full category name, in order to match multiple
|
||||
similar categories), the optional <code>+</code> prefix tells
|
||||
libvirt to log stack trace for each message
|
||||
matching <code>name</code>, and <code>x</code> is the minimal
|
||||
level where matching messages should be logged:</p>
|
||||
<ul>
|
||||
<li>1: DEBUG</li>
|
||||
<li>2: INFO</li>
|
||||
|
@@ -475,7 +475,7 @@
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Supported by Xen, QEMU, VMWare and VirtualBox drivers
|
||||
Supported by Xen, QEMU, VMware and VirtualBox drivers
|
||||
</p>
|
||||
|
||||
<h3><a name="scenarionativepeer2peer">Native migration, client to and peer2peer between, two libvirtd servers</a></h3>
|
||||
|
28
docs/news-2005.html.in
Normal file
28
docs/news-2005.html.in
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Releases (2005)</h1>
|
||||
<p>Here is the list of official releases made during the year 2005.
|
||||
</p>
|
||||
<p>It is also possible to just use
|
||||
the <a href="downloads.html" shape="rect">GIT version or snapshot</a>,
|
||||
contact the mailing list and check
|
||||
the <a href="http://libvirt.org/git/?p=libvirt.git;a=log" shape="rect">GIT log</a>
|
||||
to gauge progress.
|
||||
</p>
|
||||
|
||||
<h3>0.0.1: Dec 19 2005</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
First release,<br/>
|
||||
Basic management of existing Xen domains,<br/>
|
||||
Minimal autogenerated Python bindings<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
354
docs/news-2006.html.in
Normal file
354
docs/news-2006.html.in
Normal file
@@ -0,0 +1,354 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Releases (2006)</h1>
|
||||
<p>Here is the list of official releases made during the year 2006.
|
||||
A similar list for <a href="news-2005.html">2005</a> is also available.
|
||||
</p>
|
||||
<p>It is also possible to just use
|
||||
the <a href="downloads.html" shape="rect">GIT version or snapshot</a>,
|
||||
contact the mailing list and check
|
||||
the <a href="http://libvirt.org/git/?p=libvirt.git;a=log" shape="rect">GIT log</a>
|
||||
to gauge progress.
|
||||
</p>
|
||||
|
||||
<h3>0.1.10: Dec 20 2006</h3>
|
||||
<ul>
|
||||
<li>Bug Fixes:<br/>
|
||||
VCPU info breakages on xen 3.0.3,<br/>
|
||||
xenDaemonListDomains buffer overflow (Daniel Berrange),<br/>
|
||||
reference count bug when creating Xen domains (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
more localizations,<br/>
|
||||
support graphic framebuffer for Xen paravirt (Daniel Berrange),<br/>
|
||||
VNC listen IP range support (Daniel Berrange),<br/>
|
||||
support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.9: Nov 29 2006</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
separate the notion of maximum memory and current use at the XML level,<br/>
|
||||
add support for shareable drives,<br/>
|
||||
add support for non-bridge style networking configs for guests (Daniel Berrange),<br/>
|
||||
new config APIs virConfNew() and virConfSetValue() to build configs from scratch,<br/>
|
||||
hot plug device support based on Michel Ponceau patch,<br/>
|
||||
added support for inactive domains, new APIs, various associated cleanup (Daniel Berrange),<br/>
|
||||
special device model for HVM guests (Daniel Berrange),<br/>
|
||||
add API to dump core of domains (but requires a patched xend),<br/>
|
||||
pygrub bootloader information take over <os> information<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
fix OS reporting when running as non-root,<br/>
|
||||
fix the reconnect regression test,<br/>
|
||||
Fix a memory leak (Daniel Berrange),<br/>
|
||||
python bindings: fix unsigned long marshalling (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
python bindings: release interpeter lock when calling C (Daniel Berrange),<br/>
|
||||
don't raise HTTP error when looking information for a domain,<br/>
|
||||
better error reporting (Daniel Berrange),<br/>
|
||||
provide XML parsing errors,<br/>
|
||||
extension of the test framework (Daniel Berrange),<br/>
|
||||
python bindings: Domain instances now link to the Connect to avoid garbage collection and disconnect,<br/>
|
||||
updated the localization strings<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
some refactoring to use the driver for all entry points<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.8: Oct 16 2006</h3>
|
||||
<ul>
|
||||
<li>Documentation:<br/>
|
||||
fix virsh man page (Noriko Mizumoto)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
Bug for system with page size != 4k,<br/>
|
||||
memory leak fixes (xend interface and XML parsing) (Daniel Berrange),<br/>
|
||||
compile fix,<br/>
|
||||
mlock/munlock size fixes (Daniel Berrange),<br/>
|
||||
don't label crashed domains as shut off (Peter Vetere)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
vcpu number initialization (Philippe Berthault),<br/>
|
||||
blktapdd support for alternate drivers like blktap (Daniel Berrange),<br/>
|
||||
improve error reporting<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.7: Sep 29 2006</h3>
|
||||
<ul>
|
||||
<li>Bug Fixes:<br/>
|
||||
fix a memory bug on getting vcpu information from xend (Daniel Berrange),<br/>
|
||||
fix another problem in the hypercalls change in Xen changeset 86d26e6ec89b when getting domain information (Daniel Berrange)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.6: Sep 22 2006</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Support for localization of strings using gettext (Daniel Berrange),<br/>
|
||||
Support for new Xen-3.0.3 cdrom and disk configuration (Daniel Berrange),<br/>
|
||||
Support for setting VNC port when creating domains with new xend config files (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
Fix bug when running against xen-3.0.2 hypercalls (Jim Fehlig),<br/>
|
||||
Fix reconnection problem when talking directly to http xend<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.5: Sep 05 2006</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Support for new hypercalls change in Xen changeset 86d26e6ec89b<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
virParseUUID() was wrong,<br/>
|
||||
networking for paravirt guests (Daniel Berrange),<br/>
|
||||
virsh on non-existent domains (Daniel Berrange),<br/>
|
||||
string cast bug when handling error in python (Pete Vetere),<br/>
|
||||
HTTP 500 xend error code handling (Pete Vetere and Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
test suite for SEXPR <-> XML format conversions (Daniel Berrange),<br/>
|
||||
virsh output regression suite (Daniel Berrange),<br/>
|
||||
new environ variable VIRSH_DEFAULT_CONNECT_URI for the default URI when connecting (Daniel Berrange),<br/>
|
||||
graphical console support for paravirt guests (Jeremy Katz),<br/>
|
||||
parsing of simple Xen config files (with Daniel Berrange),<br/>
|
||||
early work on defined (not running) domains (Daniel Berrange),<br/>
|
||||
virsh output improvement (Daniel Berrange)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.4: Aug 16 2006</h3>
|
||||
<ul>
|
||||
<li>Documentation:<br/>
|
||||
spelling (Daniel Berrange),<br/>
|
||||
test driver examples<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
spec file fix (Mark McLoughlin),<br/>
|
||||
error report problem (with Hugh Brock),<br/>
|
||||
long integer in Python bindings (with Daniel Berrange),<br/>
|
||||
XML generation bug for CDRom (Daniel Berrange),<br/>
|
||||
bug whem using number() XPath function (Mark McLoughlin),<br/>
|
||||
fix python detection code,<br/>
|
||||
remove duplicate initialization errors (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
UUID in XML description (Peter Vetere),<br/>
|
||||
proxy code cleanup,<br/>
|
||||
virtual CPU and affinity support + virsh support (Michel Ponceau, Philippe Berthault, Daniel Berrange),<br/>
|
||||
port and tty information for console in XML (Daniel Berrange),<br/>
|
||||
added XML dump to driver and proxy support (Daniel Berrange),<br/>
|
||||
extension of boot options with support for floppy and cdrom (Daniel Berrange),<br/>
|
||||
features block in XML to report/ask PAE, ACPI, APIC for HVM domains (Daniel Berrange),<br/>
|
||||
fail saide-effect operations when using read-only connection,<br/>
|
||||
large improvements to test driver (Daniel Berrange)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.3: Jul 11 2006</h3>
|
||||
<ul>
|
||||
<li>Documentation:<br/>
|
||||
augmented to cover hvm domains<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
build as non-root,<br/>
|
||||
fix xend access when root,<br/>
|
||||
handling of empty XML elements (Mark McLoughlin),<br/>
|
||||
XML serialization and parsing fixes (Mark McLoughlin),<br/>
|
||||
allow to create domains without disk (Mark McLoughlin)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange),<br/>
|
||||
support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.2: Jul 03 2006</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
proxy mechanism for unprivileged read-only access by http<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
headers include paths fixup<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.1: Jun 21 2006</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Cope with API change introduced in Xen changeset 10277,<br/>
|
||||
new test driver for regression checks (Daniel P. Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
Python examples (David Lutterkort),<br/>
|
||||
new Perl binding URL,<br/>
|
||||
man page update (Karel Zak)<br/>
|
||||
</li>
|
||||
|
||||
<li>Portability:<br/>
|
||||
ncurses fallback (Jim Fehlig),<br/>
|
||||
VPATH builds (Daniel P. Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
uninitialized memory access in error reporting,<br/>
|
||||
S-Expr parsing (Jim Fehlig, Jeremy Katz),<br/>
|
||||
virConnectOpen bug,<br/>
|
||||
remove a TODO in xs_internal.c<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
added UUID to XML serialization,<br/>
|
||||
buffer usage (Karel Zak),<br/>
|
||||
--connect argument to virsh (Daniel P. Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
new entry points,<br/>
|
||||
cleanup of libvirt.c (with Daniel P. Berrange)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.0: Apr 10 2006</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
new APIs for Node information and Reboot<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
updates on architecture and format,<br/>
|
||||
typo fix (Jim Meyering),<br/>
|
||||
virsh: man page (Andrew Puch)<br/>
|
||||
</li>
|
||||
|
||||
<li>Portability:<br/>
|
||||
--with-xen-distdir option (Ronald Aigner),<br/>
|
||||
out of tree build and pkginfo cflag fix (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
error message (Jim Meyering),<br/>
|
||||
error allocation in virsh (Jim Meyering),<br/>
|
||||
virDomainLookupByID (Jim Fehlig)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
enhancement and fixes of the XML description format (David Lutterkort and Jim Fehlig),<br/>
|
||||
virsh: more options, create, nodeinfo (Karel Zak),<br/>
|
||||
virsh: renaming of some options (Karel Zak),<br/>
|
||||
virsh: use stderr only for errors (Karel Zak),<br/>
|
||||
bindings: exception handling in examples (Jim Meyering),<br/>
|
||||
bindings: perl ones out of tree (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
refactoring internals into a driver model,<br/>
|
||||
more error handling,<br/>
|
||||
structure sharing,<br/>
|
||||
thread safety and ref counting<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.0.6: Feb 28 2006</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
add UUID lookup and extract API,<br/>
|
||||
add error handling APIs both synchronous and asynchronous,<br/>
|
||||
added minimal hook for error handling at the python level<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
augment the documentation and tests to cover error handling<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
improved the python bindings<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.0.5: Feb 23 2006</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Added XML description parsing, dependance to libxml2, implemented the creation API virDomainCreateLinux(),<br/>
|
||||
new APIs to lookup and name domain by UUID,<br/>
|
||||
Adding regression tests in python and examples in C,<br/>
|
||||
Added devhelp help for Gnome/Gtk programmers,<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
web site improvement, extended the documentation to cover the XML format and Python API<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
fixed the XML dump when using the Xend access,<br/>
|
||||
Fixed a few more problem related to the name change<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.0.4: Feb 10 2006</h3>
|
||||
<ul>
|
||||
<li>Bug Fixes:<br/>
|
||||
Fix various bugs introduced in the name change<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.0.3: Feb 09 2006</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Switch name from 'libvir' to libvirt,<br/>
|
||||
Starting infrastructure to add code examples<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
Update of python bindings for completeness<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.0.2: Jan 29 2006</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
integration of HTTP xend RPC based on libxend by Anthony Liquori for most operations,<br/>
|
||||
Adding Save and Restore APIs<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
Update of the documentation, web site redesign (Diana Fong)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
fix the Python bindings bug when domain and connections where freed<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
extended the virsh command line tool (Karel Zak),<br/>
|
||||
remove xenstore transactions (Anthony Liguori)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
534
docs/news-2007.html.in
Normal file
534
docs/news-2007.html.in
Normal file
@@ -0,0 +1,534 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Releases (2007)</h1>
|
||||
<p>Here is the list of official releases made during the year 2007.
|
||||
A similar list for <a href="news-2006.html">2006</a> is also available.
|
||||
</p>
|
||||
<p>It is also possible to just use
|
||||
the <a href="downloads.html" shape="rect">GIT version or snapshot</a>,
|
||||
contact the mailing list and check
|
||||
the <a href="http://libvirt.org/git/?p=libvirt.git;a=log" shape="rect">GIT log</a>
|
||||
to gauge progress.
|
||||
</p>
|
||||
|
||||
<h3>0.4.0: Dec 18 2007</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Compilation on Windows cygwin/mingw (Richard Jones),<br/>
|
||||
Ruby bindings (David Lutterkort),<br/>
|
||||
SASL based authentication for libvirt remote support (Daniel Berrange),<br/>
|
||||
PolicyKit authentication (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
example files for QEMU and libvirtd configuations (Daniel Berrange),<br/>
|
||||
english cleanups (Jim Paris),<br/>
|
||||
CIM and OpenVZ references,<br/>
|
||||
document <shareable/>,<br/>
|
||||
daemon startup when using QEMU/KVM,<br/>
|
||||
document HV support for new NUMA calls (Richard Jones),<br/>
|
||||
various english fixes (Bruce Montague),<br/>
|
||||
OCaml docs links (Richard Jones),<br/>
|
||||
describe the various bindings add Ruby link,<br/>
|
||||
Windows support page (Richard Jones),<br/>
|
||||
authentication documentation updates (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
NUMA topology error handling (Beth Kon),<br/>
|
||||
NUMA topology cells without CPU (Beth Kon),<br/>
|
||||
XML to/from XM bridge config (Daniel Berrange),<br/>
|
||||
XM processing of vnc parameters (Daniel Berrange),<br/>
|
||||
Reset migration source after failure (Jim Paris),<br/>
|
||||
negative integer in config (Tatsuro Enokura),<br/>
|
||||
zero terminating string buffer,<br/>
|
||||
detect integer overflow (Jim Meyering),<br/>
|
||||
QEmu command line ending fixes (Daniel Berrange),<br/>
|
||||
recursion problem in the daemon (Daniel Berrange),<br/>
|
||||
HVM domain with CDRom (Masayuki Sunou),<br/>
|
||||
off by one error in NUMA cpu count (Beth Kon),<br/>
|
||||
avoid xend errors when adding disks (Masayuki Sunou),<br/>
|
||||
compile error (Chris Lalancette),<br/>
|
||||
transposed fwrite args (Jim Meyering),<br/>
|
||||
compile without xen and on solaris (Jim Paris),<br/>
|
||||
parsing of interface names (Richard Jones),<br/>
|
||||
overflow for starts on 32bits (Daniel Berrange),<br/>
|
||||
fix problems in error reporting (Saori Fukuta),<br/>
|
||||
wrong call to brSetForwardDelay changed to brSetEnableSTP (Richard Jones),<br/>
|
||||
allow shareable disk in old Xen,<br/>
|
||||
fix wrong certificate file (Jim Meyering),<br/>
|
||||
avoid some startup error when non-root,<br/>
|
||||
off-by-1 buffer NULL termination (Daniel Berrange),<br/>
|
||||
various string allocation fixes (Daniel Berrange),<br/>
|
||||
avoid problems with vnetXXX interfaces in domain dumps (Daniel Berrange),<br/>
|
||||
build fixes for RHEL (Daniel Berrange),<br/>
|
||||
virsh prompt should not depend on uid (Richard Jones),<br/>
|
||||
fix scaping of '<' (Richard Jones),<br/>
|
||||
fix detach-disk on Xen tap devices (Saori Fukuta),<br/>
|
||||
CPU parameter setting in XM config (Saori Fukuta),<br/>
|
||||
credential handling fixes (Daniel Berrange),<br/>
|
||||
fix compatibility with Xen 3.2.0 (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
/etc/libvirt/qemu.conf configuration for QEMU driver (Daniel Berrange),<br/>
|
||||
NUMA cpu pinning in config files (DV and Saori Fukuta),<br/>
|
||||
CDRom media change in KVM/QEMU (Daniel Berrange),<br/>
|
||||
tests for <shareable/> in configs,<br/>
|
||||
pinning inactive domains for Xen 3.0.3 (Saori Fukuta),<br/>
|
||||
use gnulib for portability enhancement (Jim Meyering),<br/>
|
||||
--without-libvirtd config option (Richard Jones),<br/>
|
||||
Python bindings for NUMA,<br/>
|
||||
add extra utility functions to buffer (Richard Jones),<br/>
|
||||
separate qparams module for handling query parameters (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
remove virDomainRestart from API as it was never used (Richard Jones),<br/>
|
||||
constify params for attach/detach APIs (Daniel Berrange),<br/>
|
||||
gcc printf attribute checkings (Jim Meyering),<br/>
|
||||
refactoring of device parsing code and shell escaping (Daniel Berrange),<br/>
|
||||
virsh schedinfo parameters validation (Masayuki Sunou),<br/>
|
||||
Avoid risk of format string abuse (Jim Meyering),<br/>
|
||||
integer parsing cleanups (Jim Meyering),<br/>
|
||||
build out of the source tree (Jim Meyering),<br/>
|
||||
URI parsing refactoring (Richard Jones),<br/>
|
||||
failed strdup/malloc handling (Jim Meyering),<br/>
|
||||
Make "make distcheck" work (Jim Meyering),<br/>
|
||||
improve xen internall error reports (Richard Jones),<br/>
|
||||
cleanup of the daemon remote code (Daniel Berrange),<br/>
|
||||
rename error VIR_FROM_LINUX to VIR_FROM_STATS_LINUX (Richard Jones),<br/>
|
||||
don't compile the proxy if without Xen (Richard Jones),<br/>
|
||||
fix paths when configuring for /usr prefix,<br/>
|
||||
improve error reporting code (Jim Meyering),<br/>
|
||||
detect heap allocation failure (Jim Meyering),<br/>
|
||||
disable xen sexpr parsing code if Xen is disabled (Daniel Berrange),<br/>
|
||||
cleanup of the GetType entry point for Xen drivers,<br/>
|
||||
move some QEmu path handling to generic module (Daniel Berrange),<br/>
|
||||
many code cleanups related to the Windows port (Richard Jones),<br/>
|
||||
disable the proxy if using PolicyKit,<br/>
|
||||
readline availability detection,<br/>
|
||||
test libvirtd's config-processing code (Jim Meyering),<br/>
|
||||
use a variable name as sizeof argument (Jim Meyering)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.3.3: Sep 30 2007</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Avahi mDNS daemon export (Daniel Berrange),<br/>
|
||||
NUMA support (Beth Kan)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
cleanups (Toth Istvan),<br/>
|
||||
typos (Eduardo Pereira)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
memory corruption on large dumps (Masayuki Sunou),<br/>
|
||||
fix virsh vncdisplay command exit (Masayuki Sunou),<br/>
|
||||
Fix network stats TX/RX result (Richard Jones),<br/>
|
||||
warning on Xen 3.0.3 (Richard Jones),<br/>
|
||||
missing buffer check in virDomainXMLDevID (Hugh Brock),<br/>
|
||||
avoid zombies when using remote (Daniel Berrange),<br/>
|
||||
xend connection error message (Richard Jones),<br/>
|
||||
avoid ssh tty prompt (Daniel Berrange),<br/>
|
||||
username handling for remote URIs (Fabian Deutsch),<br/>
|
||||
fix potential crash on multiple input XML tags (Daniel Berrange),<br/>
|
||||
Solaris Xen hypercalls fixup (Mark Johnson)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
OpenVZ support (Shuveb Hussain and Anoop Cyriac),<br/>
|
||||
CD-Rom reload on XEn (Hugh Brock),<br/>
|
||||
PXE boot got QEmu/KVM (Daniel Berrange),<br/>
|
||||
QEmu socket permissions customization (Daniel Berrange),<br/>
|
||||
more QEmu support (Richard Jones),<br/>
|
||||
better path detection for qemu and dnsmasq (Richard Jones),<br/>
|
||||
QEmu flags are per-Domain (Daniel Berrange),<br/>
|
||||
virsh freecell command,<br/>
|
||||
Solaris portability fixes (Mark Johnson),<br/>
|
||||
default bootloader support (Daniel Berrange),<br/>
|
||||
new virNodeGetFreeMemory API,<br/>
|
||||
vncpasswd extraction in configuration files if secure (Mark Johnson and Daniel Berrange),<br/>
|
||||
Python bindings for block and interface statistics<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
virDrvOpenRemoteFlags definition (Richard Jones),<br/>
|
||||
configure tests and output (Daniel Berrange)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.3.2: Aug 21 2007</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
KVM migration and save/restore (Jim Paris),<br/>
|
||||
added API for migration (Richard Jones),<br/>
|
||||
added APIs for block device and interface statistic (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
examples for XML network APIs,<br/>
|
||||
fix typo and schedinfo synopsis in man page (Atsushi SAKAI),<br/>
|
||||
hypervisor support page update (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
remove a couple of leaks in QEmu/KVM backend (Daniel berrange),<br/>
|
||||
fix GnuTLS 1.0 compatibility (Richard Jones),<br/>
|
||||
--config/-f option mistake for libvirtd (Richard Jones),<br/>
|
||||
remove leak in QEmu backend (Jim Paris),<br/>
|
||||
fix some QEmu communication bugs (Jim Paris),<br/>
|
||||
UUID lookup though proxy fix,<br/>
|
||||
setvcpus checking bugs (with Atsushi SAKAI),<br/>
|
||||
int checking in virsh parameters (with Masayuki Sunou),<br/>
|
||||
deny devices attach/detach for < Xen 3.0.4 (Masayuki Sunou),<br/>
|
||||
XenStore query memory leak (Masayuki Sunou),<br/>
|
||||
virsh schedinfo cleanup (Saori Fukuta)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
virsh new ttyconsole command,<br/>
|
||||
networking API implementation for test driver (Daniel berrange),<br/>
|
||||
qemu/kvm feature reporting of ACPI/APIC (David Lutterkort),<br/>
|
||||
checking of QEmu architectures (Daniel berrange),<br/>
|
||||
improve devices XML errors reporting (Masayuki Sunou),<br/>
|
||||
speedup of domain queries on Xen (Daniel berrange),<br/>
|
||||
augment XML dumps with interface devices names (Richard Jones),<br/>
|
||||
internal API to query drivers for features (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
Improve virNodeGetInfo implentation (Daniel berrange),<br/>
|
||||
general UUID code cleanup (Daniel berrange),<br/>
|
||||
fix API generator file selection<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.3.1: Jul 24 2007</h3>
|
||||
<ul>
|
||||
<li>Documentation:<br/>
|
||||
index to remote page,<br/>
|
||||
script to test certificates,<br/>
|
||||
IPv6 remote support docs (Daniel Berrange),<br/>
|
||||
document VIRSH_DEFAULT_CONNECT_URI in virsh man page (David Lutterkort),<br/>
|
||||
Relax-NG early grammar for the network XML (David Lutterkort)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
leaks in disk XML parsing (Masayuki Sunou),<br/>
|
||||
hypervisor alignment call problems on PPC64 (Christian Ehrhardt),<br/>
|
||||
dead client registration in daemon event loop (Daniel Berrange),<br/>
|
||||
double free in error handling (Daniel Berrange),<br/>
|
||||
close on exec for log file descriptors in the daemon (Daniel Berrange),<br/>
|
||||
avoid caching problem in remote daemon (Daniel Berrange),<br/>
|
||||
avoid crash after QEmu domain failure (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
checks of x509 certificates and keys (Daniel Berrange),<br/>
|
||||
error reports in the daemon (Daniel Berrange),<br/>
|
||||
checking of Ethernet MAC addresses in XML configs (Masayuki Sunou),<br/>
|
||||
support for a new clock switch between UTC and localtime (Daniel Berrange),<br/>
|
||||
early version of OpenVZ support (Shuveb Hussain),<br/>
|
||||
support for input devices on PS/2 and USB buses (Daniel Berrange),<br/>
|
||||
more tests especially the QEmu support (Daniel Berrange),<br/>
|
||||
range check in credit scheduler (with Saori Fukuta and Atsushi Sakai),<br/>
|
||||
add support for listen VNC parameter un QEmu and fix command line arg (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
debug tracing (Richard Jones),<br/>
|
||||
removal of --with-qemud-pid-file (Richard Jones),<br/>
|
||||
remove unused virDeviceMode,<br/>
|
||||
new util module for code shared between drivers (Shuveb Hussain),<br/>
|
||||
xen header location detection (Richard Jones)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.3.0: Jul 09 2007</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Secure Remote support (Richard Jones).
|
||||
See <a href="http://libvirt.org/remote.html">the remote page</a> of the documentation<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
remote support (Richard Jones),<br/>
|
||||
description of the URI connection strings (Richard Jones),<br/>
|
||||
update of virsh man page,<br/>
|
||||
matrix of libvirt API/hypervisor support with version information (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
examples Makefile.am generation (Richard Jones),<br/>
|
||||
SetMem fix (Mark Johnson),<br/>
|
||||
URI handling and ordering of drivers (Daniel Berrange),<br/>
|
||||
fix virsh help without hypervisor (Richard Jones),<br/>
|
||||
id marshalling fix (Daniel Berrange),<br/>
|
||||
fix virConnectGetMaxVcpus on remote (Richard Jones),<br/>
|
||||
avoid a realloc leak (Jim Meyering),<br/>
|
||||
scheduler parameters handling for Xen (Richard Jones),<br/>
|
||||
various early remote bug fixes (Richard Jones),<br/>
|
||||
remove virsh leaks of domains references (Masayuki Sunou),<br/>
|
||||
configCache refill bug (Richard Jones),<br/>
|
||||
fix XML serialization bugs<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
QEmu switch to XDR-based protocol (Dan Berrange),<br/>
|
||||
device attach/detach commands (Masayuki Sunou),<br/>
|
||||
OCaml bindings (Richard Jones),<br/>
|
||||
new entry points virDomainGetConnect and virNetworkGetConnect useful for bindings (Richard Jones),<br/>
|
||||
reunitifaction of remote and qemu daemon under a single libvirtd with a config file (Daniel Berrange),<br/>
|
||||
Localization updates<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
parsing of connection URIs (Richard Jones),<br/>
|
||||
messages from virsh (Saori Fukuta),<br/>
|
||||
Coverage files (Daniel Berrange),<br/>
|
||||
Solaris fixes (Mark Johnson),<br/>
|
||||
avoid [r]index calls (Richard Jones),<br/>
|
||||
release information in Xen backend,<br/>
|
||||
virsh cpupin command cleanups (Masayuki Sunou),<br/>
|
||||
xen:/// support as standard Xen URI (Richard Jones and Daniel Berrange),<br/>
|
||||
improve driver selection/decline mechanism (Richard Jones),<br/>
|
||||
error reporting on XML dump (Richard Jones),<br/>
|
||||
Remove unused virDomainKernel structure (Richard Jones),<br/>
|
||||
daemon event loop event handling (Daniel Berrange),<br/>
|
||||
various unifications cleanup in the daemon merging (Daniel Berrange),<br/>
|
||||
internal file and timer monitoring API (Daniel Berrange),<br/>
|
||||
remove libsysfs dependancy,<br/>
|
||||
call brctl program directly (Daniel Berrange),<br/>
|
||||
virBuffer functions cleanups (Richard Jones),<br/>
|
||||
make init script LSB compliant,<br/>
|
||||
error handling on lookup functions (Richard Jones),<br/>
|
||||
remove internal virGetDomainByID (Richard Jones),<br/>
|
||||
revamp of xen subdrivers interfaces (Richard Jones)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.2.3: Jun 08 2007</h3>
|
||||
<ul>
|
||||
<li>Documentation:<br/>
|
||||
documentation for upcoming remote access (Richard Jones),<br/>
|
||||
virConnectNumOfDefinedDomains doc (Jan Michael),<br/>
|
||||
virsh help messages for dumpxml and net-dumpxml (Chris Wright)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
RelaxNG schemas regexp fix (Robin Green),<br/>
|
||||
RelaxNG arch bug (Mark McLoughlin),<br/>
|
||||
large buffers bug fixes (Shigeki Sakamoto),<br/>
|
||||
error on out of memory condition (Shigeki Sakamoto),<br/>
|
||||
virshStrdup fix,<br/>
|
||||
non-root driver when using Xen bug (Richard Jones),<br/>
|
||||
use --strict-order when running dnsmasq (Daniel Berrange),<br/>
|
||||
virbr0 weirdness on restart (Mark McLoughlin),<br/>
|
||||
keep connection error messages (Richard Jones),<br/>
|
||||
increase QEmu read buffer on help (Daniel Berrange),<br/>
|
||||
rpm dependance on dnsmasq (Daniel Berrange),<br/>
|
||||
fix XML boot device syntax (Daniel Berrange),<br/>
|
||||
QEmu memory bug (Daniel Berrange),<br/>
|
||||
memory leak fix (Masayuki Sunou),<br/>
|
||||
fix compiler flags (Richard Jones),<br/>
|
||||
remove type ioemu on recent Xen HVM for paravirt drivers (Saori Fukuta),<br/>
|
||||
uninitialized string bug (Masayuki Sunou),<br/>
|
||||
allow init even if the daemon is not running,<br/>
|
||||
XML to config fix (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
add a special error class for the test module (Richard Jones),<br/>
|
||||
virConnectGetCapabilities on proxy (Richard Jones),<br/>
|
||||
allow network driver to decline usage (Richard Jones),<br/>
|
||||
extend error messages for upcoming remote access (Richard Jones),<br/>
|
||||
on_reboot support for QEmu (Daniel Berrange),<br/>
|
||||
save daemon output in a log file (Daniel Berrange),<br/>
|
||||
xenXMDomainDefineXML can override guest config (Hugh Brock),<br/>
|
||||
add attach-device and detach-device commands to virsh (Masayuki Sunou and Mark McLoughlin and Richard Jones),<br/>
|
||||
make virGetVersion case insensitive and Python bindings (Richard Jones),<br/>
|
||||
new scheduler API (Atsushi SAKAI),<br/>
|
||||
localizations updates,<br/>
|
||||
add logging option for virsh (Nobuhiro Itou),<br/>
|
||||
allow arguments to be passed to bootloader (Hugh Brock),<br/>
|
||||
increase the test suite (Daniel Berrange and Hugh Brock)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
Remove VIR_DRV_OPEN_QUIET (Richard Jones),<br/>
|
||||
disable xm_internal.c for Xen > 3.0.3 (Daniel Berrange),<br/>
|
||||
unused fields in _virDomain (Richard Jones),<br/>
|
||||
export __virGetDomain and __virGetNetwork for libvirtd only (Richard Jones),<br/>
|
||||
ignore old VNC config for HVM on recent Xen (Daniel Berrange),<br/>
|
||||
various code cleanups,<br/>
|
||||
-Werror cleanup (Hugh Brock)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.2.2: Apr 17 2007</h3>
|
||||
<ul>
|
||||
<li>Documentation:<br/>
|
||||
fix errors due to Amaya (with Simon Hernandez),<br/>
|
||||
virsh uses kB not bytes (Atsushi SAKAI),<br/>
|
||||
add command line help to qemud (Richard Jones),<br/>
|
||||
xenUnifiedRegister docs (Atsushi SAKAI),<br/>
|
||||
strings typos (Nikolay Sivov),<br/>
|
||||
ilocalization problem raised by Thomas Canniot<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
virsh memory values test (Masayuki Sunou),<br/>
|
||||
operations without libvirt_qemud (Atsushi SAKAI),<br/>
|
||||
fix spec file (Florian La Roche, Jeremy Katz, Michael Schwendt),<br/>
|
||||
direct hypervisor call (Atsushi SAKAI),<br/>
|
||||
buffer overflow on qemu networking command (Daniel Berrange),<br/>
|
||||
buffer overflow in quemud (Daniel Berrange),<br/>
|
||||
virsh vcpupin bug (Masayuki Sunou),<br/>
|
||||
host PAE detections and strcuctures size (Richard Jones),<br/>
|
||||
Xen PAE flag handling (Daniel Berrange),<br/>
|
||||
bridged config configuration (Daniel Berrange),<br/>
|
||||
erroneous XEN_V2_OP_SETMAXMEM value (Masayuki Sunou),<br/>
|
||||
memory free error (Mark McLoughlin),<br/>
|
||||
set VIR_CONNECT_RO on read-only connections (S.Sakamoto),<br/>
|
||||
avoid memory explosion bug (Daniel Berrange),<br/>
|
||||
integer overflow for qemu CPU time (Daniel Berrange),<br/>
|
||||
QEMU binary path check (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
remove some global variables (Jim Meyering),<br/>
|
||||
printf-style functions checks (Jim Meyering),<br/>
|
||||
better virsh error messages,<br/>
|
||||
increase compiler checkings and security (Daniel Berrange),<br/>
|
||||
virBufferGrow usage and docs,<br/>
|
||||
use calloc instead of malloc/memset,<br/>
|
||||
replace all sprintf by snprintf,<br/>
|
||||
avoid configure clobbering user's CTAGS (Jim Meyering),<br/>
|
||||
signal handler error cleanup (Richard Jones),<br/>
|
||||
iptables internal code claenup (Mark McLoughlin),<br/>
|
||||
unified Xen driver (Richard Jones),<br/>
|
||||
cleanup XPath libxml2 calls,<br/>
|
||||
IPTables rules tightening (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
more regression tests on XML (Daniel Berrange),<br/>
|
||||
Python bindings now generate exception in error cases (Richard Jones),<br/>
|
||||
Python bindings for vir*GetAutoStart (Daniel Berrange),<br/>
|
||||
handling of CD-Rom device without device name (Nobuhiro Itou),<br/>
|
||||
fix hypervisor call to work with Xen 3.0.5 (Daniel Berrange),<br/>
|
||||
DomainGetOSType for inactive domains (Daniel Berrange),<br/>
|
||||
multiple boot devices for HVM (Daniel Berrange)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.2.1: Mar 16 2007</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Add support for network autostart and init scripts (Mark McLoughlin),<br/>
|
||||
New API virConnectGetCapabilities() to detect the virtualization capabilities of a host (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
Documentation updates especially on the XML formats<br/>
|
||||
</li>
|
||||
|
||||
<li>Portability:<br/>
|
||||
IA64 fixes (Atsushi SAKAI),<br/>
|
||||
dependancies and build (Daniel Berrange),<br/>
|
||||
fix xend port detection (Daniel Berrange),<br/>
|
||||
icompile time warnings (Mark),<br/>
|
||||
avoid const related compiler warnings (Daniel Berrange),<br/>
|
||||
automated builds (Daniel Berrange),<br/>
|
||||
pointer/int mismatch (Richard Jones),<br/>
|
||||
configure time selection of drivers,<br/>
|
||||
libvirt spec hacking (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
libvirt_qemud daemon path (Daniel Berrange),<br/>
|
||||
libvirt config directory (Daniel Berrange and Mark McLoughlin),<br/>
|
||||
memory leak in qemud (Mark),<br/>
|
||||
various fixes on network support (Mark),<br/>
|
||||
avoid Xen domain zombies on device hotplug errors (Daniel Berrange),<br/>
|
||||
various fixes on qemud (Mark),<br/>
|
||||
args parsing (Richard Jones),<br/>
|
||||
virsh -t argument (Saori Fukuta),<br/>
|
||||
avoid virsh crash on TAB key (Daniel Berrange),<br/>
|
||||
detect xend operation failures (Kazuki Mizushima),<br/>
|
||||
don't listen on null socket (Rich Jones),<br/>
|
||||
read-only socket cleanup (Rich Jones),<br/>
|
||||
use of vnc port 5900 (Nobuhiro Itou),<br/>
|
||||
assorted networking fixes (Daniel Berrange),<br/>
|
||||
shutoff and shutdown mismatches (Kazuki Mizushima),<br/>
|
||||
unlimited memory handling (Atsushi SAKAI),<br/>
|
||||
python binding fixes (Tatsuro Enokura)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
qemud signal handling (Mark),<br/>
|
||||
don't shutdown or reboot domain0 (Kazuki Mizushima),<br/>
|
||||
QEmu version autodetection (Daniel Berrange),<br/>
|
||||
network UUIDs (Mark),<br/>
|
||||
speed up UUID domain lookups (Tatsuro Enokura and Daniel Berrange),<br/>
|
||||
support for paused QEmu CPU (Daniel Berrange),<br/>
|
||||
keymap VNC attribute support (Takahashi Tomohiro and Daniel Berrange),<br/>
|
||||
maximum number of virtual CPU (Masayuki Sunou),<br/>
|
||||
virtsh --readonly option (Rich Jones),<br/>
|
||||
python bindings for new functions (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
Various internal cleanups (Richard Jones, Daniel Berrange, Mark McLoughlin)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.2.0: Feb 14 2007</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Add support for QEmu and KVM virtualization (Daniel Berrange),<br/>
|
||||
Add support for network configuration (Mark McLoughlin)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
avoid a crash in connect (Daniel Berrange),<br/>
|
||||
virsh args parsing (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
regression testing (Daniel Berrange),<br/>
|
||||
localization string updates<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
Various internal cleanups (Mark McLoughlin, Richard Jones, Daniel Berrange, Karel Zak)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.1.11: Jan 22 2007</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Added a Relax-NG schemas to check XML instances<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
Remove memory leak when freeing virConf objects<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
Finish XML <-> XM config files support,<br/>
|
||||
Finishing inactive domain support (Daniel Berrange)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
580
docs/news-2008.html.in
Normal file
580
docs/news-2008.html.in
Normal file
@@ -0,0 +1,580 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Releases (2008)</h1>
|
||||
<p>Here is the list of official releases made during the year 2008.
|
||||
A similar list for <a href="news-2007.html">2007</a> is also available.
|
||||
</p>
|
||||
<p>It is also possible to just use
|
||||
the <a href="downloads.html" shape="rect">GIT version or snapshot</a>,
|
||||
contact the mailing list and check
|
||||
the <a href="http://libvirt.org/git/?p=libvirt.git;a=log" shape="rect">GIT log</a>
|
||||
to gauge progress.
|
||||
</p>
|
||||
|
||||
<h3>0.5.1: Dec 04 2008</h3>
|
||||
<ul>
|
||||
<li>Portability:<br/>
|
||||
fix missing dep in spec file,<br/>
|
||||
fix compilation with new NUMA libraries (Daniel Berrange),<br/>
|
||||
udev compatibility for RHEL (Chris Lalancette)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
documentation copy and paste errors and typo (Cole Robinson)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
add a delay in storage backend for disks to show up (Chris Lalancette),<br/>
|
||||
fix parsing for CDRom device with no source (Daniel Berrange),<br/>
|
||||
use xenstore to list domains to avoid some bugs (Guido Günther),<br/>
|
||||
remove a leak in xen inotify code (Daniel Berrange),<br/>
|
||||
UML driver freeing of uninitialialized variable (Ron Yorston),<br/>
|
||||
fix UML inotify code (Daniel Berrange),<br/>
|
||||
crash when adding storage without a format (Cole Robinson)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
use xend preferably to hypervisor call to set Xen max memory (Jim Fehlig),<br/>
|
||||
allow remote://hostname/ URI for automatic probe of hypervisors (Daniel Berrange),<br/>
|
||||
fix daemon configuration regression testing (Jim Meyering),<br/>
|
||||
check /usr/bin/kvm for QEmu driver init (Guido Günther),<br/>
|
||||
proper active vs. inactive differentiation (Guido Günther),<br/>
|
||||
improve MTU setting on tap interfaces (Eduardo Habkost),<br/>
|
||||
increase timeout for initial QEmu monitor poll (Cole Robinson)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
fix improper initialisations (Jim Meyering)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.5.0: Nov 25 2008</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
CPU and scheduler support for LXC (Dan Smith),<br/>
|
||||
SDL display configuration (Daniel Berrange),<br/>
|
||||
domain lifecycle event support for QEmu and Xen with python bindings (Ben Guthro and Daniel Berrange),<br/>
|
||||
KVM/QEmu migration support (Rich Jones and Chris Lalancette),<br/>
|
||||
User Mode Linux driver (Daniel Berrange),<br/>
|
||||
API for node device enumeration using HAL and DeviceKit with python bindings (David Lively)<br/>
|
||||
</li>
|
||||
|
||||
<li>Portability:<br/>
|
||||
RHEL build fixes,<br/>
|
||||
VPATH build (Guido Gunther),<br/>
|
||||
many MinGW related cleanups and fixes (Richard Jones),<br/>
|
||||
compilation without libvirtd (Richard Jones),<br/>
|
||||
Add a Windows icon (Richard Jones),<br/>
|
||||
sys/poll.h portability fixes (Daniel Berrange),<br/>
|
||||
gnulib and mingw cleanups (Jim Meyering)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
virsh man page cleanups (Mark McLoughlin),<br/>
|
||||
doc for NIC model selection (Richard Jones),<br/>
|
||||
monitoring section,<br/>
|
||||
link to AMQP bindings,<br/>
|
||||
inew APIs,<br/>
|
||||
UML driver docs (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
Xen interfaces ordering (Jim Fehlig),<br/>
|
||||
startup timeout with multiple pty (Cole Robinson),<br/>
|
||||
segfault if QEmu without active virtual network (Cole Robinson),<br/>
|
||||
qemu small leak (Eduardo Habkost),<br/>
|
||||
index creation for more than 26 disks (Sanjay Rao and Chris Wright),<br/>
|
||||
virRealloc handling of 0 (Daniel Berrange),<br/>
|
||||
missing pointer initialization (Chris Lalancette),<br/>
|
||||
bus device index bug (Guido Günther),<br/>
|
||||
avoid crash in some error patch (Chris Lalancette),<br/>
|
||||
fix a problem in storage back-end (Chris Lalancette),<br/>
|
||||
minimum domain memory size check for Xen (Shigeki Sakamoto),<br/>
|
||||
switch off QEmu cache if device is shared (Charles Duffy),<br/>
|
||||
logical volume definition before scan bug (Chris Lalancette),<br/>
|
||||
a couple of memory leaks on QEmu vnc (Jim Meyering),<br/>
|
||||
lvs parsing fixes (Cole Robinson)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
LXC resources control and internal cgroup API (Dan Smith),<br/>
|
||||
virDomainCreateLinux renamed virDomainDefineXML,<br/>
|
||||
network driver modularization (Daniel Berrange),<br/>
|
||||
change the way domain and net are reported in errors (Jim Meyering),<br/>
|
||||
partition table scan on iSCSI (Chris Lalancette),<br/>
|
||||
qemudDiskDeviceName to handle normal disks (Guido Günther),<br/>
|
||||
qemudDomainBlockStats improvement (Guido Günther),<br/>
|
||||
scsi/virtio hotplug support for KVM (Guido Günther),<br/>
|
||||
USB hot addition in QEmu (Guido Günther),<br/>
|
||||
logical pool and storage backend XML dump improvement (Chris Lalancette),<br/>
|
||||
MAC addresses prefix per driver (Daniel Berrange),<br/>
|
||||
OpenVZ getVersion support (Daniel Berrange),<br/>
|
||||
hot removal of scsi/virtio disks for KVM (Guido Günther),<br/>
|
||||
test storage driver (Cole Robinson),<br/>
|
||||
iSCSI and disk storage driver improvement on path handling (Chris Lalancette),<br/>
|
||||
UUID and ID support for Xenner (Daniel Berrange),<br/>
|
||||
better logging when when executing commands (Cole Robinson),<br/>
|
||||
bridged network for OpenVZ (Daniel Berrange),<br/>
|
||||
OpenVZ config file params (Evgeniy Sokolov),<br/>
|
||||
allow to build drivers as libtool convenience libs (Daniel Berrange),<br/>
|
||||
fully versioned linker script for exported ABI (Daniel Berrange),<br/>
|
||||
Push URI probing down into drivers open (Daniel Berrange),<br/>
|
||||
move all stateful drivers into the daemon binary (Daniel Berrange),<br/>
|
||||
improve domain event with a detail field (Daniel Berrange),<br/>
|
||||
domain events for QEMU driver (Daniel Berrange),<br/>
|
||||
event unregister callback crash (David Lively),<br/>
|
||||
plug a few leaks (Daniel Berrange),<br/>
|
||||
internal APIs for handling node device XML config (David Lively),<br/>
|
||||
tweaks to node device implementation (Daniel Berrange),<br/>
|
||||
OpenVZ vCPUs values init (Evgeniy Sokolov)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
C99 initializers (Guido Gunther),<br/>
|
||||
test output (Cole Robinson),<br/>
|
||||
debug macro centralization (Cole Robinson),<br/>
|
||||
various error handling (Guido Günther),<br/>
|
||||
safewrite use cleanup (Jim Meyering),<br/>
|
||||
centralize error reporting logic (Cole Robinson),<br/>
|
||||
avoid printf warnings (Daniel Berrange),<br/>
|
||||
use arrays instead of list for internal APIs (Daniel Berrange),<br/>
|
||||
remove many format string warnings Jim Meyering),<br/>
|
||||
avoid syntax check warnings (Chris Lalancette),<br/>
|
||||
improve po-check and list generation (Jim Meyering),<br/>
|
||||
.gitignore generation and handling (Jim Meyering),<br/>
|
||||
use ARRAY_CARDINALITY (Jim Meyering),<br/>
|
||||
gnulib updates and switch to use netdb.h (Jim Meyering),<br/>
|
||||
drop usage of socket_errno (Jim Meyering),<br/>
|
||||
remove socketcompat.h (Jim Meyering),<br/>
|
||||
more tests (Jim Meyering),<br/>
|
||||
drop virStringList (Daniel Berrange),<br/>
|
||||
reformatting and isolation of the error APIs (Daniel Berrange),<br/>
|
||||
cleanup internal.h and move internal APIs in specific headers (Daniel Berrange),<br/>
|
||||
move domain events helpers into domain_events.c (Daniel Berrange),<br/>
|
||||
cleanup the way optional modules are compiled (Daniel Berrange),<br/>
|
||||
add new logging module,<br/>
|
||||
optional dlopen of drivers (Daniel Berrange),<br/>
|
||||
various new tests (Jim Meyering),<br/>
|
||||
cleanups when Xen is not configured in (Daniel Berrange),<br/>
|
||||
add some missing functions comments (Jim Meyering)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.4.6: Sep 23 2008</h3>
|
||||
<ul>
|
||||
<li>Documentation:<br/>
|
||||
fix some comments in API (Anton Protopopov),<br/>
|
||||
cleanup and extension of bindings and windows pages (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Portability:<br/>
|
||||
missing include file (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
avoid a segfault if missing qemu emulator (Cole Robinson),<br/>
|
||||
reading vncdisplay from xend domain (Cole Robinson),<br/>
|
||||
segfault in OpenVZ (Evgeniy Sokolov),<br/>
|
||||
fix parsing of pool without a source (Chris Lalancette and Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
add storage disk volume delete (Cole Robinson),<br/>
|
||||
KVM dynamic max CPU detection (Guido Günther),<br/>
|
||||
spec file improvement for minimal builds (Ben Guthro),<br/>
|
||||
improved error message in XM configuration module (Richard Jones),<br/>
|
||||
network config in OpenVZ support (Evgeniy Sokolov),<br/>
|
||||
enable stopping a pool in logical storage backend and cleanup deletion of pool (Chris Lalancette)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
deadcode removal (Nguyen Anh Quynh),<br/>
|
||||
fix one test case (Daniel Berrange),<br/>
|
||||
various strings and space cleanups (Daniel Berrange),<br/>
|
||||
structure initialization cleanup (Chris Lalancette)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.4.5: Sep 08 2008</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
NETNS support for Linux containers (Dan Smith),<br/>
|
||||
unified XML domain and network parsing for all drivers (Daniel Berrange),<br/>
|
||||
OpenVZ features improvements (Evgeniy Sokolov),<br/>
|
||||
OpenVZ and Linux containers support now default,<br/>
|
||||
USB device passthrough for QEmu/KVM (Guido Günther),<br/>
|
||||
storage pool source discovery (David Lively)<br/>
|
||||
</li>
|
||||
|
||||
<li>Portability:<br/>
|
||||
fixes for MinGW (Atsushi SAKAI and Daniel Berrange),<br/>
|
||||
detection of xen lib improvement (David Lively),<br/>
|
||||
storage backend portability for SLES (David Lively),<br/>
|
||||
fix make distclean and distcheck (Jim Meyering),<br/>
|
||||
fix build failures on RHEL4,<br/>
|
||||
lot of MinGW portability fixes (Atsushi SAKAI and Daniel Berrange),<br/>
|
||||
HTML generation fix,<br/>
|
||||
-lpthread explicit linking when needed (Jim Meyering)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
various typo fixes (Anton Protopopov, Toth István, Atsushi SAKAI, Nguyen Anh Quynh),<br/>
|
||||
Java bindings docs,<br/>
|
||||
remove Xen centric comments (Guido Günther),<br/>
|
||||
various typo in comments (Chris Lalancette),<br/>
|
||||
docs and API comments fixes (Charles Duffy),<br/>
|
||||
how to contribute to open source link (Richard Jones),<br/>
|
||||
memory unit fixups (matthew chan)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
memory leaks and testing for OOM (Daniel Berrange),<br/>
|
||||
do_open driver bug (Evgeniy Sokolov),<br/>
|
||||
don't use polkit auth when running as non-root (Daniel Berrange),<br/>
|
||||
boot of CDRom devices in QEmu/KVM (Daniel Berrange),<br/>
|
||||
fix OpenVZ probe function (Evgeniy Sokolov),<br/>
|
||||
ID related lookup fixes in OpenVZ (Evgeniy Sokolov),<br/>
|
||||
pool cration for netfs (Cole Robinson),<br/>
|
||||
check for migrate support with QEmu (Guido Günther),<br/>
|
||||
check against double create with QEmu (Guido Günther),<br/>
|
||||
broken open failure detection in QEmu (Guido Günther),<br/>
|
||||
UUID string conversions in QEmu (Guido Günther),<br/>
|
||||
various small cleanup and bug fixes (Daniel Berrange),<br/>
|
||||
ID related fixes in the test driver (Daniel Berrange),<br/>
|
||||
better error reporting on XML parsing (Daniel Berrange),<br/>
|
||||
empty CD-ROM source device section (Chris Lalancette),<br/>
|
||||
avoid crashes for interface without a name in QEmu (Guido Günther),<br/>
|
||||
provide the real vncport (Charles Duffy),<br/>
|
||||
fix forward delay (Daniel Berrange),<br/>
|
||||
new VM state is initialized to be SHUTOFF (Daniel Berrange),<br/>
|
||||
virsh attach-disk bug fixes (Chris Lalancette),<br/>
|
||||
veth clash of device names (Dan Smith),<br/>
|
||||
connection lookup fixes on storage creation (Cole Robinson),<br/>
|
||||
parted call fix (Cole Robinson),<br/>
|
||||
use "server" option when using serial/telnet with QEmu (Mark McLoughlin),<br/>
|
||||
duplicate virInitialize calls (Nguyen Anh Quynh),<br/>
|
||||
many fixes to virExec and related functions (Daniel Berrange),<br/>
|
||||
size of disk without partitions (Cole Robinson),<br/>
|
||||
creating and cleaning up logical volumes with target path (Cole Robinson),<br/>
|
||||
fix reporting of virConnectOpen problems (Daniel Berrange),<br/>
|
||||
veth cleanup at shutdown (Dan Smith),<br/>
|
||||
lookup of Xen VMs after define (Cole Robinson),<br/>
|
||||
fix emulator reported capabilities (Cole Robinson),<br/>
|
||||
avoid segfault on KVM CD eject (Cole Robinson),<br/>
|
||||
fix disk ordering and avoid duplicate in QEmu XML parsing (Cole Robinson),<br/>
|
||||
update domain XML after device hotplug (Cole Robinson),<br/>
|
||||
use poweroff instead of halt when shutting down a Xen domain (John Levon),<br/>
|
||||
don't dump core of Xen domain live by default (John Levon),<br/>
|
||||
vgcreate command line size bug (Jim Fehlig),<br/>
|
||||
signed/unsigned issue in probing file (Cole Robinson),<br/>
|
||||
Fix Xen domains without PVFB console (Daniel Berrange),<br/>
|
||||
OpenVZ config read bug fix (Evgeniy Sokolov)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
improved failure diagnostic for TAP (Jim Meyering),<br/>
|
||||
better exec and error diagnostic for OpenVZ commands (Evgeniy Sokolov),<br/>
|
||||
OpenVZ auto start and stop of domains (Evgeniy Sokolov),<br/>
|
||||
OpenVZ domain cpu time consumption (Evgeniy Sokolov),<br/>
|
||||
virsh shutdown improvements and test (Jim Meyering),<br/>
|
||||
better report of XML well formedness errors (Richard Jones),<br/>
|
||||
new XML elements (Daniel Berrange),<br/>
|
||||
virsh "edit" command (Richard Jones),<br/>
|
||||
save UUID of OpenVZ domains (Evgeniy Sokolov),<br/>
|
||||
improve xen blocks statistics (Chris Lalancette),<br/>
|
||||
gnulib updates (Jim Meyering),<br/>
|
||||
allow to add disk as USB devices (Guido Günther),<br/>
|
||||
LXC container process should survive libvirtd restarts (Daniel Berrange),<br/>
|
||||
allow to define static host domain configs,<br/>
|
||||
number of CPU used by OpenVZ domains (Evgeniy Sokolov),<br/>
|
||||
private root fs for LXC (Daniel Berrange),<br/>
|
||||
storage source information in storage pools (David Lively),<br/>
|
||||
virsh reports attach and detach success (Cole Robinson),<br/>
|
||||
detect failure in QEmu eject command (Cole Robinson),<br/>
|
||||
add support for eect on floppy and SCSI cdroms for QEmu (Cole Robinson),<br/>
|
||||
LXC hypervisor version extraction (Dan Smith),<br/>
|
||||
Augeas config file support (Daniel Berrange),<br/>
|
||||
support for a domain name in network config (JJ Reynolds)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
Python verbosity cleanup (Ryan Scott),<br/>
|
||||
space and tabs cleanups (Atsushi SAKAI),<br/>
|
||||
OpenVZ and LXC drivers cleanup and unification of XML handling (Daniel Berrange),<br/>
|
||||
updates to Relax-NG XML schemas (John Levon and Daniel Berrange),<br/>
|
||||
more printf format checkings (Jim Meyering),<br/>
|
||||
VIR_FREE related cleanups (Jim Meyering),<br/>
|
||||
integer string parsing cleanup (Evgeniy Sokolov),<br/>
|
||||
initial OpenVZ xml refactoring (Evgeniy Sokolov),<br/>
|
||||
better error message on domain redefine (Charles Duffy),<br/>
|
||||
check XML files against the RNG Schemas (Daniel Berrange),<br/>
|
||||
const-correctness in virsh (Richard Jones and Jim Meyering),<br/>
|
||||
const-correctness and cleanups in LXC and OpenVZ drivers (Daniel Berrange),<br/>
|
||||
virFileLinkPointsTo rewrite (Jim Meyering),<br/>
|
||||
cleanup of the conditional compilation of C files (Daniel Berrange),<br/>
|
||||
shell quoting fixes (Jim Meyering),<br/>
|
||||
parallel build support (James Morris and Jim Meyering),<br/>
|
||||
new convenience virFileReadLimFD function (Jim Meyering)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.4.4: Jun 25 2008</h3>
|
||||
<ul>
|
||||
<li>Bug Fixes:<br/>
|
||||
QEmu network serialization (Kaitlin Rupert),<br/>
|
||||
internal memory allocation fixes (Chris Lalancette Jim Meyering),<br/>
|
||||
virsh large file config problem (Jim Meyering),<br/>
|
||||
xen list APIs when max is zero,<br/>
|
||||
string escape problems in the xm driver<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
add autogen to tarballs,<br/>
|
||||
improve iSCSI support (Chris Lalancette),<br/>
|
||||
localization updates<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
const-ness fixed (Daniel P. Berrange),<br/>
|
||||
string helpers for enumerations (Daniel P. Berrange)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.4.3: Jun 12 2008</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
Linux Container start and stop (Dave Leskovec),<br/>
|
||||
Network interface model settings (Daniel Berrange),<br/>
|
||||
serial and parallel device support for QEmu and Xen (Daniel Berrange),<br/>
|
||||
Sound support for QEmu and Xen (Cole Robinson),<br/>
|
||||
vCPU settings for QEmu (Cole Robinson),<br/>
|
||||
support for NUMA and vCPU pinning in QEmu (Daniel Berrange),<br/>
|
||||
new virDomainBlockPeek API (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
coding guidelines (Jim Meyering and Richard Jones),<br/>
|
||||
small man page missing entries and cleanup,<br/>
|
||||
Web site revamp (Daniel Berrange),<br/>
|
||||
typo fixes (Atsushi SAKAI),<br/>
|
||||
more docs on network XML format (Daniel Berrange),<br/>
|
||||
libvirt Wiki (Daniel Berrange),<br/>
|
||||
policykit config docs (Cole Robinson),<br/>
|
||||
XML domain docs revamp (Daniel Berrange),<br/>
|
||||
docs for remote listen-tls/tcp fixes (Kenneth Nagin)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
save change to config file for Xen (Ryan Scott),<br/>
|
||||
fix /var/run/libvirt/ group ownership (Anton Protopopov),<br/>
|
||||
ancient libparted workaround (Soren Hansen),<br/>
|
||||
out of bount array access (Daniel Berrange),<br/>
|
||||
remote check bug (Dave Leskovec),<br/>
|
||||
LXC signal and daemon restart problems (Dave Leskovec),<br/>
|
||||
bus selection logic fix in the daemon config (Daniel Berrange),<br/>
|
||||
2 memory leaks in the daemon (Jim Meyering),<br/>
|
||||
daemon pid file logic bug fix (Daniel Berrange),<br/>
|
||||
python generator fixes (Daniel Berrange),<br/>
|
||||
ivarious leaks and memory problem pointed by valgrind (Daniel Berrange),<br/>
|
||||
iptables forwarding cleanup (Daniel Berrange),<br/>
|
||||
Xen cpuset value checking (Hiroyuki Kaguchi),<br/>
|
||||
container process checks for LXC (Dave Leskovec),<br/>
|
||||
let xend check block device syntax (Hiroyuki Kaguchi),<br/>
|
||||
UUIDString for python fixes (Cole Robinson)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
fixes for MinGW compilation (Richard Jones),<br/>
|
||||
autostart for running Xen domains (Cole Robinson),<br/>
|
||||
control of listening IP for daemon (Stefan de Konink),<br/>
|
||||
various Xenner related fixes and improvements (Daniel Berrange)<br/>
|
||||
autostart status printed in virsh domainfo (Shigeki Sakamoto),<br/>
|
||||
better error messages for xend driver (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
OpenVZ compilation (Richard Jones),<br/>
|
||||
conn dom and net fields deprecation in error structures (Richard Jones),<br/>
|
||||
Xen-ism on UUID (Richard Jones),<br/>
|
||||
add missing .pod to dist (Richard Jones),<br/>
|
||||
tab cleanup from sources (Jim Meyering),<br/>
|
||||
remove unused field in virsh control structure (Richard Jones),<br/>
|
||||
compilation without pthread.h (Jim Meyering),<br/>
|
||||
cleanup of tests (Daniel Berrange),<br/>
|
||||
syntax-check improvements (Jim Meyering),<br/>
|
||||
python cleanup,<br/>
|
||||
remove dependancy on libc is_* character tests (Jim Meyering),<br/>
|
||||
format related cleanups (Jim Meyering),<br/>
|
||||
cleanup of the buffer internal APIs (Daniel Berrange),<br/>
|
||||
conversion to the new memory allocation API (Daniel Berrange),<br/>
|
||||
lcov coverage testing (Daniel Berrange),<br/>
|
||||
gnulib updates (Jim Meyering),<br/>
|
||||
compatibility fix with RHEL 5 (Daniel Berrange),<br/>
|
||||
SuSE compatibility fix (Jim Fehlig),<br/>
|
||||
const'ification of a number of structures (Jim Meyering),<br/>
|
||||
string comparison macro cleanups (Daniel Berrange),<br/>
|
||||
character range testing cleanups and assorted bug fixes (Jim Meyering),<br/>
|
||||
QEmu test fixes (Daniel Berrange),<br/>
|
||||
configure macro cleanup (Daniel Berrange),<br/>
|
||||
refactor QEmu command line building code (Daniel Berrange),<br/>
|
||||
type punning warning in remote code (Richard Jones),<br/>
|
||||
refactoring of internal headers (Richard Jones),<br/>
|
||||
generic out of memory testing and associated bug fixes (Daniel Berrange),<br/>
|
||||
don't raise internal error for unsupported features (Kaitlin Rupert),<br/>
|
||||
missing driver entry points (Daniel Berrange)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.4.2: Apr 08 2008</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
memory operation for QEmu/KVM driver (Cole Robinson),<br/>
|
||||
new routed networking schemas (Mads Olesen)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
storage documentation fixes (Atsushi Sakai),<br/>
|
||||
many typo cleanups (Atsushi Sakai),<br/>
|
||||
string fixes (Francesco Tombolini)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
pointer errors in qemu (Jim Meyering),<br/>
|
||||
iSCSI login fix (Chris Lalancette),<br/>
|
||||
well formedness error in test driver capabilities (Cole Robinson),<br/>
|
||||
fixes cleanup code when daemon exits (Daniel Berrange),<br/>
|
||||
CD Rom change on live QEmu/KVM domains (Cole Robinson),<br/>
|
||||
setting scheduler parameter is forbidden for read-only (Saori Fukuta)i,<br/>
|
||||
fixes for TAP devices (Daniel Berrange),<br/>
|
||||
assorted storage driver fixes (Daniel Berrange),<br/>
|
||||
Makefile fixes (Jim Meyering),<br/>
|
||||
Xen-3.2 hypercall fix,<br/>
|
||||
fix iptables rules to avoid blocking traffic within virtual network (Daniel Berrange),<br/>
|
||||
XML output fix for directory pools (Daniel Berrange),<br/>
|
||||
remove dandling domain/net/conn pointers from error data,<br/>
|
||||
do not ask polkit auth when root (Daniel Berrange),<br/>
|
||||
handling of fork and pipe errors when starting the daemon (Richard Jones)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
better validation of MAC addresses (Jim Meyering and Hiroyuki Kaguchi),<br/>
|
||||
virsh vcpupin error report (Shigeki Sakamoto),<br/>
|
||||
keep boot tag on HVM domains (Cole Robinson),<br/>
|
||||
virsh non-root should not be limited to read only anymore (Daniel Berrange),<br/>
|
||||
switch to polkit-auth from polkit-grant (Daniel Berrange),<br/>
|
||||
better handling of missing SElinux data (Daniel Berrange and Jim Meyering),<br/>
|
||||
cleanup of the connection opening logic (Daniel Berrange),<br/>
|
||||
first bits of Linux Containers support (Dave Leskovec),<br/>
|
||||
scheduler API support via xend (Saori Fukuta),<br/>
|
||||
improvement of the testing framework and first tests (Jim Meyering),<br/>
|
||||
missing error messages from virsh parameters validation (Shigeki Sakamoto),<br/>
|
||||
improve support of older iscsiadm command (Chris Lalancette),<br/>
|
||||
move linux container support in the daemon (Dan Berrange),<br/>
|
||||
older awk implementation support (Mike Gerdts),<br/>
|
||||
NUMA support in test driver (Cole Robinson),<br/>
|
||||
xen and hvm added to test driver capabilities (Cole Robinson)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
remove unused getopt header (Jim Meyering),<br/>
|
||||
mark more strings as translatable (Guido Günther and Jim Meyering),<br/>
|
||||
convert error strings to something meaningful and translatable (Jim Meyering),<br/>
|
||||
Linux Containers code cleanup,<br/>
|
||||
last error initializer (Guido Günther)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>0.4.1: Mar 03 2008</h3>
|
||||
<ul>
|
||||
<li>Features:<br/>
|
||||
build on MacOSX (Richard Jones),<br/>
|
||||
storage management (Daniel Berrange),<br/>
|
||||
Xenner - Xen on KVM - support (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Documentation:<br/>
|
||||
Fix of various typos (Atsushi SAKAI),<br/>
|
||||
memory and vcpu settings details (Richard Jones),<br/>
|
||||
ethernet bridging typo (Maxwell Bottiger),<br/>
|
||||
add storage APIs documentation (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Bug Fixes:<br/>
|
||||
OpenVZ code compilation (Mikhail Pokidko),<br/>
|
||||
crash in policykit auth handling (Daniel Berrange),<br/>
|
||||
large config files (Daniel Berrange),<br/>
|
||||
cpumap hypercall size (Saori Fukuta),<br/>
|
||||
crash in remote auth (Daniel Berrange),<br/>
|
||||
ssh args error (Daniel Berrange),<br/>
|
||||
preserve vif order from config files (Hiroyuki Kaguchi),<br/>
|
||||
invalid pointer access (Jim Meyering),<br/>
|
||||
virDomainGetXMLDesc flag handling,<br/>
|
||||
device name conversion on stats (Daniel Berrange),<br/>
|
||||
double mutex lock (Daniel Berrange),<br/>
|
||||
config file reading crashes (Guido Guenther),<br/>
|
||||
xenUnifiedDomainSuspend bug (Marcus Meissner),<br/>
|
||||
do not crash if /sys/hypervisor/capabilities is missing (Mark McLoughlin),<br/>
|
||||
virHashRemoveSet bug (Hiroyuki Kaguchi),<br/>
|
||||
close-on-exec flag for qemud signal pipe (Daniel Berrange),<br/>
|
||||
double free in OpenVZ (Anton Protopopov),<br/>
|
||||
handle mac without addresses (Shigeki Sakamoto),<br/>
|
||||
MAC addresses checks (Shigeki Sakamoto and Richard Jones),<br/>
|
||||
allow to read non-seekable files (Jim Meyering)<br/>
|
||||
</li>
|
||||
|
||||
<li>Improvements:<br/>
|
||||
Windows build (Richard Jones),<br/>
|
||||
KVM/QEmu shutdown (Guido Guenther),<br/>
|
||||
catch virExec output on debug (Mark McLoughlin),<br/>
|
||||
integration of iptables and lokkit (Mark McLoughlin),<br/>
|
||||
keymap parameter for VNC servers (Daniel Hokka Zakrisson),<br/>
|
||||
enable debug by default using VIR_DEBUG (Daniel Berrange),<br/>
|
||||
xen 3.2 fixes (Daniel Berrange),<br/>
|
||||
Python bindings for VCPU and scheduling (Daniel Berrange),<br/>
|
||||
framework for automatic code syntax checks (Jim Meyering),<br/>
|
||||
allow kernel+initrd setup in Xen PV (Daniel Berrange),<br/>
|
||||
allow change of Disk/NIC of an inactive domains (Shigeki Sakamoto),<br/>
|
||||
virsh commands to manipulate and create storage (Daniel Berrange),<br/>
|
||||
update use of PolicyKit APIs,<br/>
|
||||
better detection of fedault hypervisor,<br/>
|
||||
block device statistics for QEmu/KVM (Richard Jones),<br/>
|
||||
various improvements for Xenner (Daniel Berrange)<br/>
|
||||
</li>
|
||||
|
||||
<li>Cleanups:<br/>
|
||||
avoid warnings (Daniel Berrange),<br/>
|
||||
virRun helper function (Dan Berrange),<br/>
|
||||
iptable code fixes (Mark McLoughlin),<br/>
|
||||
static and const cleanups (Jim Meyering),<br/>
|
||||
malloc and python cleanups (Jim Meyering),<br/>
|
||||
xstrtol_ull and xstrtol_ll functions (Daniel Berrange),<br/>
|
||||
remove no-op networking from OpenVZ (Daniel Berrange),<br/>
|
||||
python generator cleanups (Daniel Berrange),<br/>
|
||||
cleanup ref counting (Daniel Berrange),<br/>
|
||||
remove uninitialized warnings (Jim Meyering),<br/>
|
||||
cleanup configure for RHEL4 (Daniel Berrange),<br/>
|
||||
CR/LF cleanups (Richard Jones),<br/>
|
||||
various automatic code check and associated cleanups (Jim Meyering),<br/>
|
||||
various memory leaks (Jim Meyering),<br/>
|
||||
fix compilation when building without Xen (Guido Guenther),<br/>
|
||||
mark translatables strings (Jim Meyering),<br/>
|
||||
use virBufferAddLit for constant strings (Jim Meyering),<br/>
|
||||
fix make distcheck (Jim Meyering),<br/>
|
||||
return values for python bindings (Cole Robinson),<br/>
|
||||
trailing blanks fixes (Jim Meyering),<br/>
|
||||
gcc-4.3.0 fixes (Mark McLoughlin),<br/>
|
||||
use safe read and write routines (Jim Meyering),<br/>
|
||||
refactoring of code dealing with hypervisor capabilities (Daniel Berrange),<br/>
|
||||
qemudReportError to use virErrorMsg (Cole Robinson),<br/>
|
||||
intemediate library and Makefiles for compiling static and coverage rule support (Jim Meyering),<br/>
|
||||
cleanup of various leaks (Jim Meyering)<br/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
1603
docs/news-2009.html.in
Normal file
1603
docs/news-2009.html.in
Normal file
File diff suppressed because it is too large
Load Diff
2218
docs/news-2010.html.in
Normal file
2218
docs/news-2010.html.in
Normal file
File diff suppressed because it is too large
Load Diff
3314
docs/news-2011.html.in
Normal file
3314
docs/news-2011.html.in
Normal file
File diff suppressed because it is too large
Load Diff
3012
docs/news-2012.html.in
Normal file
3012
docs/news-2012.html.in
Normal file
File diff suppressed because it is too large
Load Diff
3675
docs/news-2013.html.in
Normal file
3675
docs/news-2013.html.in
Normal file
File diff suppressed because it is too large
Load Diff
3418
docs/news-2014.html.in
Normal file
3418
docs/news-2014.html.in
Normal file
File diff suppressed because it is too large
Load Diff
2864
docs/news-2015.html.in
Normal file
2864
docs/news-2015.html.in
Normal file
File diff suppressed because it is too large
Load Diff
20741
docs/news.html.in
20741
docs/news.html.in
File diff suppressed because it is too large
Load Diff
@@ -1,39 +1,46 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0">
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:output method="text" encoding="UTF-8"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:text>
|
||||
NEWS file for libvirt
|
||||
|
||||
Note that this is automatically generated from the news webpage at:
|
||||
Note that this file contains only the most recent releases; for the full
|
||||
list, please visit:
|
||||
http://libvirt.org/news.html
|
||||
|
||||
</xsl:text>
|
||||
<xsl:apply-templates select="html/body/*"/>
|
||||
<xsl:apply-templates select="html:html/html:body/*"/>
|
||||
</xsl:template>
|
||||
<xsl:template match="h1"/>
|
||||
|
||||
<xsl:template match="h3">
|
||||
<xsl:template match="html:h1"/>
|
||||
<xsl:template match="html:p"/>
|
||||
|
||||
<xsl:template match="html:h3">
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
<xsl:apply-templates/>
|
||||
<xsl:text>:
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="ul">
|
||||
<xsl:apply-templates select=".//li"/>
|
||||
|
||||
<xsl:template match="html:ul">
|
||||
<xsl:apply-templates select="html:li"/>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="li">
|
||||
|
||||
<xsl:template match="html:li">
|
||||
<xsl:text> - </xsl:text>
|
||||
<xsl:value-of select="."/>
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="a">
|
||||
|
||||
<xsl:template match="html:a">
|
||||
<xsl:value-of select="."/>
|
||||
<xsl:text> at
|
||||
</xsl:text>
|
||||
@@ -41,6 +48,5 @@
|
||||
<xsl:text>
|
||||
</xsl:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="p">
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
141
docs/nss.html.in
Normal file
141
docs/nss.html.in
Normal file
@@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<body>
|
||||
<h1>Libvirt NSS module</h1>
|
||||
|
||||
<ul id="toc"></ul>
|
||||
|
||||
<p>
|
||||
When it comes to managing guests and executing commands inside them, logging
|
||||
into guest operating system and doing the job is convenient. Users are used
|
||||
to ssh in this case. Ideally:
|
||||
</p>
|
||||
|
||||
<code>ssh user@virtualMachine</code>
|
||||
|
||||
<p>
|
||||
would be nice. But depending on virtual network configuration it might not
|
||||
be always possible. For instance, when using libvirt NATed network it's
|
||||
dnsmasq (spawned by libvirt) who assigns IP addresses to domains. But by
|
||||
default, the dnsmasq process is then not consulted when it comes to host
|
||||
name translation. Users work around this problem by configuring their
|
||||
libvirt network to assign static IP addresses and maintaining
|
||||
<code>/etc/hosts</code> file in sync. But this puts needless burden onto
|
||||
users. This is where NSS module comes handy.
|
||||
</p>
|
||||
|
||||
<h2><a name="Installation">Installation</a></h2>
|
||||
|
||||
<p>
|
||||
Installing the module is really easy:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
# yum install libvirt-nss
|
||||
</pre>
|
||||
|
||||
<h2><a name="Configuration">Configuration</a></h2>
|
||||
|
||||
<p>
|
||||
Enabling the module is really easy. Just add <b>libvirt</b> into
|
||||
<code>/etc/nsswitch.conf</code> file. For instance:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
$ cat /etc/nsswitch.conf
|
||||
# /etc/nsswitch.conf:
|
||||
passwd: compat
|
||||
shadow: compat
|
||||
group: compat
|
||||
hosts: files libvirt dns
|
||||
# ...
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
So, in this specific case, whenever ssh program is looking up the host user
|
||||
is trying to connect to, <b>files</b> module is consulted first (which
|
||||
boils down to looking up the host name in <code>/etc/hosts</code> file), if
|
||||
not found <b>libvirt</b> module is consulted then. The DNS is the last
|
||||
effort then, if none of the previous modules matched the host in question.
|
||||
Therefore users should consider the order in which they want the modules to
|
||||
lookup given host name.
|
||||
</p>
|
||||
|
||||
<h2><a name="Internals">How does it work?</a></h2>
|
||||
|
||||
<p>
|
||||
Whenever an Unix process wants to do a host name translation
|
||||
<a href="http://linux.die.net/man/3/gethostbyname"><code>gethostbyname()</code></a>
|
||||
or some variant of it is called. This is a glibc function that takes a
|
||||
string containing the host name, crunch it and produces a list of IP
|
||||
addresses assigned to that host. Now, glibc developers made a really good
|
||||
decision when implementing the internals of the function when they decided
|
||||
to make the function pluggable. Since there can be several sources for the
|
||||
records (e.g. <code>/etc/hosts</code> file, DNS, LDAP, etc.) it would not
|
||||
make much sense to create one big implementation containing all possible
|
||||
cases. What they have done instead is this pluggable mechanism. Small
|
||||
plugins implementing nothing but specific technology for lookup process are
|
||||
provided and the function then calls those plugins. There is just one
|
||||
configuration file that instructs the lookup function in which order should
|
||||
the plugins be called and which plugins should be loaded. For more info
|
||||
reading <a href="https://en.wikipedia.org/wiki/Name_Service_Switch">wiki
|
||||
page</a> is recommended.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
And this is point where libvirt comes in. Libvirt provides plugin for the
|
||||
NSS ecosystem. For some time now libvirt keeps a list of assigned IP
|
||||
addresses for libvirt networks. The NSS plugin does no more than search the
|
||||
list trying to find matching record for given host name. When found,
|
||||
matching IP address is returned to the caller. If not found, translation
|
||||
process continues with the next plugin configured. At this point it is
|
||||
important to stress the order in which plugins are called. Users should be
|
||||
aware that a hostname might match in multiple plugins and right after first
|
||||
match, translation process is terminated and no other plugin is consulted.
|
||||
Therefore, if there are two different records for the same host name users
|
||||
should carefully chose the lookup order.
|
||||
</p>
|
||||
|
||||
<h2><a name="Limitations">Limitations</a></h2>
|
||||
|
||||
<ol>
|
||||
<li>The libvirt NSS module matches only hostnames provided by guest. If
|
||||
the libvirt name and one advertised by guest differs, the latter is
|
||||
matched.</li>
|
||||
<li>The module works only in that cases where IP addresses are assigned by
|
||||
dnsmasq spawned by libvirt. Libvirt NATed networks are typical
|
||||
example.</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
These limitation are result of libvirt's internal implementation. While
|
||||
libvirt can report IP addresses regardless of their origin, a public API
|
||||
must be used to obtain those. However, for the API a connection object is
|
||||
required. Doing that for every name translation request would be too
|
||||
costly. Fortunately, libvirt spawns dnsmasq for NATed networks. Not only
|
||||
that, it provides small executable that on each IP address space change
|
||||
updates an internal list of addresses thus keeping it in sync. The NSS
|
||||
module then merely consults the list trying to find the match. Users can
|
||||
view the list themselves:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
virsh net-dhcp-leases $network
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
where <code>$network</code> iterates through all running networks. So the module
|
||||
does merely the same as
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
virsh domifaddr --source lease $domain
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
If there's no record for either of the aforementioned commands, it's very
|
||||
likely that NSS module won't find anything and vice versa.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
@@ -163,12 +163,6 @@
|
||||
<xsl:apply-templates select="/html:html/html:body/*" mode="content"/>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p id="sponsor">
|
||||
Sponsored by:<br/>
|
||||
<a href="http://et.redhat.com/"><img src="{$href_base}et.png" alt="Project sponsored by Red Hat Emerging Technology"/></a>
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
@@ -1,35 +0,0 @@
|
||||
## Copyright (C) 2005-2011, 2013-2014 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
schemadir = $(pkgdatadir)/schemas
|
||||
schema_DATA = \
|
||||
basictypes.rng \
|
||||
capability.rng \
|
||||
domain.rng \
|
||||
domaincaps.rng \
|
||||
domaincommon.rng \
|
||||
domainsnapshot.rng \
|
||||
interface.rng \
|
||||
network.rng \
|
||||
networkcommon.rng \
|
||||
nodedev.rng \
|
||||
nwfilter.rng \
|
||||
secret.rng \
|
||||
storagecommon.rng \
|
||||
storagepool.rng \
|
||||
storagevol.rng
|
||||
|
||||
EXTRA_DIST = $(schema_DATA)
|
@@ -230,25 +230,25 @@
|
||||
|
||||
<define name="filePath">
|
||||
<data type="string">
|
||||
<param name="pattern">[a-zA-Z0-9_\.\+\-\\&"'<>/%]+</param>
|
||||
<param name="pattern">.+</param>
|
||||
</data>
|
||||
</define>
|
||||
|
||||
<define name="dirPath">
|
||||
<data type="string">
|
||||
<param name="pattern">[a-zA-Z0-9_\.\+\-\\&"'<>/%]+</param>
|
||||
<param name="pattern">.+</param>
|
||||
</data>
|
||||
</define>
|
||||
|
||||
<define name="absFilePath">
|
||||
<data type="string">
|
||||
<param name="pattern">/[a-zA-Z0-9_\.\+\-\\&"'<>/%,:]+</param>
|
||||
<param name="pattern">/.+</param>
|
||||
</data>
|
||||
</define>
|
||||
|
||||
<define name="absDirPath">
|
||||
<data type="string">
|
||||
<param name="pattern">/[a-zA-Z0-9_\.\+\-\\&"'<>/%]*</param>
|
||||
<param name="pattern">/.*</param>
|
||||
</data>
|
||||
</define>
|
||||
|
||||
|
@@ -30,8 +30,8 @@
|
||||
<define name="domain">
|
||||
<element name="domain">
|
||||
<ref name="hvs"/>
|
||||
<ref name="ids"/>
|
||||
<interleave>
|
||||
<ref name="ids"/>
|
||||
<optional>
|
||||
<ref name="title"/>
|
||||
</optional>
|
||||
@@ -55,6 +55,9 @@
|
||||
<optional>
|
||||
<ref name="pm"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="perf"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="idmap"/>
|
||||
</optional>
|
||||
@@ -67,6 +70,9 @@
|
||||
<optional>
|
||||
<ref name='qemucmdline'/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name='lxcsharens'/>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name='keywrap'/>
|
||||
</optional>
|
||||
@@ -200,7 +206,7 @@
|
||||
<value>hyperv</value>
|
||||
<value>vbox</value>
|
||||
<value>phyp</value>
|
||||
<value>parallels</value>
|
||||
<value>vz</value>
|
||||
<value>bhyve</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
@@ -389,6 +395,30 @@
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!--
|
||||
Enable or disable perf events for the domain. For each
|
||||
of the events the following rules apply:
|
||||
on: the event will be forcefully enabled
|
||||
off: the event will be forcefully disabled
|
||||
not specified: the event will be disabled by default
|
||||
-->
|
||||
<define name="perf">
|
||||
<element name="perf">
|
||||
<oneOrMore>
|
||||
<element name="event">
|
||||
<attribute name="name">
|
||||
<choice>
|
||||
<value>cmt</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<attribute name="enabled">
|
||||
<ref name="virYesNo"/>
|
||||
</attribute>
|
||||
</element>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!--
|
||||
The Identifiers can be:
|
||||
- an optional id attribute with a number on the domain element
|
||||
@@ -666,6 +696,16 @@
|
||||
<ref name="cpushares"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="global_period">
|
||||
<ref name="cpuperiod"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="global_quota">
|
||||
<ref name="cpuquota"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="period">
|
||||
<ref name="cpuperiod"/>
|
||||
@@ -1593,6 +1633,7 @@
|
||||
<define name="driverCache">
|
||||
<attribute name="cache">
|
||||
<choice>
|
||||
<value>default</value>
|
||||
<value>none</value>
|
||||
<value>writeback</value>
|
||||
<value>writethrough</value>
|
||||
@@ -1731,6 +1772,45 @@
|
||||
<attribute name="type">
|
||||
<value>pci</value>
|
||||
</attribute>
|
||||
<optional>
|
||||
<element name="model">
|
||||
<attribute name="name">
|
||||
<choice>
|
||||
<!-- implementations of 'pci-bridge' -->
|
||||
<value>pci-bridge</value>
|
||||
<!-- implementations of 'dmi-to-pci-bridge' -->
|
||||
<value>i82801b11-bridge</value>
|
||||
<!-- implementations of 'pcie-root-port' -->
|
||||
<value>ioh3420</value>
|
||||
<!-- implementations of 'pcie-switch-upstream-port' -->
|
||||
<value>x3130-upstream</value>
|
||||
<!-- implementations of 'pcie-switch-downstream-port' -->
|
||||
<value>xio3130-downstream</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<empty/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="target">
|
||||
<optional>
|
||||
<attribute name='chassisNr'>
|
||||
<ref name='uint8range'/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="chassis">
|
||||
<ref name='uint8range'/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="port">
|
||||
<ref name='uint8range'/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<empty/>
|
||||
</element>
|
||||
</optional>
|
||||
<!-- *-root controllers have an optional element "pcihole64"-->
|
||||
<choice>
|
||||
<group>
|
||||
@@ -1751,6 +1831,9 @@
|
||||
<choice>
|
||||
<value>pci-bridge</value>
|
||||
<value>dmi-to-pci-bridge</value>
|
||||
<value>pcie-root-port</value>
|
||||
<value>pcie-switch-upstream-port</value>
|
||||
<value>pcie-switch-downstream-port</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</group>
|
||||
@@ -1790,6 +1873,9 @@
|
||||
<ref name="unsignedInt"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="ioeventfd"/>
|
||||
</optional>
|
||||
</element>
|
||||
</optional>
|
||||
</interleave>
|
||||
@@ -2131,6 +2217,33 @@
|
||||
<ref name="interface-options"/>
|
||||
</interleave>
|
||||
</group>
|
||||
<group>
|
||||
<attribute name="type">
|
||||
<choice>
|
||||
<value>udp</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<interleave>
|
||||
<element name="source">
|
||||
<attribute name="address">
|
||||
<ref name="ipv4Addr"/>
|
||||
</attribute>
|
||||
<attribute name="port">
|
||||
<ref name="PortNumber"/>
|
||||
</attribute>
|
||||
<element name="local">
|
||||
<attribute name="address">
|
||||
<ref name="ipv4Addr"/>
|
||||
</attribute>
|
||||
<attribute name="port">
|
||||
<ref name="PortNumber"/>
|
||||
</attribute>
|
||||
<empty/>
|
||||
</element>
|
||||
</element>
|
||||
<ref name="interface-options"/>
|
||||
</interleave>
|
||||
</group>
|
||||
<group>
|
||||
<attribute name="type">
|
||||
<value>server</value>
|
||||
@@ -2748,6 +2861,14 @@
|
||||
<empty/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="gl">
|
||||
<attribute name="enable">
|
||||
<ref name="virYesNo"/>
|
||||
</attribute>
|
||||
<empty/>
|
||||
</element>
|
||||
</optional>
|
||||
</interleave>
|
||||
</group>
|
||||
<group>
|
||||
@@ -2846,6 +2967,7 @@
|
||||
<value>vmvga</value>
|
||||
<value>xen</value>
|
||||
<value>vbox</value>
|
||||
<value>virtio</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<group>
|
||||
@@ -2862,6 +2984,11 @@
|
||||
<ref name="unsignedInt"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="vram64">
|
||||
<ref name="unsignedInt"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
</group>
|
||||
</choice>
|
||||
<optional>
|
||||
@@ -3176,6 +3303,11 @@
|
||||
<optional>
|
||||
<attribute name="slave"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<attribute name="append">
|
||||
<ref name="virOnOff"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<zeroOrMore>
|
||||
<ref name='devSeclabel'/>
|
||||
</zeroOrMore>
|
||||
@@ -3195,6 +3327,18 @@
|
||||
</optional>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="log">
|
||||
<attribute name="file">
|
||||
<ref name="absFilePath"/>
|
||||
</attribute>
|
||||
<optional>
|
||||
<attribute name="append">
|
||||
<ref name="virOnOff"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
</element>
|
||||
</optional>
|
||||
</define>
|
||||
<!--
|
||||
The description for a console
|
||||
@@ -3339,6 +3483,11 @@
|
||||
<value>none</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<optional>
|
||||
<attribute name="autodeflate">
|
||||
<ref name="virOnOff"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
<interleave>
|
||||
<optional>
|
||||
<ref name="alias"/>
|
||||
@@ -3503,22 +3652,40 @@
|
||||
|
||||
<define name="input">
|
||||
<element name="input">
|
||||
<attribute name="type">
|
||||
<choice>
|
||||
<value>tablet</value>
|
||||
<value>mouse</value>
|
||||
<value>keyboard</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<optional>
|
||||
<attribute name="bus">
|
||||
<choice>
|
||||
<value>ps2</value>
|
||||
<value>usb</value>
|
||||
<value>xen</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</optional>
|
||||
<choice>
|
||||
<group>
|
||||
<attribute name="type">
|
||||
<choice>
|
||||
<value>tablet</value>
|
||||
<value>mouse</value>
|
||||
<value>keyboard</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<optional>
|
||||
<attribute name="bus">
|
||||
<choice>
|
||||
<value>ps2</value>
|
||||
<value>usb</value>
|
||||
<value>xen</value>
|
||||
<value>virtio</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</optional>
|
||||
</group>
|
||||
<group>
|
||||
<attribute name="type">
|
||||
<value>passthrough</value>
|
||||
</attribute>
|
||||
<attribute name="bus">
|
||||
<value>virtio</value>
|
||||
</attribute>
|
||||
<element name="source">
|
||||
<attribute name="evdev">
|
||||
<ref name="absFilePath"/>
|
||||
</attribute>
|
||||
</element>
|
||||
</group>
|
||||
</choice>
|
||||
<optional>
|
||||
<ref name="alias"/>
|
||||
</optional>
|
||||
@@ -3969,9 +4136,9 @@
|
||||
<optional>
|
||||
<ref name="nvram"/>
|
||||
</optional>
|
||||
<optional>
|
||||
<zeroOrMore>
|
||||
<ref name="panic"/>
|
||||
</optional>
|
||||
</zeroOrMore>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
@@ -4004,7 +4171,11 @@
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="hap">
|
||||
<empty/>
|
||||
<optional>
|
||||
<attribute name="state">
|
||||
<ref name="virOnOff"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
@@ -4050,7 +4221,11 @@
|
||||
<element name="gic">
|
||||
<optional>
|
||||
<attribute name="version">
|
||||
<ref name="positiveInteger"/>
|
||||
<choice>
|
||||
<value>host</value>
|
||||
<value>2</value>
|
||||
<value>3</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</optional>
|
||||
</element>
|
||||
@@ -4457,9 +4632,11 @@
|
||||
<element name="size">
|
||||
<ref name="scaledInteger"/>
|
||||
</element>
|
||||
<element name="node">
|
||||
<ref name="unsignedInt"/>
|
||||
</element>
|
||||
<optional>
|
||||
<element name="node">
|
||||
<ref name="unsignedInt"/>
|
||||
</element>
|
||||
</optional>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
@@ -4494,8 +4671,7 @@
|
||||
<value>random</value>
|
||||
</attribute>
|
||||
<choice>
|
||||
<value>/dev/random</value>
|
||||
<value>/dev/hwrng</value>
|
||||
<ref name='absFilePath'/>
|
||||
<empty/>
|
||||
</choice>
|
||||
</group>
|
||||
@@ -4752,6 +4928,43 @@
|
||||
</optional>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="vpindex">
|
||||
<ref name="featurestate"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="runtime">
|
||||
<ref name="featurestate"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="synic">
|
||||
<ref name="featurestate"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="stimer">
|
||||
<ref name="featurestate"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="reset">
|
||||
<ref name="featurestate"/>
|
||||
</element>
|
||||
</optional>
|
||||
<optional>
|
||||
<element name="vendor_id">
|
||||
<ref name="featurestate"/>
|
||||
<optional>
|
||||
<attribute name="value">
|
||||
<data type="string">
|
||||
<param name='pattern'>[^,]{0,12}</param>
|
||||
</data>
|
||||
</attribute>
|
||||
</optional>
|
||||
</element>
|
||||
</optional>
|
||||
</interleave>
|
||||
</element>
|
||||
</define>
|
||||
@@ -5012,6 +5225,45 @@
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<!--
|
||||
Optional hypervisor extensions in their own namespace:
|
||||
LXC
|
||||
-->
|
||||
<define name="lxcsharens">
|
||||
<element name="namespace" ns="http://libvirt.org/schemas/domain/lxc/1.0">
|
||||
<zeroOrMore>
|
||||
<element name="sharenet">
|
||||
<attribute name="type">
|
||||
<choice>
|
||||
<value>netns</value>
|
||||
<value>name</value>
|
||||
<value>pid</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<attribute name='value'/>
|
||||
</element>
|
||||
<element name="shareipc">
|
||||
<attribute name="type">
|
||||
<choice>
|
||||
<value>name</value>
|
||||
<value>pid</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<attribute name='value'/>
|
||||
</element>
|
||||
<element name="shareuts">
|
||||
<attribute name="type">
|
||||
<choice>
|
||||
<value>name</value>
|
||||
<value>pid</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
<attribute name='value'/>
|
||||
</element>
|
||||
</zeroOrMore>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<define name="metadata">
|
||||
<element name="metadata">
|
||||
<zeroOrMore>
|
||||
@@ -5083,9 +5335,7 @@
|
||||
</define>
|
||||
<!-- Memory as an attribute is in KiB, no way to express a unit -->
|
||||
<define name="memoryKB">
|
||||
<data type="unsignedInt">
|
||||
<param name="pattern">[0-9]+</param>
|
||||
</data>
|
||||
<data type="unsignedLong"/>
|
||||
</define>
|
||||
<define name="domainName">
|
||||
<data type="string">
|
||||
@@ -5105,9 +5355,10 @@
|
||||
</data>
|
||||
</define>
|
||||
<define name="addrIPorName">
|
||||
<data type="string">
|
||||
<param name="pattern">(([0-2]?[0-9]?[0-9]\.){3}[0-2]?[0-9]?[0-9])|(([0-9a-fA-F]+|:)+[0-9a-fA-F]+)|([a-zA-Z0-9_\.\+\-]*)</param>
|
||||
</data>
|
||||
<choice>
|
||||
<ref name="ipAddr"/>
|
||||
<ref name="dnsName"/>
|
||||
</choice>
|
||||
</define>
|
||||
<define name="usbIdDefault">
|
||||
<data type="string">
|
||||
@@ -5244,6 +5495,15 @@
|
||||
</define>
|
||||
<define name="panic">
|
||||
<element name="panic">
|
||||
<optional>
|
||||
<attribute name="model">
|
||||
<choice>
|
||||
<value>isa</value>
|
||||
<value>pseries</value>
|
||||
<value>hyperv</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</optional>
|
||||
<optional>
|
||||
<ref name="address"/>
|
||||
</optional>
|
||||
|
@@ -40,6 +40,7 @@
|
||||
<ref name="capusbinterface"/>
|
||||
<ref name="capnet"/>
|
||||
<ref name="capscsihost"/>
|
||||
<ref name="capscsitarget"/>
|
||||
<ref name="capscsi"/>
|
||||
<ref name="capstorage"/>
|
||||
</choice>
|
||||
@@ -168,6 +169,17 @@
|
||||
</element>
|
||||
</optional>
|
||||
|
||||
<optional>
|
||||
<element name='capability'>
|
||||
<attribute name='type'>
|
||||
<choice>
|
||||
<value>pci-bridge</value>
|
||||
<value>cardbus-bridge</value>
|
||||
</choice>
|
||||
</attribute>
|
||||
</element>
|
||||
</optional>
|
||||
|
||||
<optional>
|
||||
<element name='pci-express'>
|
||||
<zeroOrMore>
|
||||
@@ -371,6 +383,16 @@
|
||||
</optional>
|
||||
</define>
|
||||
|
||||
<define name='capscsitarget'>
|
||||
<attribute name='type'>
|
||||
<value>scsi_target</value>
|
||||
</attribute>
|
||||
|
||||
<element name='target'>
|
||||
<text/>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
<define name='capscsi'>
|
||||
<attribute name='type'>
|
||||
<value>scsi</value>
|
||||
|
@@ -278,6 +278,11 @@
|
||||
<empty/>
|
||||
<ref name='devextents'/>
|
||||
</choice>
|
||||
<optional>
|
||||
<attribute name="part_separator">
|
||||
<ref name="virYesNo"/>
|
||||
</attribute>
|
||||
</optional>
|
||||
</element>
|
||||
</define>
|
||||
|
||||
|
@@ -120,6 +120,10 @@
|
||||
<a href="hooks.html">Hooks</a>
|
||||
<span>Hooks for system specific management</span>
|
||||
</li>
|
||||
<li>
|
||||
<a href="nss.html">NSS module</a>
|
||||
<span>Enable domain host name translation to IP addresses</span>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
@@ -259,8 +263,8 @@
|
||||
<span>Driver for IBM PowerVM</span>
|
||||
</li>
|
||||
<li>
|
||||
<a href="drvparallels.html">Parallels</a>
|
||||
<span>Driver for Parallels Cloud Server</span>
|
||||
<a href="drvvirtuozzo.html">Virtuozzo</a>
|
||||
<span>Driver for Virtuozzo</span>
|
||||
</li>
|
||||
<li>
|
||||
<a href="drvbhyve.html">Bhyve</a>
|
||||
|
@@ -161,7 +161,7 @@
|
||||
<li><code>qcow</code>: QEMU v1 disk image format</li>
|
||||
<li><code>qcow2</code>: QEMU v2 disk image format</li>
|
||||
<li><code>qed</code>: QEMU Enhanced Disk image format</li>
|
||||
<li><code>vmdk</code>: VMWare disk image format</li>
|
||||
<li><code>vmdk</code>: VMware disk image format</li>
|
||||
<li><code>vpc</code>: VirtualPC disk image format</li>
|
||||
</ul>
|
||||
<p>
|
||||
@@ -550,7 +550,9 @@
|
||||
backend supports cephx authentication for communication with the
|
||||
Ceph cluster. Storing the cephx authentication key is done with
|
||||
the libvirt secret mechanism. The UUID in the example pool input
|
||||
refers to the UUID of the stored secret.
|
||||
refers to the UUID of the stored secret.<br />
|
||||
The port attribute for a Ceph monitor does not have to be provided.
|
||||
If not provided librados will use the default Ceph monitor port.
|
||||
<span class="since">Since 0.9.13</span>
|
||||
</p>
|
||||
|
||||
@@ -560,8 +562,8 @@
|
||||
<name>myrbdpool</name>
|
||||
<source>
|
||||
<name>rbdpool</name>
|
||||
<host name='1.2.3.4' port='6789'/>
|
||||
<host name='my.ceph.monitor' port='6789'/>
|
||||
<host name='1.2.3.4'/>
|
||||
<host name='my.ceph.monitor'/>
|
||||
<host name='third.ceph.monitor' port='6789'/>
|
||||
<auth username='admin' type='ceph'>
|
||||
<secret uuid='2ec115d7-3a88-3ceb-bc12-0ac909a6fd87'/>
|
||||
@@ -753,8 +755,10 @@
|
||||
|
||||
<h2><a name="StorageBackendZFS">ZFS pools</a></h2>
|
||||
<p>
|
||||
This provides a pool based on the ZFS filesystem. It is currently
|
||||
supported on FreeBSD only.
|
||||
This provides a pool based on the ZFS filesystem. Initially it was developed
|
||||
for FreeBSD, and <span class="since">since 1.3.2</span> experimental support
|
||||
for <a href="http://zfsonlinux.org/">ZFS on Linux</a> version 0.6.4 or newer
|
||||
is available.
|
||||
</p>
|
||||
|
||||
<p>A pool could either be created manually using the <code>zpool create</code>
|
||||
|
89
examples/Makefile.am
Normal file
89
examples/Makefile.am
Normal file
@@ -0,0 +1,89 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
## Copyright (C) 2005-2016 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
FILTERS = $(wildcard $(srcdir)/xml/nwfilter/*.xml)
|
||||
|
||||
EXTRA_DIST = \
|
||||
apparmor/TEMPLATE.qemu \
|
||||
apparmor/TEMPLATE.lxc \
|
||||
apparmor/libvirt-qemu \
|
||||
apparmor/libvirt-lxc \
|
||||
apparmor/usr.lib.libvirt.virt-aa-helper \
|
||||
apparmor/usr.sbin.libvirtd \
|
||||
lxcconvert/virt-lxc-convert \
|
||||
polkit/libvirt-acl.rules \
|
||||
systemtap/events.stp \
|
||||
systemtap/rpc-monitor.stp \
|
||||
$(FILTERS) \
|
||||
$(wildcard $(srcdir)/xml/storage/*.xml) \
|
||||
$(wildcard $(srcdir)/xml/test/*.xml)
|
||||
|
||||
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir) \
|
||||
-I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib
|
||||
LDADD = $(STATIC_BINARIES) $(WARN_CFLAGS) $(COVERAGE_LDFLAGS) \
|
||||
$(top_builddir)/src/libvirt.la $(top_builddir)/gnulib/lib/libgnu.la
|
||||
|
||||
noinst_PROGRAMS=dominfo/info1 dommigrate/dommigrate domsuspend/suspend \
|
||||
domtop/domtop hellolibvirt/hellolibvirt object-events/event-test \
|
||||
openauth/openauth rename/rename
|
||||
|
||||
dominfo_info1_SOURCES = dominfo/info1.c
|
||||
dommigrate_dommigrate_SOURCES = dommigrate/dommigrate.c
|
||||
domsuspend_suspend_SOURCES = domsuspend/suspend.c
|
||||
domtop_domtop_SOURCES = domtop/domtop.c
|
||||
hellolibvirt_hellolibvirt_SOURCES = hellolibvirt/hellolibvirt.c
|
||||
object_events_event_test_SOURCES = object-events/event-test.c
|
||||
openauth_openauth_SOURCES = openauth/openauth.c
|
||||
rename_rename_SOURCES = rename/rename.c
|
||||
|
||||
if WITH_APPARMOR_PROFILES
|
||||
apparmordir = $(sysconfdir)/apparmor.d/
|
||||
apparmor_DATA = \
|
||||
apparmor/usr.lib.libvirt.virt-aa-helper \
|
||||
apparmor/usr.sbin.libvirtd \
|
||||
$(NULL)
|
||||
|
||||
abstractionsdir = $(apparmordir)/abstractions
|
||||
abstractions_DATA = \
|
||||
apparmor/libvirt-qemu \
|
||||
apparmor/libvirt-lxc \
|
||||
$(NULL)
|
||||
|
||||
templatesdir = $(apparmordir)/libvirt
|
||||
templates_DATA = \
|
||||
apparmor/TEMPLATE.qemu \
|
||||
apparmor/TEMPLATE.lxc \
|
||||
$(NULL)
|
||||
endif WITH_APPARMOR_PROFILES
|
||||
|
||||
if WITH_NWFILTER
|
||||
NWFILTER_DIR = "$(DESTDIR)$(sysconfdir)/libvirt/nwfilter"
|
||||
|
||||
install-data-local:
|
||||
$(MKDIR_P) "$(NWFILTER_DIR)"
|
||||
for f in $(FILTERS); do \
|
||||
$(INSTALL_DATA) $$f "$(NWFILTER_DIR)"; \
|
||||
done
|
||||
|
||||
uninstall-local::
|
||||
for f in $(FILTERS); do \
|
||||
rm -f "$(NWFILTER_DIR)/`basename $$f`"; \
|
||||
done
|
||||
-test -z $(shell ls $(NWFILTER_DIR)) || rmdir $(NWFILTER_DIR)
|
||||
endif WITH_NWFILTER
|
@@ -1,43 +0,0 @@
|
||||
## Copyright (C) 2005-2011, 2013 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
EXTRA_DIST= \
|
||||
TEMPLATE.qemu \
|
||||
TEMPLATE.lxc \
|
||||
libvirt-qemu \
|
||||
libvirt-lxc \
|
||||
usr.lib.libvirt.virt-aa-helper \
|
||||
usr.sbin.libvirtd
|
||||
|
||||
if WITH_APPARMOR_PROFILES
|
||||
apparmordir = $(sysconfdir)/apparmor.d/
|
||||
apparmor_DATA = \
|
||||
usr.lib.libvirt.virt-aa-helper \
|
||||
usr.sbin.libvirtd \
|
||||
$(NULL)
|
||||
|
||||
abstractionsdir = $(apparmordir)/abstractions
|
||||
abstractions_DATA = \
|
||||
libvirt-qemu \
|
||||
libvirt-lxc \
|
||||
$(NULL)
|
||||
|
||||
templatesdir = $(apparmordir)/libvirt
|
||||
templates_DATA = \
|
||||
TEMPLATE.qemu \
|
||||
TEMPLATE.lxc \
|
||||
$(NULL)
|
||||
endif WITH_APPARMOR_PROFILES
|
@@ -75,9 +75,12 @@
|
||||
/usr/bin/kvm rmix,
|
||||
/usr/bin/qemu rmix,
|
||||
/usr/bin/qemu-kvm rmix,
|
||||
/usr/bin/qemu-system-aarch64 rmix,
|
||||
/usr/bin/qemu-system-alpha rmix,
|
||||
/usr/bin/qemu-system-arm rmix,
|
||||
/usr/bin/qemu-system-cris rmix,
|
||||
/usr/bin/qemu-system-i386 rmix,
|
||||
/usr/bin/qemu-system-lm32 rmix,
|
||||
/usr/bin/qemu-system-m68k rmix,
|
||||
/usr/bin/qemu-system-microblaze rmix,
|
||||
/usr/bin/qemu-system-microblazeel rmix,
|
||||
@@ -85,14 +88,22 @@
|
||||
/usr/bin/qemu-system-mips64 rmix,
|
||||
/usr/bin/qemu-system-mips64el rmix,
|
||||
/usr/bin/qemu-system-mipsel rmix,
|
||||
/usr/bin/qemu-system-moxie rmix,
|
||||
/usr/bin/qemu-system-or32 rmix,
|
||||
/usr/bin/qemu-system-ppc rmix,
|
||||
/usr/bin/qemu-system-ppc64 rmix,
|
||||
/usr/bin/qemu-system-ppcemb rmix,
|
||||
/usr/bin/qemu-system-s390x rmix,
|
||||
/usr/bin/qemu-system-sh4 rmix,
|
||||
/usr/bin/qemu-system-sh4eb rmix,
|
||||
/usr/bin/qemu-system-sparc rmix,
|
||||
/usr/bin/qemu-system-sparc64 rmix,
|
||||
/usr/bin/qemu-system-tricore rmix,
|
||||
/usr/bin/qemu-system-unicore32 rmix,
|
||||
/usr/bin/qemu-system-x86_64 rmix,
|
||||
/usr/bin/qemu-system-xtensa rmix,
|
||||
/usr/bin/qemu-system-xtensaeb rmix,
|
||||
/usr/bin/qemu-aarch64 rmix,
|
||||
/usr/bin/qemu-alpha rmix,
|
||||
/usr/bin/qemu-arm rmix,
|
||||
/usr/bin/qemu-armeb rmix,
|
||||
@@ -102,16 +113,24 @@
|
||||
/usr/bin/qemu-microblaze rmix,
|
||||
/usr/bin/qemu-microblazeel rmix,
|
||||
/usr/bin/qemu-mips rmix,
|
||||
/usr/bin/qemu-mips64 rmix,
|
||||
/usr/bin/qemu-mips64el rmix,
|
||||
/usr/bin/qemu-mipsel rmix,
|
||||
/usr/bin/qemu-mipsn32 rmix,
|
||||
/usr/bin/qemu-mipsn32el rmix,
|
||||
/usr/bin/qemu-nbd rmix,
|
||||
/usr/bin/qemu-or32 rmix,
|
||||
/usr/bin/qemu-ppc rmix,
|
||||
/usr/bin/qemu-ppc64 rmix,
|
||||
/usr/bin/qemu-ppc64abi32 rmix,
|
||||
/usr/bin/qemu-ppc64le rmix,
|
||||
/usr/bin/qemu-s390x rmix,
|
||||
/usr/bin/qemu-sh4 rmix,
|
||||
/usr/bin/qemu-sh4eb rmix,
|
||||
/usr/bin/qemu-sparc rmix,
|
||||
/usr/bin/qemu-sparc64 rmix,
|
||||
/usr/bin/qemu-sparc32plus rmix,
|
||||
/usr/bin/qemu-sparc64 rmix,
|
||||
/usr/bin/qemu-unicore32 rmix,
|
||||
/usr/bin/qemu-x86_64 rmix,
|
||||
/usr/{lib,lib64}/qemu/block-curl.so mr,
|
||||
/usr/{lib,lib64}/qemu/block-rbd.so mr,
|
||||
|
@@ -1,25 +0,0 @@
|
||||
## Copyright (C) 2005-2013 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
|
||||
LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \
|
||||
$(COVERAGE_LDFLAGS)
|
||||
|
||||
noinst_PROGRAMS=info1
|
||||
|
||||
info1_SOURCES=info1.c
|
||||
info1_LDFLAGS=
|
||||
info1_LDADD= $(LDADDS)
|
@@ -1,5 +0,0 @@
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)
|
||||
noinst_PROGRAMS = dommigrate
|
||||
dommigrate_CFLAGS = $(WARN_CFLAGS)
|
||||
dommigrate_SOURCES = dommigrate.c
|
||||
dommigrate_LDADD = $(top_builddir)/src/libvirt.la
|
@@ -1,27 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
## Copyright (C) 2013 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
|
||||
LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \
|
||||
$(COVERAGE_LDFLAGS)
|
||||
|
||||
noinst_PROGRAMS=suspend
|
||||
|
||||
suspend_SOURCES=suspend.c
|
||||
suspend_LDFLAGS=
|
||||
suspend_LDADD= $(LDADDS)
|
@@ -21,6 +21,8 @@
|
||||
* Author: Michal Privoznik <mprivozn@redhat.com>
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <getopt.h>
|
||||
#include <libvirt/libvirt.h>
|
||||
@@ -32,6 +34,21 @@
|
||||
|
||||
static int debug;
|
||||
|
||||
/* On mingw, there's a header file that poisons the well:
|
||||
*
|
||||
*
|
||||
* CC domtop.o
|
||||
*domtop.c:40:0: warning: "ERROR" redefined [enabled by default]
|
||||
* #define ERROR(...) \
|
||||
* ^
|
||||
*In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:71:0,
|
||||
* from /usr/i686-w64-mingw32/sys-root/mingw/include/winsock2.h:23,
|
||||
* from ../../gnulib/lib/unistd.h:48,
|
||||
* from domtop.c:35:
|
||||
* /usr/i686-w64-mingw32/sys-root/mingw/include/wingdi.h:75:0: note: this is the location of the previous definition
|
||||
* #define ERROR 0
|
||||
*/
|
||||
#undef ERROR
|
||||
#define ERROR(...) \
|
||||
do { \
|
||||
fprintf(stderr, "ERROR %s:%d : ", __FUNCTION__, __LINE__); \
|
||||
|
@@ -1,29 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
## Copyright (C) 2014 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
|
||||
-I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib \
|
||||
-I$(top_srcdir)
|
||||
LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \
|
||||
$(top_builddir)/gnulib/lib/libgnu.la $(COVERAGE_LDFLAGS)
|
||||
|
||||
noinst_PROGRAMS=domtop
|
||||
|
||||
domtop_SOURCES=domtop.c
|
||||
domtop_LDFLAGS=
|
||||
domtop_LDADD= $(LDADDS)
|
@@ -1,21 +0,0 @@
|
||||
## Copyright (C) 2005-2013 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)
|
||||
noinst_PROGRAMS = hellolibvirt
|
||||
hellolibvirt_CFLAGS = $(WARN_CFLAGS)
|
||||
hellolibvirt_SOURCES = hellolibvirt.c
|
||||
hellolibvirt_LDADD = $(top_builddir)/src/libvirt.la
|
@@ -1,18 +0,0 @@
|
||||
## Copyright (C) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
EXTRA_DIST= \
|
||||
virt-lxc-convert
|
@@ -1,24 +0,0 @@
|
||||
## Copyright (C) 2005-2011, 2013 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
|
||||
-I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib \
|
||||
-I$(top_srcdir)
|
||||
noinst_PROGRAMS = event-test
|
||||
event_test_CFLAGS = $(WARN_CFLAGS)
|
||||
event_test_SOURCES = event-test.c
|
||||
event_test_LDADD = $(top_builddir)/src/libvirt.la \
|
||||
$(top_builddir)/gnulib/lib/libgnu.la
|
@@ -108,10 +108,16 @@ static const char *eventDetailToString(int event, int detail) {
|
||||
ret = "Added";
|
||||
else if (detail == VIR_DOMAIN_EVENT_DEFINED_UPDATED)
|
||||
ret = "Updated";
|
||||
else if (detail == VIR_DOMAIN_EVENT_DEFINED_RENAMED)
|
||||
ret = "Renamed";
|
||||
else if (detail == VIR_DOMAIN_EVENT_DEFINED_FROM_SNAPSHOT)
|
||||
ret = "Snapshot";
|
||||
break;
|
||||
case VIR_DOMAIN_EVENT_UNDEFINED:
|
||||
if (detail == VIR_DOMAIN_EVENT_UNDEFINED_REMOVED)
|
||||
ret = "Removed";
|
||||
else if (detail == VIR_DOMAIN_EVENT_UNDEFINED_RENAMED)
|
||||
ret = "Renamed";
|
||||
break;
|
||||
case VIR_DOMAIN_EVENT_STARTED:
|
||||
switch ((virDomainEventStartedDetailType) detail) {
|
||||
@@ -155,6 +161,12 @@ static const char *eventDetailToString(int event, int detail) {
|
||||
case VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR:
|
||||
ret = "API error";
|
||||
break;
|
||||
case VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY:
|
||||
ret = "Post-copy";
|
||||
break;
|
||||
case VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY_FAILED:
|
||||
ret = "Post-copy Error";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VIR_DOMAIN_EVENT_RESUMED:
|
||||
@@ -168,6 +180,9 @@ static const char *eventDetailToString(int event, int detail) {
|
||||
case VIR_DOMAIN_EVENT_RESUMED_FROM_SNAPSHOT:
|
||||
ret = "Snapshot";
|
||||
break;
|
||||
case VIR_DOMAIN_EVENT_RESUMED_POSTCOPY:
|
||||
ret = "Post-copy";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case VIR_DOMAIN_EVENT_STOPPED:
|
||||
@@ -601,6 +616,8 @@ static void stop(int sig)
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int ret = EXIT_FAILURE;
|
||||
virConnectPtr dconn = NULL;
|
||||
int callback1ret = -1;
|
||||
int callback2ret = -1;
|
||||
int callback3ret = -1;
|
||||
@@ -628,32 +645,34 @@ int main(int argc, char **argv)
|
||||
|
||||
if (argc > 1 && STREQ(argv[1], "--help")) {
|
||||
usage(argv[0]);
|
||||
return -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (virInitialize() < 0) {
|
||||
fprintf(stderr, "Failed to initialize libvirt");
|
||||
return -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (virEventRegisterDefaultImpl() < 0) {
|
||||
virErrorPtr err = virGetLastError();
|
||||
fprintf(stderr, "Failed to register event implementation: %s\n",
|
||||
err && err->message ? err->message: "Unknown error");
|
||||
return -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
virConnectPtr dconn = NULL;
|
||||
dconn = virConnectOpenAuth(argc > 1 ? argv[1] : NULL,
|
||||
virConnectAuthPtrDefault,
|
||||
VIR_CONNECT_RO);
|
||||
if (!dconn) {
|
||||
printf("error opening\n");
|
||||
return -1;
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
virConnectRegisterCloseCallback(dconn,
|
||||
connectClose, NULL, NULL);
|
||||
if (virConnectRegisterCloseCallback(dconn,
|
||||
connectClose, NULL, NULL) < 0) {
|
||||
fprintf(stderr, "Unable to register close callback\n");
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
sigaction(SIGTERM, &action_stop, NULL);
|
||||
sigaction(SIGINT, &action_stop, NULL);
|
||||
@@ -754,69 +773,75 @@ int main(int argc, char **argv)
|
||||
VIR_DOMAIN_EVENT_CALLBACK(myDomainEventDeviceAddedCallback),
|
||||
strdup("device added"), myFreeFunc);
|
||||
|
||||
if ((callback1ret != -1) &&
|
||||
(callback2ret != -1) &&
|
||||
(callback3ret != -1) &&
|
||||
(callback4ret != -1) &&
|
||||
(callback5ret != -1) &&
|
||||
(callback6ret != -1) &&
|
||||
(callback7ret != -1) &&
|
||||
(callback9ret != -1) &&
|
||||
(callback10ret != -1) &&
|
||||
(callback11ret != -1) &&
|
||||
(callback12ret != -1) &&
|
||||
(callback13ret != -1) &&
|
||||
(callback14ret != -1) &&
|
||||
(callback15ret != -1) &&
|
||||
(callback16ret != -1) &&
|
||||
(callback17ret != -1) &&
|
||||
(callback18ret != -1) &&
|
||||
(callback19ret != -1)) {
|
||||
if (virConnectSetKeepAlive(dconn, 5, 3) < 0) {
|
||||
virErrorPtr err = virGetLastError();
|
||||
fprintf(stderr, "Failed to start keepalive protocol: %s\n",
|
||||
err && err->message ? err->message : "Unknown error");
|
||||
run = 0;
|
||||
}
|
||||
if ((callback1ret == -1) ||
|
||||
(callback2ret == -1) ||
|
||||
(callback3ret == -1) ||
|
||||
(callback4ret == -1) ||
|
||||
(callback5ret == -1) ||
|
||||
(callback6ret == -1) ||
|
||||
(callback7ret == -1) ||
|
||||
(callback9ret == -1) ||
|
||||
(callback10ret == -1) ||
|
||||
(callback11ret == -1) ||
|
||||
(callback12ret == -1) ||
|
||||
(callback13ret == -1) ||
|
||||
(callback14ret == -1) ||
|
||||
(callback15ret == -1) ||
|
||||
(callback16ret == -1) ||
|
||||
(callback17ret == -1) ||
|
||||
(callback18ret == -1) ||
|
||||
(callback19ret == -1))
|
||||
goto cleanup;
|
||||
|
||||
while (run) {
|
||||
if (virEventRunDefaultImpl() < 0) {
|
||||
virErrorPtr err = virGetLastError();
|
||||
fprintf(stderr, "Failed to run event loop: %s\n",
|
||||
err && err->message ? err->message : "Unknown error");
|
||||
}
|
||||
}
|
||||
|
||||
VIR_DEBUG("Deregistering event handlers");
|
||||
virConnectDomainEventDeregister(dconn, myDomainEventCallback1);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback2ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback3ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback4ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback5ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback6ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback7ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback9ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback10ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback11ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback12ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback13ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback14ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback15ret);
|
||||
virConnectNetworkEventDeregisterAny(dconn, callback16ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback17ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback18ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback19ret);
|
||||
|
||||
if (callback8ret != -1)
|
||||
virConnectDomainEventDeregisterAny(dconn, callback8ret);
|
||||
if (virConnectSetKeepAlive(dconn, 5, 3) < 0) {
|
||||
virErrorPtr err = virGetLastError();
|
||||
fprintf(stderr, "Failed to start keepalive protocol: %s\n",
|
||||
err && err->message ? err->message : "Unknown error");
|
||||
run = 0;
|
||||
}
|
||||
|
||||
while (run) {
|
||||
if (virEventRunDefaultImpl() < 0) {
|
||||
virErrorPtr err = virGetLastError();
|
||||
fprintf(stderr, "Failed to run event loop: %s\n",
|
||||
err && err->message ? err->message : "Unknown error");
|
||||
}
|
||||
}
|
||||
|
||||
VIR_DEBUG("Deregistering event handlers");
|
||||
virConnectDomainEventDeregister(dconn, myDomainEventCallback1);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback2ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback3ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback4ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback5ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback6ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback7ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback9ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback10ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback11ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback12ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback13ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback14ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback15ret);
|
||||
virConnectNetworkEventDeregisterAny(dconn, callback16ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback17ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback18ret);
|
||||
virConnectDomainEventDeregisterAny(dconn, callback19ret);
|
||||
|
||||
if (callback8ret != -1)
|
||||
virConnectDomainEventDeregisterAny(dconn, callback8ret);
|
||||
|
||||
virConnectUnregisterCloseCallback(dconn, connectClose);
|
||||
ret = EXIT_SUCCESS;
|
||||
|
||||
VIR_DEBUG("Closing connection");
|
||||
if (dconn && virConnectClose(dconn) < 0)
|
||||
printf("error closing\n");
|
||||
|
||||
printf("done\n");
|
||||
return 0;
|
||||
cleanup:
|
||||
if (dconn) {
|
||||
VIR_DEBUG("Closing connection");
|
||||
if (virConnectClose(dconn) < 0)
|
||||
printf("error closing\n");
|
||||
printf("done\n");
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@@ -1,21 +0,0 @@
|
||||
## Copyright (C) 2005-2013 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)
|
||||
noinst_PROGRAMS = openauth
|
||||
openauth_CFLAGS = $(WARN_CFLAGS)
|
||||
openauth_SOURCES = openauth.c
|
||||
openauth_LDADD = $(top_builddir)/src/libvirt.la
|
130
examples/polkit/libvirt-acl.rules
Normal file
130
examples/polkit/libvirt-acl.rules
Normal file
@@ -0,0 +1,130 @@
|
||||
/*
|
||||
* This example defines two groups of roles any user/group can be assigned to.
|
||||
* An "admin" role which grants full access to all APIs on all objects to its
|
||||
* members, and other roles which allows their members to all APIs defined in
|
||||
* restrictedActions on domains matching a regular expressions assigned to
|
||||
* each role. (Jump below the Role class definition to see them.) Users who
|
||||
* belong to an "operator" role can act on any domain (matching ".*" RE),
|
||||
* while members of "userA", "userB", and "userC" roles are limited by more
|
||||
* specific REs.
|
||||
*
|
||||
* A virtualization host admin would define domains with names prefixed by
|
||||
* customer names and create a separate role for each customer restricting
|
||||
* its members to manage only domains with the corresponding prefix.
|
||||
*/
|
||||
|
||||
function Role(name) {
|
||||
this.name = name;
|
||||
|
||||
this.users = [];
|
||||
this.groups = [];
|
||||
|
||||
this.check = function(subject, api, domain) {
|
||||
var validUser = false
|
||||
|
||||
if (this.users.indexOf(subject.user) >= 0) {
|
||||
validUser = true;
|
||||
} else {
|
||||
for (var i = 0; i < subject.groups.length; i++) {
|
||||
if (this.groups.indexOf(subject.groups[i]) >= 0) {
|
||||
validUser = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (validUser &&
|
||||
(this.name == "admin" ||
|
||||
!domain ||
|
||||
(this.domains && domain.match(this.domains)))) {
|
||||
var msg = "Access granted: " +
|
||||
"user = " + subject.user +
|
||||
", groups = [" + subject.groups + "]" +
|
||||
", role = " + this.name +
|
||||
", api = " + api;
|
||||
if (domain)
|
||||
msg += ", domain = " + domain;
|
||||
polkit.log(msg);
|
||||
return true
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/* Basic operations and monitoring on a limited set of domains. */
|
||||
var userA = new Role("userA");
|
||||
userA.domains = /^a/;
|
||||
userA.users = ["userA1", "userA2", "userA3", "multiUser"];
|
||||
userA.groups = ["groupA1", "groupA2"];
|
||||
|
||||
var userB = new Role("userB");
|
||||
userB.domains = /^b/;
|
||||
userB.users = ["userB1", "userB2", "userB3", "multiUser"];
|
||||
userB.groups = ["groupB1", "groupB2", "multiGroup"];
|
||||
|
||||
var userC = new Role("userC");
|
||||
userC.domains = /^c/;
|
||||
userC.users = ["userC1", "userC2", "userC3"];
|
||||
userC.groups = ["groupC1", "groupC2", "multiGroup"];
|
||||
|
||||
/* Same as users but on any domain. */
|
||||
var operator = new Role("operator");
|
||||
operator.domains = /.*/;
|
||||
operator.users = ["powerUser1", "powerUser2"];
|
||||
operator.groups = ["powerGroup1", "powerGroup2", "powerGroup3"];
|
||||
|
||||
var users = [operator, userA, userB, userC];
|
||||
|
||||
/* Full access. */
|
||||
var admin = new Role("admin");
|
||||
admin.users = ["adminUser1"];
|
||||
admin.groups = ["adminGroup1"];
|
||||
|
||||
|
||||
restrictedActions = [
|
||||
"domain.core-dump",
|
||||
"domain.fs-freeze",
|
||||
"domain.fs-trim",
|
||||
"domain.getattr",
|
||||
"domain.hibernate",
|
||||
"domain.init-control",
|
||||
"domain.inject-nmi",
|
||||
"domain.open-device",
|
||||
"domain.open-graphics",
|
||||
"domain.pm-control",
|
||||
"domain.read",
|
||||
"domain.reset",
|
||||
"domain.save",
|
||||
"domain.screenshot",
|
||||
"domain.send-input",
|
||||
"domain.send-signal",
|
||||
"domain.set-password",
|
||||
"domain.set-time",
|
||||
"domain.snapshot",
|
||||
"domain.start",
|
||||
"domain.stop",
|
||||
"domain.suspend"
|
||||
];
|
||||
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (action.id.indexOf("org.libvirt.api.") != 0)
|
||||
return polkit.Result.NOT_HANDLED;
|
||||
|
||||
var api = action.id.replace("org.libvirt.api.", "");
|
||||
var domain = action.lookup("domain_name");
|
||||
|
||||
if (admin.check(subject, api, domain))
|
||||
return polkit.Result.YES;
|
||||
|
||||
if (restrictedActions.indexOf(api) < 0)
|
||||
return polkit.Result.NOT_HANDLED;
|
||||
|
||||
for (var i = 0; i < users.length; i++) {
|
||||
if (users[i].check(subject, api, domain))
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
|
||||
return polkit.Result.NO;
|
||||
});
|
73
examples/rename/rename.c
Normal file
73
examples/rename/rename.c
Normal file
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* rename.c
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <libvirt/libvirt.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
virConnectPtr conn = NULL; /* the hypervisor connection */
|
||||
virDomainPtr dom = NULL; /* the domain being checked */
|
||||
int ret = EXIT_FAILURE;
|
||||
|
||||
if (argc != 3) {
|
||||
fprintf(stderr, "Usage: %s <current_domname> <temporary_domname>\n",
|
||||
argv[0]);
|
||||
goto error;
|
||||
}
|
||||
|
||||
conn = virConnectOpen(NULL);
|
||||
if (conn == NULL) {
|
||||
fprintf(stderr, "Failed to connect to hypervisor\n");
|
||||
goto error;
|
||||
}
|
||||
|
||||
dom = virDomainLookupByName(conn, argv[1]);
|
||||
if (dom == NULL) {
|
||||
fprintf(stderr, "Failed to find domain\n");
|
||||
goto error;
|
||||
}
|
||||
|
||||
printf("Before first rename: %s\n", virDomainGetName(dom));
|
||||
|
||||
/* Get the information */
|
||||
ret = virDomainRename(dom, argv[2], 0);
|
||||
if (ret < 0) {
|
||||
fprintf(stderr, "Failed to rename domain\n");
|
||||
goto error;
|
||||
}
|
||||
|
||||
printf("After first rename: %s\n", virDomainGetName(dom));
|
||||
|
||||
/* Get the information */
|
||||
ret = virDomainRename(dom, argv[1], 0);
|
||||
if (ret < 0) {
|
||||
fprintf(stderr, "Failed to rename domain\n");
|
||||
goto error;
|
||||
}
|
||||
|
||||
printf("After second rename: %s\n", virDomainGetName(dom));
|
||||
|
||||
error:
|
||||
if (dom != NULL)
|
||||
virDomainFree(dom);
|
||||
if (conn != NULL)
|
||||
virConnectClose(conn);
|
||||
return ret;
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
## Copyright (C) 2005-2011, 2013 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
EXTRA_DIST = \
|
||||
events.stp \
|
||||
rpc-monitor.stp
|
@@ -1,54 +0,0 @@
|
||||
## Copyright (C) 2005-2011, 2013 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
FILTERS = \
|
||||
allow-arp.xml \
|
||||
allow-dhcp-server.xml \
|
||||
allow-dhcp.xml \
|
||||
allow-incoming-ipv4.xml \
|
||||
allow-ipv4.xml \
|
||||
clean-traffic.xml \
|
||||
no-arp-spoofing.xml \
|
||||
no-arp-ip-spoofing.xml \
|
||||
no-arp-mac-spoofing.xml \
|
||||
no-ip-multicast.xml \
|
||||
no-ip-spoofing.xml \
|
||||
no-mac-broadcast.xml \
|
||||
no-mac-spoofing.xml \
|
||||
no-other-l2-traffic.xml \
|
||||
no-other-rarp-traffic.xml \
|
||||
qemu-announce-self.xml \
|
||||
qemu-announce-self-rarp.xml
|
||||
|
||||
EXTRA_DIST=$(FILTERS)
|
||||
|
||||
confdir = $(sysconfdir)/libvirt
|
||||
|
||||
NWFILTER_DIR = "$(DESTDIR)$(sysconfdir)/libvirt/nwfilter"
|
||||
|
||||
if WITH_NWFILTER
|
||||
install-data-local:
|
||||
$(MKDIR_P) "$(NWFILTER_DIR)"
|
||||
for f in $(FILTERS); do \
|
||||
$(INSTALL_DATA) $(srcdir)/$$f "$(NWFILTER_DIR)"; \
|
||||
done
|
||||
|
||||
uninstall-local::
|
||||
for f in $(FILTERS); do \
|
||||
rm -f "$(NWFILTER_DIR)/$$f"; \
|
||||
done
|
||||
-test -z $(shell ls $(NWFILTER_DIR)) || rmdir $(NWFILTER_DIR)
|
||||
endif WITH_NWFILTER
|
@@ -5,7 +5,7 @@ index 209d64c..5ea72a1 100644
|
||||
@@ -1,4 +1,4 @@
|
||||
-# ssize_t.m4 serial 5 (gettext-0.18.2)
|
||||
+# ssize_t.m4 serial 6 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2001-2003, 2006, 2010-2015 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2001-2003, 2006, 2010-2016 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
@@ -17,7 +17,21 @@ AC_DEFUN([gt_TYPE_SSIZE_T],
|
||||
|
@@ -1,6 +1,6 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
## Copyright (C) 2005-2011, 2013 Red Hat, Inc.
|
||||
## Copyright (C) 2005-2011, 2013-2016 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
@@ -16,4 +16,17 @@
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
SUBDIRS=libvirt
|
||||
virincdir = $(includedir)/libvirt
|
||||
|
||||
allheaders = $(wildcard $(srcdir)/libvirt/*.h)
|
||||
virinc_HEADERS = $(filter-out $(srcdir)/libvirt/libvirt-admin.h \
|
||||
$(srcdir)/libvirt/libvirt-common.h, $(allheaders))
|
||||
virinc_HEADERS += libvirt/libvirt-common.h
|
||||
|
||||
EXTRA_DIST = libvirt/libvirt-common.h.in
|
||||
|
||||
# Temporarily disabled, but we need it for building
|
||||
EXTRA_DIST += libvirt/libvirt-admin.h
|
||||
|
||||
install-exec-hook:
|
||||
$(mkinstalldirs) $(DESTDIR)$(virincdir)
|
||||
|
@@ -1,43 +0,0 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
## Copyright (C) 2005-2011, 2013-2015 Red Hat, Inc.
|
||||
##
|
||||
## This library is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU Lesser General Public
|
||||
## License as published by the Free Software Foundation; either
|
||||
## version 2.1 of the License, or (at your option) any later version.
|
||||
##
|
||||
## This library is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
## Lesser General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU Lesser General Public
|
||||
## License along with this library. If not, see
|
||||
## <http://www.gnu.org/licenses/>.
|
||||
|
||||
virincdir = $(includedir)/libvirt
|
||||
|
||||
virinc_HEADERS = libvirt.h \
|
||||
libvirt-domain.h \
|
||||
libvirt-domain-snapshot.h \
|
||||
libvirt-event.h \
|
||||
libvirt-host.h \
|
||||
libvirt-interface.h \
|
||||
libvirt-network.h \
|
||||
libvirt-nodedev.h \
|
||||
libvirt-nwfilter.h \
|
||||
libvirt-secret.h \
|
||||
libvirt-storage.h \
|
||||
libvirt-stream.h \
|
||||
libvirt-lxc.h \
|
||||
libvirt-qemu.h \
|
||||
virterror.h
|
||||
|
||||
install-exec-hook:
|
||||
$(mkinstalldirs) $(DESTDIR)$(virincdir)
|
||||
|
||||
EXTRA_DIST = libvirt.h.in
|
||||
|
||||
# Temporarily disabled, but we need it for building
|
||||
EXTRA_DIST += libvirt-admin.h
|
@@ -26,12 +26,13 @@
|
||||
#ifndef __VIR_ADMIN_H__
|
||||
# define __VIR_ADMIN_H__
|
||||
|
||||
# include "internal.h"
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
# define __VIR_ADMIN_H_INCLUDES__
|
||||
# include <libvirt/libvirt-common.h>
|
||||
# undef __VIR_ADMIN_H_INCLUDES__
|
||||
|
||||
/**
|
||||
* virAdmConnect:
|
||||
@@ -41,6 +42,14 @@ extern "C" {
|
||||
*/
|
||||
typedef struct _virAdmConnect virAdmConnect;
|
||||
|
||||
/**
|
||||
* virAdmServer:
|
||||
*
|
||||
* a virAdmServer is a private structure and client-side representation of
|
||||
* a remote server object
|
||||
*/
|
||||
typedef struct _virAdmServer virAdmServer;
|
||||
|
||||
/**
|
||||
* virAdmConnectPtr:
|
||||
*
|
||||
@@ -50,10 +59,56 @@ typedef struct _virAdmConnect virAdmConnect;
|
||||
*/
|
||||
typedef virAdmConnect *virAdmConnectPtr;
|
||||
|
||||
/**
|
||||
* virAdmServerPtr:
|
||||
*
|
||||
* a virAdmServerPtr is a pointer to a virAdmServer structure,
|
||||
* this is the type used to reference client-side representation of a
|
||||
* remote server object throughout all the APIs.
|
||||
*/
|
||||
typedef virAdmServer *virAdmServerPtr;
|
||||
|
||||
virAdmConnectPtr virAdmConnectOpen(const char *name, unsigned int flags);
|
||||
int virAdmConnectClose(virAdmConnectPtr conn);
|
||||
|
||||
int virAdmConnectRef(virAdmConnectPtr conn);
|
||||
int virAdmConnectIsAlive(virAdmConnectPtr conn);
|
||||
int virAdmServerFree(virAdmServerPtr srv);
|
||||
|
||||
int virAdmConnectListServers(virAdmConnectPtr dmn,
|
||||
virAdmServerPtr **servers,
|
||||
unsigned int flags);
|
||||
|
||||
int virAdmGetVersion(unsigned long long *libVer);
|
||||
|
||||
char *virAdmConnectGetURI(virAdmConnectPtr conn);
|
||||
|
||||
int virAdmConnectGetLibVersion(virAdmConnectPtr conn,
|
||||
unsigned long long *libVer);
|
||||
|
||||
/**
|
||||
* virAdmConnectCloseFunc:
|
||||
* @conn: virAdmConnect connection
|
||||
* @reason: reason why the connection was closed (see virConnectCloseReason)
|
||||
* @opaque: opaque client data
|
||||
*
|
||||
* A callback to be registered, in case a connection was closed.
|
||||
*/
|
||||
typedef void (*virAdmConnectCloseFunc)(virAdmConnectPtr conn,
|
||||
int reason,
|
||||
void *opaque);
|
||||
|
||||
int virAdmConnectRegisterCloseCallback(virAdmConnectPtr conn,
|
||||
virAdmConnectCloseFunc cb,
|
||||
void *opaque,
|
||||
virFreeCallback freecb);
|
||||
int virAdmConnectUnregisterCloseCallback(virAdmConnectPtr conn,
|
||||
virAdmConnectCloseFunc cb);
|
||||
|
||||
const char *virAdmServerGetName(virAdmServerPtr srv);
|
||||
|
||||
virAdmServerPtr virAdmConnectLookupServer(virAdmConnectPtr conn,
|
||||
const char *name,
|
||||
unsigned int flags);
|
||||
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
|
@@ -1,10 +1,10 @@
|
||||
/* -*- c -*-
|
||||
* libvirt.h: Core interfaces for the libvirt library
|
||||
* Summary: core interfaces for the libvirt library
|
||||
* Description: Provides the interfaces of the libvirt library to handle
|
||||
* virtualized domains
|
||||
* libvirt-common.h
|
||||
* Summary: common macros and enums for the libvirt and libvirt-admin library
|
||||
* Description: Provides common macros and enums needed by both libvirt and
|
||||
* libvirt-admin libraries
|
||||
*
|
||||
* Copyright (C) 2005-2006, 2010-2014 Red Hat, Inc.
|
||||
* Copyright (C) 2015 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -20,11 +20,15 @@
|
||||
* License along with this library. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Author: Daniel Veillard <veillard@redhat.com>
|
||||
* Author: Erik Skultety <eskultet@redhat.com>
|
||||
*/
|
||||
|
||||
#ifndef __VIR_VIRLIB_H__
|
||||
# define __VIR_VIRLIB_H__
|
||||
#if !defined __VIR_LIBVIRT_H_INCLUDES__ && !defined __VIR_ADMIN_H_INCLUDES__
|
||||
# error "Don't include this file directly"
|
||||
#endif
|
||||
|
||||
#ifndef __VIR_VIRCOMMON_H__
|
||||
# define __VIR_VIRCOMMON_H__
|
||||
|
||||
# include <sys/types.h>
|
||||
|
||||
@@ -88,22 +92,36 @@ extern "C" {
|
||||
# define LIBVIR_CHECK_VERSION(major, minor, micro) \
|
||||
((major) * 1000000 + (minor) * 1000 + (micro) <= LIBVIR_VERSION_NUMBER)
|
||||
|
||||
# define __VIR_LIBVIRT_H_INCLUDES__
|
||||
# include <libvirt/libvirt-host.h>
|
||||
# include <libvirt/libvirt-domain.h>
|
||||
# include <libvirt/libvirt-domain-snapshot.h>
|
||||
# include <libvirt/libvirt-event.h>
|
||||
# include <libvirt/libvirt-interface.h>
|
||||
# include <libvirt/libvirt-network.h>
|
||||
# include <libvirt/libvirt-nodedev.h>
|
||||
# include <libvirt/libvirt-nwfilter.h>
|
||||
# include <libvirt/libvirt-secret.h>
|
||||
# include <libvirt/libvirt-storage.h>
|
||||
# include <libvirt/libvirt-stream.h>
|
||||
# undef __VIR_LIBVIRT_H_INCLUDES__
|
||||
/*
|
||||
* virFreeCallback:
|
||||
* @opaque: opaque user data provided at registration
|
||||
*
|
||||
* Type for a callback cleanup function to be paired with a callback. This
|
||||
* function will be called as a final chance to clean up the @opaque
|
||||
* registered with the primary callback, at the time when the primary
|
||||
* callback is deregistered.
|
||||
*
|
||||
* It is forbidden to call any other libvirt APIs from an
|
||||
* implementation of this callback, since it can be invoked
|
||||
* from a context which is not re-entrant safe. Failure to
|
||||
* abide by this requirement may lead to application deadlocks
|
||||
* or crashes.
|
||||
*/
|
||||
typedef void (*virFreeCallback)(void *opaque);
|
||||
|
||||
typedef enum {
|
||||
VIR_CONNECT_CLOSE_REASON_ERROR = 0, /* Misc I/O error */
|
||||
VIR_CONNECT_CLOSE_REASON_EOF = 1, /* End-of-file from server */
|
||||
VIR_CONNECT_CLOSE_REASON_KEEPALIVE = 2, /* Keepalive timer triggered */
|
||||
VIR_CONNECT_CLOSE_REASON_CLIENT = 3, /* Client requested it */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_CONNECT_CLOSE_REASON_LAST
|
||||
# endif
|
||||
} virConnectCloseReason;
|
||||
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif /* __VIR_VIRLIB_H__ */
|
||||
#endif /* __VIR_VIRCOMMON_H__ */
|
@@ -90,6 +90,7 @@ typedef enum {
|
||||
VIR_DOMAIN_RUNNING_WAKEUP = 8, /* returned from pmsuspended due to
|
||||
wakeup event */
|
||||
VIR_DOMAIN_RUNNING_CRASHED = 9, /* resumed from crashed */
|
||||
VIR_DOMAIN_RUNNING_POSTCOPY = 10, /* running in post-copy migration mode */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_DOMAIN_RUNNING_LAST
|
||||
@@ -117,6 +118,8 @@ typedef enum {
|
||||
VIR_DOMAIN_PAUSED_SNAPSHOT = 9, /* paused while creating a snapshot */
|
||||
VIR_DOMAIN_PAUSED_CRASHED = 10, /* paused due to a guest crash */
|
||||
VIR_DOMAIN_PAUSED_STARTING_UP = 11, /* the domain is being started */
|
||||
VIR_DOMAIN_PAUSED_POSTCOPY = 12, /* paused for post-copy migration */
|
||||
VIR_DOMAIN_PAUSED_POSTCOPY_FAILED = 13, /* paused after failed post-copy */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_DOMAIN_PAUSED_LAST
|
||||
@@ -311,6 +314,22 @@ typedef enum {
|
||||
*/
|
||||
# define VIR_DOMAIN_SCHEDULER_CPU_SHARES "cpu_shares"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_SCHEDULER_GLOBAL_PERIOD:
|
||||
*
|
||||
* Macro represents the enforcement period for a quota, in microseconds,
|
||||
* for whole domain, when using the posix scheduler, as a ullong.
|
||||
*/
|
||||
# define VIR_DOMAIN_SCHEDULER_GLOBAL_PERIOD "global_period"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_SCHEDULER_GLOBAL_QUOTA:
|
||||
*
|
||||
* Macro represents the maximum bandwidth to be used within a period for
|
||||
* whole domain, when using the posix scheduler, as an llong.
|
||||
*/
|
||||
# define VIR_DOMAIN_SCHEDULER_GLOBAL_QUOTA "global_quota"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_SCHEDULER_VCPU_PERIOD:
|
||||
*
|
||||
@@ -659,6 +678,7 @@ typedef enum {
|
||||
VIR_MIGRATE_ABORT_ON_ERROR = (1 << 12), /* abort migration on I/O errors happened during migration */
|
||||
VIR_MIGRATE_AUTO_CONVERGE = (1 << 13), /* force convergence */
|
||||
VIR_MIGRATE_RDMA_PIN_ALL = (1 << 14), /* RDMA memory pinning */
|
||||
VIR_MIGRATE_POSTCOPY = (1 << 15), /* enable (but do not start) post-copy migration */
|
||||
} virDomainMigrateFlags;
|
||||
|
||||
|
||||
@@ -757,6 +777,16 @@ typedef enum {
|
||||
*/
|
||||
# define VIR_MIGRATE_PARAM_MIGRATE_DISKS "migrate_disks"
|
||||
|
||||
/**
|
||||
* VIR_MIGRATE_PARAM_DISKS_PORT:
|
||||
*
|
||||
* virDomainMigrate* params field: port that destination server should use
|
||||
* for incoming disks migration. Type is VIR_TYPED_PARAM_INT. If set to 0 or
|
||||
* omitted, libvirt will choose a suitable default. At the moment this is only
|
||||
* supported by the QEMU driver.
|
||||
*/
|
||||
# define VIR_MIGRATE_PARAM_DISKS_PORT "disks_port"
|
||||
|
||||
/* Domain migration. */
|
||||
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
|
||||
unsigned long flags, const char *dname,
|
||||
@@ -807,6 +837,9 @@ int virDomainMigrateGetMaxSpeed(virDomainPtr domain,
|
||||
unsigned long *bandwidth,
|
||||
unsigned int flags);
|
||||
|
||||
int virDomainMigrateStartPostCopy(virDomainPtr domain,
|
||||
unsigned int flags);
|
||||
|
||||
char * virConnectGetDomainCapabilities(virConnectPtr conn,
|
||||
const char *emulatorbin,
|
||||
const char *arch,
|
||||
@@ -1334,6 +1367,13 @@ int virDomainInterfaceStats (virDomainPtr dom,
|
||||
*/
|
||||
# define VIR_DOMAIN_BANDWIDTH_IN_BURST "inbound.burst"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_BANDWIDTH_IN_FLOOR:
|
||||
*
|
||||
* Macro represents the inbound floor of NIC bandwidth, as a uint.
|
||||
*/
|
||||
# define VIR_DOMAIN_BANDWIDTH_IN_FLOOR "inbound.floor"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE:
|
||||
*
|
||||
@@ -1764,6 +1804,7 @@ typedef enum {
|
||||
VIR_DOMAIN_STATS_VCPU = (1 << 3), /* return domain virtual CPU info */
|
||||
VIR_DOMAIN_STATS_INTERFACE = (1 << 4), /* return domain interfaces info */
|
||||
VIR_DOMAIN_STATS_BLOCK = (1 << 5), /* return domain block info */
|
||||
VIR_DOMAIN_STATS_PERF = (1 << 6), /* return domain perf event info */
|
||||
} virDomainStatsTypes;
|
||||
|
||||
typedef enum {
|
||||
@@ -1794,6 +1835,26 @@ int virDomainListGetStats(virDomainPtr *doms,
|
||||
|
||||
void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
|
||||
|
||||
/*
|
||||
* Perf Event API
|
||||
*/
|
||||
|
||||
/**
|
||||
* VIR_PERF_PARAM_CMT:
|
||||
*
|
||||
* Macro for typed parameter name that represents CMT perf event.
|
||||
*/
|
||||
# define VIR_PERF_PARAM_CMT "cmt"
|
||||
|
||||
int virDomainGetPerfEvents(virDomainPtr dom,
|
||||
virTypedParameterPtr *params,
|
||||
int *nparams,
|
||||
unsigned int flags);
|
||||
int virDomainSetPerfEvents(virDomainPtr dom,
|
||||
virTypedParameterPtr params,
|
||||
int nparams,
|
||||
unsigned int flags);
|
||||
|
||||
/*
|
||||
* BlockJob API
|
||||
*/
|
||||
@@ -2322,6 +2383,8 @@ typedef enum {
|
||||
typedef enum {
|
||||
VIR_DOMAIN_EVENT_DEFINED_ADDED = 0, /* Newly created config file */
|
||||
VIR_DOMAIN_EVENT_DEFINED_UPDATED = 1, /* Changed config file */
|
||||
VIR_DOMAIN_EVENT_DEFINED_RENAMED = 2, /* Domain was renamed */
|
||||
VIR_DOMAIN_EVENT_DEFINED_FROM_SNAPSHOT = 3, /* Config was restored from a snapshot */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_DOMAIN_EVENT_DEFINED_LAST
|
||||
@@ -2335,6 +2398,7 @@ typedef enum {
|
||||
*/
|
||||
typedef enum {
|
||||
VIR_DOMAIN_EVENT_UNDEFINED_REMOVED = 0, /* Deleted the config file */
|
||||
VIR_DOMAIN_EVENT_UNDEFINED_RENAMED = 1, /* Domain was renamed */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_DOMAIN_EVENT_UNDEFINED_LAST
|
||||
@@ -2371,6 +2435,8 @@ typedef enum {
|
||||
VIR_DOMAIN_EVENT_SUSPENDED_RESTORED = 4, /* Restored from paused state file */
|
||||
VIR_DOMAIN_EVENT_SUSPENDED_FROM_SNAPSHOT = 5, /* Restored from paused snapshot */
|
||||
VIR_DOMAIN_EVENT_SUSPENDED_API_ERROR = 6, /* suspended after failure during libvirt API call */
|
||||
VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY = 7, /* suspended for post-copy migration */
|
||||
VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY_FAILED = 8, /* suspended after failed post-copy */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_DOMAIN_EVENT_SUSPENDED_LAST
|
||||
@@ -2386,6 +2452,8 @@ typedef enum {
|
||||
VIR_DOMAIN_EVENT_RESUMED_UNPAUSED = 0, /* Normal resume due to admin unpause */
|
||||
VIR_DOMAIN_EVENT_RESUMED_MIGRATED = 1, /* Resumed for completion of migration */
|
||||
VIR_DOMAIN_EVENT_RESUMED_FROM_SNAPSHOT = 2, /* Resumed from snapshot */
|
||||
VIR_DOMAIN_EVENT_RESUMED_POSTCOPY = 3, /* Resumed, but migration is still
|
||||
running in post-copy mode */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_DOMAIN_EVENT_RESUMED_LAST
|
||||
@@ -2715,6 +2783,25 @@ int virDomainAbortJob(virDomainPtr dom);
|
||||
*/
|
||||
# define VIR_DOMAIN_JOB_MEMORY_BPS "memory_bps"
|
||||
|
||||
/** VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE:
|
||||
*
|
||||
* virDomainGetJobStats field: number of memory pages dirtied by the guest
|
||||
* per second, as VIR_TYPED_PARAM_ULLONG. This statistics makes sense only
|
||||
* when live migration is running.
|
||||
*/
|
||||
# define VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE "memory_dirty_rate"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_JOB_MEMORY_ITERATION:
|
||||
*
|
||||
* virDomainGetJobStats field: current iteration over domain's memory
|
||||
* during live migration, as VIR_TYPED_PARAM_ULLONG. This is set to zero
|
||||
* when memory starts to be transferred and the value is increased by one
|
||||
* every time a new iteration is started to transfer memory pages dirtied
|
||||
* since the last iteration.
|
||||
*/
|
||||
# define VIR_DOMAIN_JOB_MEMORY_ITERATION "memory_iteration"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_JOB_DISK_TOTAL:
|
||||
*
|
||||
@@ -3255,6 +3342,50 @@ typedef void (*virConnectDomainEventDeviceAddedCallback)(virConnectPtr conn,
|
||||
const char *devAlias,
|
||||
void *opaque);
|
||||
|
||||
/**
|
||||
* virConnectDomainEventMigrationIterationCallback:
|
||||
* @conn: connection object
|
||||
* @dom: domain on which the event occurred
|
||||
* @iteration: current iteration over domain's memory
|
||||
* @opaque: application specific data
|
||||
*
|
||||
* This callback occurs during live migration when a new iteration over
|
||||
* domain's memory starts. The @iteration value is increased by one every
|
||||
* time a new iteration is started to transfer memory pages dirtied since
|
||||
* the last iteration.
|
||||
*
|
||||
* The callback signature to use when registering for an event of type
|
||||
* VIR_DOMAIN_EVENT_ID_MIGRATION_ITERATION with
|
||||
* virConnectDomainEventRegisterAny().
|
||||
*/
|
||||
typedef void (*virConnectDomainEventMigrationIterationCallback)(virConnectPtr conn,
|
||||
virDomainPtr dom,
|
||||
int iteration,
|
||||
void *opaque);
|
||||
|
||||
/**
|
||||
* virConnectDomainEventJobCompletedCallback:
|
||||
* @conn: connection object
|
||||
* @dom: domain on which the event occurred
|
||||
* @params: job statistics stored as an array of virTypedParameter
|
||||
* @nparams: size of the params array
|
||||
* @opaque: application specific data
|
||||
*
|
||||
* This callback occurs when a job (such as migration) running on the domain
|
||||
* is completed. The params array will contain statistics of the just completed
|
||||
* job as virDomainGetJobStats would return. The callback must not free @params
|
||||
* (the array will be freed once the callback finishes).
|
||||
*
|
||||
* The callback signature to use when registering for an event of type
|
||||
* VIR_DOMAIN_EVENT_ID_JOB_COMPLETED with
|
||||
* virConnectDomainEventRegisterAny().
|
||||
*/
|
||||
typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
|
||||
virDomainPtr dom,
|
||||
virTypedParameterPtr params,
|
||||
int nparams,
|
||||
void *opaque);
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_TUNABLE_CPU_VCPUPIN:
|
||||
*
|
||||
@@ -3289,6 +3420,22 @@ typedef void (*virConnectDomainEventDeviceAddedCallback)(virConnectPtr conn,
|
||||
*/
|
||||
# define VIR_DOMAIN_TUNABLE_CPU_CPU_SHARES "cputune.cpu_shares"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_TUNABLE_CPU_GLOBAL_PERIOD:
|
||||
*
|
||||
* Macro represents the enforcement period for a quota, in microseconds,
|
||||
* for whole domain, when using the posix scheduler, as VIR_TYPED_PARAM_ULLONG.
|
||||
*/
|
||||
# define VIR_DOMAIN_TUNABLE_CPU_GLOBAL_PERIOD "cputune.global_period"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_TUNABLE_CPU_GLOBAL_QUOTA:
|
||||
*
|
||||
* Macro represents the maximum bandwidth to be used within a period for
|
||||
* whole domain, when using the posix scheduler, as VIR_TYPED_PARAM_LLONG.
|
||||
*/
|
||||
# define VIR_DOMAIN_TUNABLE_CPU_GLOBAL_QUOTA "cputune.global_quota"
|
||||
|
||||
/**
|
||||
* VIR_DOMAIN_TUNABLE_CPU_VCPU_PERIOD:
|
||||
*
|
||||
@@ -3538,6 +3685,8 @@ typedef enum {
|
||||
VIR_DOMAIN_EVENT_ID_TUNABLE = 17, /* virConnectDomainEventTunableCallback */
|
||||
VIR_DOMAIN_EVENT_ID_AGENT_LIFECYCLE = 18,/* virConnectDomainEventAgentLifecycleCallback */
|
||||
VIR_DOMAIN_EVENT_ID_DEVICE_ADDED = 19, /* virConnectDomainEventDeviceAddedCallback */
|
||||
VIR_DOMAIN_EVENT_ID_MIGRATION_ITERATION = 20, /* virConnectDomainEventMigrationIterationCallback */
|
||||
VIR_DOMAIN_EVENT_ID_JOB_COMPLETED = 21, /* virConnectDomainEventJobCompletedCallback */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_DOMAIN_EVENT_ID_LAST
|
||||
@@ -3837,4 +3986,8 @@ int virDomainSetUserPassword(virDomainPtr dom,
|
||||
const char *password,
|
||||
unsigned int flags);
|
||||
|
||||
int virDomainRename(virDomainPtr dom,
|
||||
const char *new_name,
|
||||
unsigned int flags);
|
||||
|
||||
#endif /* __VIR_LIBVIRT_DOMAIN_H__ */
|
||||
|
@@ -29,24 +29,6 @@
|
||||
# endif
|
||||
|
||||
|
||||
/*
|
||||
* virFreeCallback:
|
||||
* @opaque: opaque user data provided at registration
|
||||
*
|
||||
* Type for a callback cleanup function to be paired with a callback. This
|
||||
* function will be called as a final chance to clean up the @opaque
|
||||
* registered with the primary callback, at the time when the primary
|
||||
* callback is deregistered.
|
||||
*
|
||||
* It is forbidden to call any other libvirt APIs from an
|
||||
* implementation of this callback, since it can be invoked
|
||||
* from a context which is not re-entrant safe. Failure to
|
||||
* abide by this requirement may lead to application deadlocks
|
||||
* or crashes.
|
||||
*/
|
||||
typedef void (*virFreeCallback)(void *opaque);
|
||||
|
||||
|
||||
/**
|
||||
* virConnect:
|
||||
*
|
||||
@@ -755,18 +737,6 @@ char * virConnectGetSysinfo (virConnectPtr conn,
|
||||
int virConnectSetKeepAlive(virConnectPtr conn,
|
||||
int interval,
|
||||
unsigned int count);
|
||||
|
||||
typedef enum {
|
||||
VIR_CONNECT_CLOSE_REASON_ERROR = 0, /* Misc I/O error */
|
||||
VIR_CONNECT_CLOSE_REASON_EOF = 1, /* End-of-file from server */
|
||||
VIR_CONNECT_CLOSE_REASON_KEEPALIVE = 2, /* Keepalive timer triggered */
|
||||
VIR_CONNECT_CLOSE_REASON_CLIENT = 3, /* Client requested it */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_CONNECT_CLOSE_REASON_LAST
|
||||
# endif
|
||||
} virConnectCloseReason;
|
||||
|
||||
/**
|
||||
* virConnectCloseFunc:
|
||||
* @conn: virConnect connection
|
||||
|
@@ -4,7 +4,7 @@
|
||||
* Description: Provides APIs for the management of storage pools and volumes
|
||||
* Author: Daniel Veillard <veillard@redhat.com>
|
||||
*
|
||||
* Copyright (C) 2006-2014 Red Hat, Inc.
|
||||
* Copyright (C) 2006-2016 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -57,7 +57,6 @@ typedef enum {
|
||||
# endif
|
||||
} virStoragePoolState;
|
||||
|
||||
|
||||
typedef enum {
|
||||
VIR_STORAGE_POOL_BUILD_NEW = 0, /* Regular build from scratch */
|
||||
VIR_STORAGE_POOL_BUILD_REPAIR = (1 << 0), /* Repair / reinitialize */
|
||||
@@ -71,6 +70,23 @@ typedef enum {
|
||||
VIR_STORAGE_POOL_DELETE_ZEROED = 1 << 0, /* Clear all data to zeros (slow) */
|
||||
} virStoragePoolDeleteFlags;
|
||||
|
||||
typedef enum {
|
||||
VIR_STORAGE_POOL_CREATE_NORMAL = 0,
|
||||
|
||||
/* Create the pool and perform pool build without any flags */
|
||||
VIR_STORAGE_POOL_CREATE_WITH_BUILD = 1 << 0,
|
||||
|
||||
/* Create the pool and perform pool build using the
|
||||
* VIR_STORAGE_POOL_BUILD_OVERWRITE flag. This is mutually
|
||||
* exclusive to VIR_STORAGE_POOL_CREATE_WITH_BUILD_NO_OVERWRITE */
|
||||
VIR_STORAGE_POOL_CREATE_WITH_BUILD_OVERWRITE = 1 << 1,
|
||||
|
||||
/* Create the pool and perform pool build using the
|
||||
* VIR_STORAGE_POOL_BUILD_NO_OVERWRITE flag. This is mutually
|
||||
* exclusive to VIR_STORAGE_POOL_CREATE_WITH_BUILD_OVERWRITE */
|
||||
VIR_STORAGE_POOL_CREATE_WITH_BUILD_NO_OVERWRITE = 1 << 2,
|
||||
} virStoragePoolCreateFlags;
|
||||
|
||||
typedef struct _virStoragePoolInfo virStoragePoolInfo;
|
||||
|
||||
struct _virStoragePoolInfo {
|
||||
@@ -115,6 +131,7 @@ typedef enum {
|
||||
typedef enum {
|
||||
VIR_STORAGE_VOL_DELETE_NORMAL = 0, /* Delete metadata only (fast) */
|
||||
VIR_STORAGE_VOL_DELETE_ZEROED = 1 << 0, /* Clear all data to zeros (slow) */
|
||||
VIR_STORAGE_VOL_DELETE_WITH_SNAPSHOTS = 1 << 1, /* Force removal of volume, even if in use */
|
||||
} virStorageVolDeleteFlags;
|
||||
|
||||
typedef enum {
|
||||
@@ -136,6 +153,9 @@ typedef enum {
|
||||
|
||||
VIR_STORAGE_VOL_WIPE_ALG_RANDOM = 8, /* 1-pass random */
|
||||
|
||||
VIR_STORAGE_VOL_WIPE_ALG_TRIM = 9, /* 1-pass, trim all data on the
|
||||
volume by using TRIM or DISCARD */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_STORAGE_VOL_WIPE_ALG_LAST
|
||||
/*
|
||||
|
54
include/libvirt/libvirt.h
Normal file
54
include/libvirt/libvirt.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/* -*- c -*-
|
||||
* libvirt.h: Core interfaces for the libvirt library
|
||||
* Summary: core interfaces for the libvirt library
|
||||
* Description: Provides the interfaces of the libvirt library to handle
|
||||
* virtualized domains
|
||||
*
|
||||
* Copyright (C) 2005-2006, 2010-2014 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Author: Daniel Veillard <veillard@redhat.com>
|
||||
*/
|
||||
|
||||
#ifndef __VIR_VIRLIB_H__
|
||||
# define __VIR_VIRLIB_H__
|
||||
|
||||
# include <sys/types.h>
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
# define __VIR_LIBVIRT_H_INCLUDES__
|
||||
# include <libvirt/libvirt-common.h>
|
||||
# include <libvirt/libvirt-host.h>
|
||||
# include <libvirt/libvirt-domain.h>
|
||||
# include <libvirt/libvirt-domain-snapshot.h>
|
||||
# include <libvirt/libvirt-event.h>
|
||||
# include <libvirt/libvirt-interface.h>
|
||||
# include <libvirt/libvirt-network.h>
|
||||
# include <libvirt/libvirt-nodedev.h>
|
||||
# include <libvirt/libvirt-nwfilter.h>
|
||||
# include <libvirt/libvirt-secret.h>
|
||||
# include <libvirt/libvirt-storage.h>
|
||||
# include <libvirt/libvirt-stream.h>
|
||||
# undef __VIR_LIBVIRT_H_INCLUDES__
|
||||
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif /* __VIR_VIRLIB_H__ */
|
@@ -4,7 +4,7 @@
|
||||
* Description: Provides the interfaces of the libvirt library to handle
|
||||
* errors raised while using the library.
|
||||
*
|
||||
* Copyright (C) 2006-2015 Red Hat, Inc.
|
||||
* Copyright (C) 2006-2016 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -127,6 +127,10 @@ typedef enum {
|
||||
VIR_FROM_POLKIT = 60, /* Error from polkit code */
|
||||
VIR_FROM_THREAD = 61, /* Error from thread utils */
|
||||
VIR_FROM_ADMIN = 62, /* Error from admin backend */
|
||||
VIR_FROM_LOGGING = 63, /* Error from log manager */
|
||||
VIR_FROM_XENXL = 64, /* Error from Xen xl config code */
|
||||
|
||||
VIR_FROM_PERF = 65, /* Error from perf */
|
||||
|
||||
# ifdef VIR_ENUM_SENTINELS
|
||||
VIR_ERR_DOMAIN_LAST
|
||||
@@ -308,6 +312,8 @@ typedef enum {
|
||||
CPU*/
|
||||
VIR_ERR_XML_INVALID_SCHEMA = 92, /* XML document doesn't validate against schema */
|
||||
VIR_ERR_MIGRATE_FINISH_OK = 93, /* Finish API succeeded but it is expected to return NULL */
|
||||
VIR_ERR_AUTH_UNAVAILABLE = 94, /* authentication unavailable */
|
||||
VIR_ERR_NO_SERVER = 95, /* Server was not found */
|
||||
} virErrorNumber;
|
||||
|
||||
/**
|
||||
|
211
libvirt.spec.in
211
libvirt.spec.in
@@ -2,7 +2,7 @@
|
||||
|
||||
# This spec file assumes you are building for Fedora 13 or newer,
|
||||
# or for RHEL 5 or newer. It may need some tweaks for other distros.
|
||||
# If neither fedora nor rhel was defined, try to guess them from %{dist}
|
||||
# If neither fedora nor rhel was defined, try to guess them from dist
|
||||
%if !0%{?rhel} && !0%{?fedora}
|
||||
%{expand:%(echo "%{?dist}" | \
|
||||
sed -ne 's/^\.el\([0-9]\+\).*/%%define rhel \1/p')}
|
||||
@@ -13,13 +13,13 @@
|
||||
# Default to skipping autoreconf. Distros can change just this one line
|
||||
# (or provide a command-line override) if they backport any patches that
|
||||
# touch configure.ac or Makefile.am.
|
||||
%{!?enable_autotools:%define enable_autotools 0}
|
||||
%{!?enable_autotools:%global enable_autotools 0}
|
||||
|
||||
# A client only build will create a libvirt.so only containing
|
||||
# the generic RPC driver, and test driver and no libvirtd
|
||||
# Default to a full server + client build, but with the possibility
|
||||
# of a command-line or ~/.rpmmacros override for client-only.
|
||||
%{!?client_only:%define client_only 0}
|
||||
%{!?client_only:%global client_only 0}
|
||||
|
||||
# Now turn off server build in certain cases
|
||||
|
||||
@@ -155,6 +155,7 @@
|
||||
# Non-server/HV driver defaults which are always enabled
|
||||
%define with_sasl 0%{!?_without_sasl:1}
|
||||
%define with_audit 0%{!?_without_audit:1}
|
||||
%define with_nss_plugin 0%{!?_without_nss_plugin:1}
|
||||
|
||||
|
||||
# Finally set the OS / architecture specific special cases
|
||||
@@ -190,7 +191,7 @@
|
||||
%endif
|
||||
|
||||
# RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
|
||||
# VMWare, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
|
||||
# VMware, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
|
||||
# or HyperV.
|
||||
%if 0%{?rhel}
|
||||
%define with_openvz 0
|
||||
@@ -344,12 +345,6 @@
|
||||
%endif
|
||||
|
||||
|
||||
# Advertise OVMF and AAVMF from nightly firmware repo
|
||||
%if 0%{?fedora}
|
||||
%define with_loader_nvram --with-loader-nvram="/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd:/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd:/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw"
|
||||
%endif
|
||||
|
||||
|
||||
# The RHEL-5 Xen package has some feature backports. This
|
||||
# flag is set to enable use of those special bits on RHEL-5
|
||||
%if 0%{?rhel} == 5
|
||||
@@ -647,8 +642,8 @@ BuildRequires: util-linux
|
||||
BuildRequires: nfs-utils
|
||||
%endif
|
||||
|
||||
%if %{with_firewalld}
|
||||
# Communication with the firewall daemon uses DBus
|
||||
%if %{with_firewalld} || %{with_polkit}
|
||||
# Communication with the firewall and polkit daemons use DBus
|
||||
BuildRequires: dbus-devel
|
||||
%endif
|
||||
|
||||
@@ -922,6 +917,9 @@ Requires: gzip
|
||||
Requires: bzip2
|
||||
Requires: lzop
|
||||
Requires: xz
|
||||
%if 0%{?fedora} >= 24
|
||||
Requires: systemd-container
|
||||
%endif
|
||||
|
||||
%description daemon-driver-qemu
|
||||
The qemu driver plugin for the libvirtd daemon, providing
|
||||
@@ -937,6 +935,9 @@ Group: Development/Libraries
|
||||
Requires: libvirt-daemon = %{version}-%{release}
|
||||
# There really is a hard cross-driver dependency here
|
||||
Requires: libvirt-daemon-driver-network = %{version}-%{release}
|
||||
%if 0%{?fedora} >= 24
|
||||
Requires: systemd-container
|
||||
%endif
|
||||
|
||||
%description daemon-driver-lxc
|
||||
The LXC driver plugin for the libvirtd daemon, providing
|
||||
@@ -1170,7 +1171,7 @@ virtualization capabilities of recent versions of Linux (and other OSes).
|
||||
%package wireshark
|
||||
Summary: Wireshark dissector plugin for libvirt RPC transactions
|
||||
Group: Development/Libraries
|
||||
Requires: wireshark
|
||||
Requires: wireshark >= 1.12.6-4
|
||||
Requires: %{name}-client = %{version}-%{release}
|
||||
|
||||
%description wireshark
|
||||
@@ -1193,7 +1194,6 @@ namespaces.
|
||||
Summary: Libraries, includes, etc. to compile with the libvirt library
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}-client = %{version}-%{release}
|
||||
Requires: %{name}-docs = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
|
||||
%description devel
|
||||
@@ -1218,6 +1218,16 @@ Includes the Sanlock lock manager plugin for the QEMU
|
||||
driver
|
||||
%endif
|
||||
|
||||
%if %{with_nss_plugin}
|
||||
%package nss
|
||||
Summary: Libvirt plugin for Name Service Switch
|
||||
Group: Development/Libraries
|
||||
Requires: libvirt-daemon-driver-network = %{version}-%{release}
|
||||
|
||||
%description nss
|
||||
Libvirt plugin for NSS for translating domain names into IP addresses.
|
||||
%endif
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
@@ -1256,6 +1266,7 @@ if [ $COUNT -gt 0 ]; then
|
||||
fi
|
||||
echo "Applied $COUNT patches"
|
||||
rm -f $PATCHLIST
|
||||
rm -rf .git
|
||||
|
||||
%build
|
||||
%if ! %{with_xen}
|
||||
@@ -1450,6 +1461,10 @@ rm -f $PATCHLIST
|
||||
%define _without_pm_utils --without-pm-utils
|
||||
%endif
|
||||
|
||||
%if ! %{with_nss_plugin}
|
||||
%define _without_nss_plugin --without-nss-plugin
|
||||
%endif
|
||||
|
||||
%define when %(date +"%%F-%%T")
|
||||
%define where %(hostname)
|
||||
%define who %{?packager}%{!?packager:Unknown}
|
||||
@@ -1470,6 +1485,18 @@ rm -f $PATCHLIST
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora}
|
||||
# Nightly firmware repo x86/OVMF
|
||||
LOADERS="/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd:/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd"
|
||||
# Nightly firmware repo aarch64/AAVMF
|
||||
LOADERS="$LOADERS:/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw"
|
||||
# Fedora official x86/OVMF
|
||||
LOADERS="$LOADERS:/usr/share/edk2/ovmf/OVMF_CODE.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd"
|
||||
# Fedora official aarch64/AAVMF
|
||||
LOADERS="$LOADERS:/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw"
|
||||
%define with_loader_nvram --with-loader-nvram="$LOADERS"
|
||||
%endif
|
||||
|
||||
# place macros above and build commands below this comment
|
||||
|
||||
%if 0%{?enable_autotools}
|
||||
@@ -1527,6 +1554,7 @@ rm -f po/stamp-po
|
||||
%{?_without_wireshark} \
|
||||
%{?_without_systemd_daemon} \
|
||||
%{?_without_pm_utils} \
|
||||
%{?_without_nss_plugin} \
|
||||
%{with_packager} \
|
||||
%{with_packager_version} \
|
||||
--with-qemu-user=%{qemu_user} \
|
||||
@@ -1546,10 +1574,8 @@ rm -fr %{buildroot}
|
||||
# on RHEL 5, thus we need to expand it here.
|
||||
make install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir}
|
||||
|
||||
for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap dommigrate domtop
|
||||
do
|
||||
(cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
|
||||
done
|
||||
make -C examples distclean
|
||||
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
|
||||
@@ -1560,10 +1586,15 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
|
||||
%endif
|
||||
%if %{with_wireshark}
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la
|
||||
mv $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.so \
|
||||
$RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/libvirt.so
|
||||
%endif
|
||||
|
||||
# Temporarily get rid of not-installed libvirt-admin.so
|
||||
# Temporarily get rid of not-installed admin-related files
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt-admin.so
|
||||
rm -f $RPM_BUILD_ROOT%{_bindir}/virt-admin
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/virt-admin.1*
|
||||
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/libvirt-admin.conf
|
||||
|
||||
%if %{with_network}
|
||||
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
|
||||
@@ -1687,12 +1718,13 @@ exit 0
|
||||
|
||||
%if %{with_systemd}
|
||||
%if %{with_systemd_macros}
|
||||
%systemd_post virtlockd.socket libvirtd.service libvirtd.socket
|
||||
%systemd_post virtlockd.socket virtlogd.socket libvirtd.service
|
||||
%else
|
||||
if [ $1 -eq 1 ] ; then
|
||||
# Initial installation
|
||||
/bin/systemctl enable \
|
||||
virtlockd.socket \
|
||||
virtlogd.socket \
|
||||
libvirtd.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
@@ -1708,24 +1740,27 @@ fi
|
||||
%endif
|
||||
|
||||
/sbin/chkconfig --add libvirtd
|
||||
/sbin/chkconfig --add virtlogd
|
||||
/sbin/chkconfig --add virtlockd
|
||||
%endif
|
||||
|
||||
%preun daemon
|
||||
%if %{with_systemd}
|
||||
%if %{with_systemd_macros}
|
||||
%systemd_preun libvirtd.socket libvirtd.service virtlockd.socket virtlockd.service
|
||||
%systemd_preun libvirtd.service virtlogd.socket virtlogd.service virtlockd.socket virtlockd.service
|
||||
%else
|
||||
if [ $1 -eq 0 ] ; then
|
||||
# Package removal, not upgrade
|
||||
/bin/systemctl --no-reload disable \
|
||||
libvirtd.socket \
|
||||
libvirtd.service \
|
||||
virtlogd.socket \
|
||||
virtlogd.service \
|
||||
virtlockd.socket \
|
||||
virtlockd.service > /dev/null 2>&1 || :
|
||||
/bin/systemctl stop \
|
||||
libvirtd.socket \
|
||||
libvirtd.service \
|
||||
virtlogd.socket \
|
||||
virtlogd.service \
|
||||
virtlockd.socket \
|
||||
virtlockd.service > /dev/null 2>&1 || :
|
||||
fi
|
||||
@@ -1734,6 +1769,8 @@ fi
|
||||
if [ $1 = 0 ]; then
|
||||
/sbin/service libvirtd stop 1>/dev/null 2>&1
|
||||
/sbin/chkconfig --del libvirtd
|
||||
/sbin/service virtlogd stop 1>/dev/null 2>&1
|
||||
/sbin/chkconfig --del virtlogd
|
||||
/sbin/service virtlockd stop 1>/dev/null 2>&1
|
||||
/sbin/chkconfig --del virtlockd
|
||||
fi
|
||||
@@ -1744,11 +1781,13 @@ fi
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
if [ $1 -ge 1 ] ; then
|
||||
/bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl reload-or-try-restart virtlogd.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%else
|
||||
if [ $1 -ge 1 ]; then
|
||||
/sbin/service virtlockd reload > /dev/null 2>&1 || :
|
||||
/sbin/service virtlogd reload > /dev/null 2>&1 || :
|
||||
/sbin/service libvirtd condrestart > /dev/null 2>&1
|
||||
fi
|
||||
%endif
|
||||
@@ -1758,10 +1797,30 @@ fi
|
||||
%triggerpostun daemon -- libvirt-daemon < 1.2.1
|
||||
if [ "$1" -ge "1" ]; then
|
||||
/sbin/service virtlockd reload > /dev/null 2>&1 || :
|
||||
/sbin/service virtlogd reload > /dev/null 2>&1 || :
|
||||
/sbin/service libvirtd condrestart > /dev/null 2>&1
|
||||
fi
|
||||
%endif
|
||||
|
||||
# In upgrade scenario we must explicitly enable virtlockd/virtlogd
|
||||
# sockets, if libvirtd is already enabled and start them if
|
||||
# libvirtd is running, otherwise you'll get failures to start
|
||||
# guests
|
||||
%triggerpostun daemon -- libvirt-daemon < 1.3.0
|
||||
if [ $1 -ge 1 ] ; then
|
||||
%if %{with_systemd}
|
||||
/bin/systemctl is-enabled libvirtd.service 1>/dev/null 2>&1 &&
|
||||
/bin/systemctl enable virtlogd.socket || :
|
||||
/bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1 &&
|
||||
/bin/systemctl start virtlogd.socket || :
|
||||
%else
|
||||
/sbin/chkconfig libvirtd 1>/dev/null 2>&1 &&
|
||||
/sbin/chkconfig virtlogd on || :
|
||||
/sbin/service libvirtd status 1>/dev/null 2>&1 &&
|
||||
/sbin/service virtlogd start || :
|
||||
%endif
|
||||
fi
|
||||
|
||||
%if %{with_network}
|
||||
%post daemon-config-network
|
||||
if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then
|
||||
@@ -1799,6 +1858,14 @@ if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ;
|
||||
< %{_datadir}/libvirt/networks/default.xml \
|
||||
> %{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||
ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||
|
||||
# Make sure libvirt picks up the new network defininiton
|
||||
%if %{with_systemd}
|
||||
/bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 ||:
|
||||
%else
|
||||
/sbin/service libvirtd condrestart > /dev/null 2>&1 || :
|
||||
%endif
|
||||
|
||||
fi
|
||||
%endif
|
||||
|
||||
@@ -1896,7 +1963,8 @@ exit 0
|
||||
|
||||
%files docs
|
||||
%defattr(-, root, root)
|
||||
%doc AUTHORS ChangeLog.gz NEWS README TODO libvirt-docs/*
|
||||
%doc AUTHORS ChangeLog.gz NEWS README TODO
|
||||
%doc libvirt-docs/*
|
||||
|
||||
# API docs
|
||||
%dir %{_datadir}/gtk-doc/html/libvirt/
|
||||
@@ -1904,6 +1972,16 @@ exit 0
|
||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
|
||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
|
||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.css
|
||||
%doc examples/hellolibvirt
|
||||
%doc examples/object-events
|
||||
%doc examples/dominfo
|
||||
%doc examples/domsuspend
|
||||
%doc examples/dommigrate
|
||||
%doc examples/openauth
|
||||
%doc examples/xml
|
||||
%doc examples/rename
|
||||
%doc examples/systemtap
|
||||
|
||||
|
||||
%if %{with_libvirtd}
|
||||
%files daemon
|
||||
@@ -1913,17 +1991,21 @@ exit 0
|
||||
|
||||
%if %{with_systemd}
|
||||
%{_unitdir}/libvirtd.service
|
||||
%{_unitdir}/libvirtd.socket
|
||||
%{_unitdir}/virtlogd.service
|
||||
%{_unitdir}/virtlogd.socket
|
||||
%{_unitdir}/virtlockd.service
|
||||
%{_unitdir}/virtlockd.socket
|
||||
%else
|
||||
%{_sysconfdir}/rc.d/init.d/libvirtd
|
||||
%{_sysconfdir}/rc.d/init.d/virtlogd
|
||||
%{_sysconfdir}/rc.d/init.d/virtlockd
|
||||
%endif
|
||||
%doc daemon/libvirtd.upstart
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/virtlogd
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
|
||||
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
|
||||
%config(noreplace) %{_sysconfdir}/libvirt/virtlogd.conf
|
||||
%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 6
|
||||
%config(noreplace) %{_prefix}/lib/sysctl.d/60-libvirtd.conf
|
||||
@@ -1945,6 +2027,8 @@ exit 0
|
||||
|
||||
%{_datadir}/augeas/lenses/libvirtd.aug
|
||||
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
|
||||
%{_datadir}/augeas/lenses/virtlogd.aug
|
||||
%{_datadir}/augeas/lenses/tests/test_virtlogd.aug
|
||||
%{_datadir}/augeas/lenses/virtlockd.aug
|
||||
%{_datadir}/augeas/lenses/tests/test_virtlockd.aug
|
||||
%{_datadir}/augeas/lenses/libvirt_lockd.aug
|
||||
@@ -1971,9 +2055,11 @@ exit 0
|
||||
%endif
|
||||
|
||||
%attr(0755, root, root) %{_sbindir}/libvirtd
|
||||
%attr(0755, root, root) %{_sbindir}/virtlogd
|
||||
%attr(0755, root, root) %{_sbindir}/virtlockd
|
||||
|
||||
%{_mandir}/man8/libvirtd.8*
|
||||
%{_mandir}/man8/virtlogd.8*
|
||||
%{_mandir}/man8/virtlockd.8*
|
||||
|
||||
%if ! %{with_driver_modules}
|
||||
@@ -2002,7 +2088,7 @@ exit 0
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
|
||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
|
||||
%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
|
||||
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
|
||||
%dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
|
||||
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
|
||||
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
|
||||
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
|
||||
@@ -2038,6 +2124,8 @@ exit 0
|
||||
%endif
|
||||
%endif # ! %{with_driver_modules}
|
||||
|
||||
%doc examples/polkit/*.rules
|
||||
|
||||
%if %{with_network}
|
||||
%files daemon-config-network
|
||||
%defattr(-, root, root)
|
||||
@@ -2107,7 +2195,7 @@ exit 0
|
||||
%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
|
||||
%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
|
||||
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
|
||||
%dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
|
||||
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
|
||||
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
|
||||
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
|
||||
@@ -2276,7 +2364,12 @@ exit 0
|
||||
|
||||
%if %{with_wireshark}
|
||||
%files wireshark
|
||||
%{_libdir}/wireshark/plugins/*/libvirt.so
|
||||
%{_libdir}/wireshark/plugins/libvirt.so
|
||||
%endif
|
||||
|
||||
%if %{with_nss_plugin}
|
||||
%files nss
|
||||
%{_libdir}/libnss_libvirt.so.2
|
||||
%endif
|
||||
|
||||
%if %{with_lxc}
|
||||
@@ -2295,6 +2388,7 @@ exit 0
|
||||
%dir %{_includedir}/libvirt
|
||||
%{_includedir}/libvirt/virterror.h
|
||||
%{_includedir}/libvirt/libvirt.h
|
||||
%{_includedir}/libvirt/libvirt-common.h
|
||||
%{_includedir}/libvirt/libvirt-domain.h
|
||||
%{_includedir}/libvirt/libvirt-domain-snapshot.h
|
||||
%{_includedir}/libvirt/libvirt-event.h
|
||||
@@ -2316,22 +2410,59 @@ exit 0
|
||||
%{_datadir}/libvirt/api/libvirt-api.xml
|
||||
%{_datadir}/libvirt/api/libvirt-qemu-api.xml
|
||||
%{_datadir}/libvirt/api/libvirt-lxc-api.xml
|
||||
|
||||
|
||||
%doc docs/*.html docs/html docs/*.gif
|
||||
# Needed building python bindings
|
||||
%doc docs/libvirt-api.xml
|
||||
%doc examples/hellolibvirt
|
||||
%doc examples/object-events
|
||||
%doc examples/dominfo
|
||||
%doc examples/domsuspend
|
||||
%doc examples/dommigrate
|
||||
%doc examples/openauth
|
||||
%doc examples/xml
|
||||
%doc examples/systemtap
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed May 10 2017 Cole Robinson <crobinso@redhat.com> - 1.3.3.3-1
|
||||
- Maintenance release 1.3.3.3
|
||||
|
||||
* Mon Jul 18 2016 Cole Robinson <crobinso@redhat.com> - 1.3.3.2-1
|
||||
- Maintenance release 1.3.3.2
|
||||
|
||||
* Wed May 04 2016 Cole Robinson <crobinso@redhat.com> - 1.3.3.1-1
|
||||
- Maintenance release 1.3.3.1
|
||||
|
||||
* Wed Apr 6 2016 Daniel Veillard <veillard@redhat.com> - 1.3.3-1
|
||||
- perf events
|
||||
- post-copy migration support
|
||||
- NSS module
|
||||
- a lot of various improvements, and large number of bugs fixes
|
||||
|
||||
* Tue Mar 1 2016 Daniel Veillard <veillard@redhat.com> - 1.3.2-1
|
||||
- Various improvements for the Xen libxl driver
|
||||
- virt-admin improvement
|
||||
- Various improvements for the RDB volumes
|
||||
- many bug fixes and improvements
|
||||
|
||||
* Sun Jan 17 2016 Daniel Veillard <veillard@redhat.com> - 1.3.1-1
|
||||
- Various improvements for the Xen libxl driver
|
||||
- rbd: Add support for wiping and cloning images to storage driver
|
||||
- PCI hostdev improvements and fixes
|
||||
- many bug fixes and improvements
|
||||
|
||||
* Wed Dec 9 2015 Daniel Veillard <veillard@redhat.com> - 1.3.0-1
|
||||
- virt-admin and administration API
|
||||
- various improvements in virtio devices support
|
||||
- log daemon, logging improvements and protocol
|
||||
- many bug fixes and improvements
|
||||
|
||||
* Wed Nov 4 2015 Daniel Veillard <veillard@redhat.com> - 1.2.21-1
|
||||
- a number of improvements and bug fixes
|
||||
|
||||
* Fri Oct 2 2015 Daniel Veillard <veillard@redhat.com> - 1.2.20-1
|
||||
- security fixes for CVE-2015-5247
|
||||
- a number of improvements and bug fixes
|
||||
|
||||
* Wed Sep 2 2015 Daniel Veillard <veillard@redhat.com> - 1.2.19-1
|
||||
- Big improvements on ppc64 support
|
||||
- New virDomainRename API
|
||||
- Support for QEMU new pci emulations
|
||||
- a number of improvements and bug fixes
|
||||
|
||||
* Mon Aug 3 2015 Daniel Veillard <veillard@redhat.com> - 1.2.18-1
|
||||
- libxl: support dom0
|
||||
- libxl: support dom0
|
||||
- a number of improvements and bug fixes
|
||||
|
||||
* Thu Jul 2 2015 Daniel Veillard <veillard@redhat.com> - 1.2.17-1
|
||||
|
@@ -26,7 +26,7 @@ AC_DEFUN([LIBVIRT_COMPILE_PIE],[
|
||||
;; dnl All code is position independent on Win32 target
|
||||
*)
|
||||
gl_COMPILER_OPTION_IF([-fPIE -DPIE -pie], [
|
||||
PIE_CFLAGS="-fPIE -DPIE -pie"
|
||||
PIE_CFLAGS="-fPIE -DPIE"
|
||||
PIE_LDFLAGS="-pie"
|
||||
])
|
||||
esac
|
||||
|
@@ -117,6 +117,20 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[
|
||||
[lv_cv_gcc_wlogical_op_broken=yes])
|
||||
CFLAGS="$save_CFLAGS"])
|
||||
|
||||
AC_CACHE_CHECK([whether gcc gives bogus warnings for -Wlogical-op],
|
||||
[lv_cv_gcc_wlogical_op_equal_expr_broken], [
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="-O2 -Wlogical-op -Werror"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#define TEST1 1
|
||||
#define TEST2 TEST1
|
||||
]], [[
|
||||
int test = 0;
|
||||
return test == TEST1 || test == TEST2;]])],
|
||||
[lv_cv_gcc_wlogical_op_equal_expr_broken=no],
|
||||
[lv_cv_gcc_wlogical_op_equal_expr_broken=yes])
|
||||
CFLAGS="$save_CFLAGS"])
|
||||
|
||||
# We might fundamentally need some of these disabled forever, but
|
||||
# ideally we'd turn many of them on
|
||||
dontwarn="$dontwarn -Wfloat-equal"
|
||||
@@ -236,7 +250,13 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[
|
||||
|
||||
if test "$gl_cv_warn_c__Wlogical_op" = yes &&
|
||||
test "$lv_cv_gcc_wlogical_op_broken" = yes; then
|
||||
AC_DEFINE_UNQUOTED([BROKEN_GCC_WLOGICALOP], 1,
|
||||
AC_DEFINE_UNQUOTED([BROKEN_GCC_WLOGICALOP_STRCHR], 1,
|
||||
[Define to 1 if gcc -Wlogical-op reports false positives on strchr])
|
||||
fi
|
||||
|
||||
if test "$gl_cv_warn_c__Wlogical_op" = yes &&
|
||||
test "$lv_cv_gcc_wlogical_op_equal_expr_broken" = yes; then
|
||||
AC_DEFINE_UNQUOTED([BROKEN_GCC_WLOGICALOP_EQUAL_EXPR], 1,
|
||||
[Define to 1 if gcc -Wlogical-op reports false positive 'or' equal expr])
|
||||
fi
|
||||
])
|
||||
|
39
m4/virt-login-shell.m4
Normal file
39
m4/virt-login-shell.m4
Normal file
@@ -0,0 +1,39 @@
|
||||
dnl Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
dnl
|
||||
dnl This library is free software; you can redistribute it and/or
|
||||
dnl modify it under the terms of the GNU Lesser General Public
|
||||
dnl License as published by the Free Software Foundation; either
|
||||
dnl version 2.1 of the License, or (at your option) any later version.
|
||||
dnl
|
||||
dnl This library is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
dnl Lesser General Public License for more details.
|
||||
dnl
|
||||
dnl You should have received a copy of the GNU Lesser General Public
|
||||
dnl License along with this library. If not, see
|
||||
dnl <http://www.gnu.org/licenses/>.
|
||||
|
||||
AC_DEFUN([LIBVIRT_CHECK_LOGIN_SHELL], [
|
||||
AC_ARG_WITH([login_shell],
|
||||
[AS_HELP_STRING([--with-login-shell],
|
||||
[build virt-login-shell @<:@default=check@:>@])])
|
||||
m4_divert_text([DEFAULTS], [with_login_shell=check])
|
||||
|
||||
if test "x$with_login_shell" != "xno"; then
|
||||
if test "x$with_win" = "xyes"; then
|
||||
if test "x$with_login_shell" = "xyes"; then
|
||||
AC_MSG_ERROR([virt-login-shell is not supported on Windows])
|
||||
else
|
||||
with_login_shell=no;
|
||||
fi
|
||||
else
|
||||
with_login_shell=yes;
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$with_login_shell" = "xyes" ; then
|
||||
AC_DEFINE_UNQUOTED([WITH_LOGIN_SHELL], 1, [whether virt-login-shell is built])
|
||||
fi
|
||||
AM_CONDITIONAL([WITH_LOGIN_SHELL], [test "$with_login_shell" = "yes"])
|
||||
])
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user