{"id":339838,"date":"2022-10-17T15:00:35","date_gmt":"2022-10-17T15:00:35","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=339838"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=339838","title":{"rendered":"<span>\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432 oVirt<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/c70\/f83\/c49\/c70f83c49704c922372130d0aacff5ae.jpg\" width=\"680\" height=\"382\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c70\/f83\/c49\/c70f83c49704c922372130d0aacff5ae.jpg\" data-blurred=\"true\"\/><figcaption><\/figcaption><\/figure>\n<p><strong>\u0420\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b oVirt Engine 4.2 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u2014 oVirt Engine 4.5.\u00a0<\/strong><\/p>\n<p>\u0423 \u043d\u0430\u0441 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"https:\/\/hostkey.ru\/\"><u>Hostkey<\/u><\/a> \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b <a href=\"https:\/\/www.ovirt.org\/download\/\"><u>oVirt Engine<\/u><\/a> \u0432\u0435\u0440\u0441\u0438\u0438 4.2 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 oVirt Engine \u0432\u0435\u0440\u0441\u0438\u0438 4.5. \u042d\u0442\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043c\u0435\u043d\u0430 \u043c\u0438\u043d\u043e\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u2014 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e\u0435:<\/p>\n<ul>\n<li>\n<p>\u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0438\u0447\u0438 \u0438 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 API;<\/p>\n<\/li>\n<li>\n<p>\u0431\u044b\u043b \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 EL8.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418\u0437-\u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u00a0 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0445\u043e\u0441\u0442\u043e\u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u043c\u0430\u0448\u0438\u043d \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044e. \u041e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u0438 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438:<\/p>\n<ol>\n<li>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 <strong>Export Domain<\/strong> \u0432 oVirt.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043c\u0430\u0448\u0438\u043d \u0447\u0435\u0440\u0435\u0437 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\/\u0438\u043c\u043f\u043e\u0440\u0442 OVA \u0447\u0435\u0440\u0435\u0437 oVirt API.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043e\u0434\u043d\u0430\u043a\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u0412\u0442\u043e\u0440\u043e\u0439 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438.<\/p>\n<p><strong>Export Domain<\/strong> \u2014 \u044d\u0442\u043e \u0434\u043e\u043c\u0435\u043d \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0442\u0435 <strong>Export Domain<\/strong> \u0432 oVirt. \u041e\u043d \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0446\u0435\u043d\u0442\u0440\u044b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u0441\u0440\u0435\u0434\u044b oVirt, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0433\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0435 \u043a\u043e\u043f\u0438\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d (\u044d\u0442\u043e\u0442 \u0434\u043e\u043c\u0435\u043d \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b NFS). \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 NFS \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d <strong>Export Domain<\/strong>\u00a0 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432 DataCenter. \u0414\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f <strong>Export Domain<\/strong> \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043d\u0430 \u043d\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443 NFS, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Export Path<\/strong> \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445.<\/p>\n<h3>\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438 Playbook\u2019\u0430 \u0432 Ansible \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 OVA.  <\/h3>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f <strong>Export Domain<\/strong> \u0432 web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 oVirt:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/183\/120\/2de\/1831202dec77b0cb92b07065aed3cade.png\" width=\"1056\" height=\"322\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/183\/120\/2de\/1831202dec77b0cb92b07065aed3cade.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0441\u0442\u0430\u0442\u0443\u0441 <strong>Active:<\/strong>  <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/83f\/690\/711\/83f6907116e5080141fa99d6ffa50f3d.png\" width=\"1257\" height=\"157\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/83f\/690\/711\/83f6907116e5080141fa99d6ffa50f3d.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 <strong>Export Domain<\/strong> \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Compute \u2013 Virtual Machines<\/strong>:  <\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/114\/94a\/2ad\/11494a2ad689df4dcea526ad5744ba5c.png\" width=\"405\" height=\"339\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/114\/94a\/2ad\/11494a2ad689df4dcea526ad5744ba5c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u043a \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0443: \u043d\u0430\u0439\u0442\u0438 \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0433\u043e. \u041f\u0440\u0438\u043c\u0435\u0440 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430:  <\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/667\/497\/8fd\/6674978fd7f31ead4150d764d4f1d508.png\" width=\"442\" height=\"104\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/667\/497\/8fd\/6674978fd7f31ead4150d764d4f1d508.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0432 \u044d\u0442\u043e\u043c \u0436\u0435 \u043e\u043a\u043d\u0435 \u0441 \u043f\u0440\u0430\u0432\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u043f\u043e\u0434 \u0438\u043a\u043e\u043d\u043a\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043a\u043b\u0438\u043a\u043d\u0443\u0442\u044c \u043d\u0430 \u00ab\u0431\u0443\u0440\u0433\u0435\u0440\u00bb \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b <strong>Export to Export Domain:<\/strong>  <\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8b6\/c95\/549\/8b6c95549a9938c7c75427e3d95060c8.png\" width=\"277\" height=\"475\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8b6\/c95\/549\/8b6c95549a9938c7c75427e3d95060c8.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c <strong>Export Domain,<\/strong> \u043a\u0443\u0434\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440, \u0438 \u0434\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.<\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Compute \u2014 Data Centers<\/strong>, \u0432\u044b\u0431\u0440\u0430\u0442\u044c <strong>Data Centers,<\/strong> \u043a\u0443\u0434\u0430 \u043c\u044b \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u044f\u043b\u0438 \u043d\u0430\u0448 <strong>Export Domain<\/strong>, \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0432 <strong>Maintenance<\/strong>-\u043c\u043e\u0434.<\/p>\n<p>1.\u00a0\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c Data Center \u0438 \u0437\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0435\u0433\u043e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fc4\/358\/290\/fc435829031b20649a1045a3ff6b6edc.png\" width=\"741\" height=\"180\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc4\/358\/290\/fc435829031b20649a1045a3ff6b6edc.png\"\/><figcaption><\/figcaption><\/figure>\n<p>2. \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0448 <strong>Export Domain <\/strong>\u0438 \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c\u0443 \u0443\u0433\u043b\u0443 \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>Maintenance:<\/strong>  <\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a31\/23e\/742\/a3123e74285a4b47f8896579bbed3cb3.png\" width=\"504\" height=\"188\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a31\/23e\/742\/a3123e74285a4b47f8896579bbed3cb3.png\"\/><figcaption><\/figcaption><\/figure>\n<p>3. \u041d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435 \u043d\u0438\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441 <strong>Export Domain <\/strong>\u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u0440\u0435\u0436\u0438\u043c<strong> Maintenance:<\/strong>  <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4de\/608\/4bd\/4de6084bd036b63df83df63a6f6d4634.png\" width=\"531\" height=\"103\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4de\/608\/4bd\/4de6084bd036b63df83df63a6f6d4634.png\"\/><figcaption><\/figcaption><\/figure>\n<p>4. \u041f\u0435\u0440\u0435\u0439\u0434\u044f \u0432<strong> Maintenance<\/strong> <strong>mode<\/strong>, \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 <strong>Detach<\/strong> \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0443, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0434\u0438\u0441\u043a:  <\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/76a\/1ca\/312\/76a1ca31290cd747c4f96a2fc96b1a7b.png\" width=\"501\" height=\"145\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/76a\/1ca\/312\/76a1ca31290cd747c4f96a2fc96b1a7b.png\"\/><figcaption><\/figcaption><\/figure>\n<p>5. \u041f\u043e\u0441\u043b\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Storage \u2014 Storage Domains<\/strong> \u043d\u0430 \u043d\u0430\u0448\u0435\u043c <strong>Export Domain <\/strong>\u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0437\u043d\u0430\u0447\u043e\u043a, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0440\u0430\u0437\u0434\u0435\u043b \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d:  <\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8cf\/b81\/c98\/8cfb81c9847d7e3c2f0496162452a3b1.png\" width=\"490\" height=\"180\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8cf\/b81\/c98\/8cfb81c9847d7e3c2f0496162452a3b1.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0442\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 oVirt Engine, \u043a\u0443\u0434\u0430 \u043c\u044b \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043d\u0430\u0448 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0438 \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0435 \u0436\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043d\u043e \u0443\u0436\u0435 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u0438\u0442\u044c <strong>Export Domain.<\/strong><\/p>\n<p><strong>\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f Export Domain \u043d\u0430 oVirt Engine \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/strong><\/p>\n<p>1.\u00a0\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c Data Center, \u043a\u0443\u0434\u0430 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b \u0432 <strong>Compute \u2013 Data Centers <\/strong>\u0438 \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0439:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f98\/cae\/d57\/f98caed5705d376be804090cb60a7d76.png\" width=\"741\" height=\"180\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f98\/cae\/d57\/f98caed5705d376be804090cb60a7d76.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u00a02. \u0412 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Storage<\/strong> \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 <strong>Attach Export<\/strong> \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <strong>Export Domain<\/strong>, \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041e\u041a<\/strong>:  <\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/799\/87e\/819\/79987e81922a8923c07bc980f3abe5b6.png\" width=\"499\" height=\"468\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/799\/87e\/819\/79987e81922a8923c07bc980f3abe5b6.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u00a0<strong>3.<\/strong>\u00a0\u0427\u0435\u0440\u0435\u0437 5\u201315 \u0441\u0435\u043a\u0443\u043d\u0434 (\u0441\u0442\u0430\u0442\u0443\u0441 \u0438 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u043c\u0435\u043d\u044e Task) \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Compute \u2014 Data Centers<\/strong> \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0430\u0448<strong> Data Centers,<\/strong> \u0437\u0430\u0442\u0435\u043c \u2014 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Storages.<\/strong> \u0422\u0430\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u043f\u0443\u043d\u043a\u0442 <strong>Export Domain:<\/strong>  <\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3b8\/ec1\/1b2\/3b8ec11b28246c07039593658411e6a2.png\" width=\"483\" height=\"236\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3b8\/ec1\/1b2\/3b8ec11b28246c07039593658411e6a2.png\"\/><figcaption><\/figcaption><\/figure>\n<p>4.\u00a0\u041a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 \u043d\u0435\u0433\u043e \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>VM Import<\/strong>:  <\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fcb\/951\/910\/fcb9519101913d527ead2cb00f3dd126.png\" width=\"864\" height=\"238\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fcb\/951\/910\/fcb9519101913d527ead2cb00f3dd126.png\"\/><figcaption><\/figcaption><\/figure>\n<p>5.\u00a0\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0441 \u043f\u0440\u0430\u0432\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 <strong>Import:<\/strong>  <\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/681\/18d\/a79\/68118da79766f47541db52c02530185c.png\" width=\"236\" height=\"155\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/681\/18d\/a79\/68118da79766f47541db52c02530185c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>6.\u00a0\u041e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u043e\u043a\u043d\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>Target Cluster;<\/p>\n<\/li>\n<li>\n<p>CPU Profile, \u0435\u0441\u043b\u0438 \u043e\u043d \u0431\u044b\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>Import<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c4f\/370\/caf\/c4f370caf8548b095640ed2f611add37.png\" width=\"978\" height=\"160\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c4f\/370\/caf\/c4f370caf8548b095640ed2f611add37.png\"\/><figcaption><\/figcaption><\/figure>\n<p>7.\u00a0\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Compute \u2014 Virtual Machines<\/strong> \u0438 \u0434\u043e\u0436\u0438\u0434\u0430\u0435\u043c\u0441\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u043e\u0441\u043b\u0435 \u0432\u043d\u043e\u0441\u0438\u043c \u043f\u0440\u0430\u0432\u043a\u0438, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b, \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 <strong>Export Domain<\/strong> \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430. <\/p>\n<h3>\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438 Playbook\u2019\u0430 \u0432 Ansible \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 OVA.  <\/h3>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0441\u044f \u0441 oVirt Engine \u0432\u0435\u0440\u0441\u0438\u0438 4.2 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 oVirt Engine 4.4 \u0438 4.5, \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441 Ansible Playbook \u0431\u044b\u043b\u043e \u043d\u0435\u043b\u044c\u0437\u044f: \u0443 \u0432\u0435\u0440\u0441\u0438\u0438 4.2 \u043d\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 OVA. \u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Engine \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 API. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b. \u0414\u043b\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u043c\u043f\u043e\u0440\u0442 \u0434\u0435\u043b\u0430\u043b\u0441\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 Ansible Playbook \u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438 Python.<\/p>\n<p>\u041d\u0438\u0436\u0435 \u2014 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0430 Bash \u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 Ansible Playbook\u2019\u0430.<\/p>\n<p><strong>Bash-\u0441\u043a\u0440\u0438\u043f\u0442<\/strong> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e:<\/p>\n<ul>\n<li>\n<p>Engine-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>Guest_id (\u0438\u043c\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430);<\/p>\n<\/li>\n<li>\n<p>host_name_dst (\u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f).<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 vars\/var.yml, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f Ansible Playbook\u2019\u043e\u043c.\u00a0<\/p>\n<p>\u0414\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043d\u0430 \u043d\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443 NFS. \u0412\u044b\u0434\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 (\u043c\u044b \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043b\u0438 \u2014 rw,async,no_subtree_check,anonuid=36,anongid=36,all_squash). \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0431\u0443\u0434\u0435\u043c \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u0440\u0430\u0437\u0434\u0435\u043b \/mnt\/nfs \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Engine, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0445\u043e\u0441\u0442\u0435, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<pre><code>#!\/usr\/bin\/env bash  ##Source engine_fqdn_src=enginesrc.test.local engine_api_src=\"https:\/\/${engine_fqdn_src}\/ovirt-engine\/api\" guest_id=$1  ##Destination engine_fqdn_dst=enginedst.test.local engine_api_dst=\"https:\/\/${engine_fqdn_dst}\/ovirt-engine\/api\" host_name_dst=$2   ##Common vars engine_user=admin@internal engine_pass=pass export_path=\/mnt\/nfs\/  OVIRT_SEARCH() {   local engine_api=$1   local api_target=$2    local search   if [[ ! -z $3 ]]&amp;&amp;[[ ! -z $4 ]];then     local search=\"?search=$3=$4\"   fi    curl -ks --user \"$engine_user:$engine_pass\" \\     -X GET -H 'Version: 4' -H 'Content-Type: application\/JSON' \\     -H  'Accept: application\/JSON' \"${engine_api}\/${api_target}${search}\" |\\     jq -Mc }   ##Source vm_data=$(OVIRT_SEARCH $engine_api_src vms name $guest_id) disk_data=$(OVIRT_SEARCH $engine_api_src disks name $guest_id) vm_id=$(echo $vm_data | jq -r '.vm[].id') host_id=$(echo $vm_data | jq -r '.vm[].host.id') host_name_src=$(OVIRT_SEARCH $engine_api_src hosts\/$host_id | jq -r '.name')   ##Destination host_data_dst=$(OVIRT_SEARCH $engine_api_dst hosts name $host_name_dst) host_address_dst=$(echo $host_data_dst | jq -r '.host[].address') cluster_id_dst=$(echo $host_data_dst | jq -r '.host[].cluster.id' ) data_center_id_dst=$(OVIRT_SEARCH $engine_api_dst clusters\/$cluster_id_dst | jq -r '.data_center.id') data_domain_name_dst=$(OVIRT_SEARCH $engine_api_dst datacenters\/$data_center_id_dst\/storagedomains | jq -r '.storage_domain[].name') cluster_name_dst=$(OVIRT_SEARCH $engine_api_dst  clusters\/$cluster_id_dst | jq -r '.name')   post_data=\"&lt;action>&lt;host>&lt;name>${host_name_src}&lt;\/name>&lt;\/host>&lt;directory>${export_path}&lt;\/directory>&lt;filename>${guest_id}&lt;\/filename>&lt;\/action>\" post_data_shutdown=\"&lt;action\/>\" post_data_vmname=\"&lt;vm>&lt;name>${guest_id}-&lt;\/name>&lt;\/vm>\"   ##Shutdown vm curl -ks --user \"$engine_user:$engine_pass\" \\ -X POST -H 'Version: 4' \\ -H 'Content-Type: application\/xml' -H 'Accept: application\/xml' \\ --data $post_data_shutdown \\ ${engine_api_src}\/vms\/${vm_id}\/shutdown   ##Change vm name curl -ks --user \"$engine_user:$engine_pass\" \\ -X PUT -H 'Version: 4' \\ -H 'Content-Type: application\/xml' -H 'Accept: application\/xml' \\ --data $post_data_vmname \\ ${engine_api_src}\/vms\/${vm_id}   ##Export vm curl -ks --user \"$engine_user:$engine_pass\" \\ -X POST -H 'Version: 4' \\ -H 'Content-Type: application\/xml' -H 'Accept: application\/xml' \\ --data $post_data \\ ${engine_api_src}\/vms\/${vm_id}\/export   ## Put result in var\/var.yml cat &lt;&lt; EOF > vars\/var.yml url_src: htps:\/\/$engine_src\/ovirt-engine\/api url_dst: https:\/\/$engine_dst\/ovirt-engine\/api #username: #password: insecure: true   ## VM Parameters: cluster_name: $cluster_name_dst disk_id: $disk_id vm_id: $vm_id disk_format: \"qcow2\" data_domain: $cluster_name_dst vm_name: $guest_id EOF  <\/code><\/pre>\n<h3>\u00a0Ansible Playbook \u0434\u043b\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430  <\/h3>\n<p>\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d \u043f\u0440\u0438\u043c\u0435\u0440 Playbook\u2019\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0444\u0430\u0439\u043b\u0430 vars\/var.yml \u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0445 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0432 \u0444\u0430\u0439\u043b\u0435. \u0426\u0435\u043b\u044c Playbook\u2019\u0430 \u2014 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f engine \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0434\u043b\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 OVA-\u0444\u0430\u0439\u043b\u0430. \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f Python-\u0441\u043a\u0440\u0438\u043f\u0442 (upload_ova_as_vm_or_template.py), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438. \u0414\u0430\u043b\u0435\u0435 \u0437\u0430\u0447\u0438\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433-\u0444\u0430\u0439\u043b \u0438 \u0444\u0430\u0439\u043b \u0441 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430.   <\/p>\n<pre><code>- hosts: engine_dst     tasks:      \u2014 name: Obtain SSO token     ovirt_auth:       url: \"{{ url_dst }}\"       username: \"{{ username }}\"       password: \"{{ password }}\"       insecure: \"{{ insecure }}\"     \u2014 name:  Wait for export to be finished     include_tasks: tasks\/check_ova_export_status.yml     \u2014 name: Ovirt config file creation     include_tasks: tasks\/ovirt_conf_creation.yml     tags:       \u2014 ovirt_config_creation     \u2014 name: Upload disk image     command: \"python3 \/usr\/share\/doc\/python3-ovirt-engine-sdk4\/examples\/upload_ova_as_vm_or_template.py -c engine --sd-name {{ data_domain }} \/mnt\/nfs\/{{ vm_name }} --cluster-name {{ cluster_name }}\"     \u2014 name: Remove config     file:       path: \"\/root\/.config\/ovirt.conf\"       state: absent     \u2014 name: Remove disk image from NFS     file:        path: \/mnt\/nfs\/{{vm_name}}        state: absent     \u2014 name: Change VM Name     ovirt_vm:       auth: \"{{ ovirt_auth }}\"       id: \"{{ vm_id }}\"       name: \"{{ vm_name }}\"     \u2014 name: Set console configuration for both Spice and VNC     ovirt_vm:       auth: \"{{ ovirt_auth }}\"       name: \"{{ vm_name }}\"       graphical_console:         protocol:           - spice           - vnc     \u2014 name: Run VM     ovirt_vm:       auth: \"{{ ovirt_auth }}\"       cluster: \"{{ cluster_name }}\"       state: running       name: \"{{ vm_name }}\"     \u2014 name: Revoke SSo token     ovirt_auth:       state: absent       ovirt_auth: \"{{ ovirt_auth }}\"  <\/code><\/pre>\n<p><strong>\u00a0<\/strong>\u0412 Playbook\u2019e \u0442\u0430\u043a\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f Task\u2019\u0438. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043e \u0438\u0445 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435:<\/p>\n<p>1) \u0417\u0430\u0434\u0430\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u2014 <strong>check_ova_export_status.yml.<\/strong><\/p>\n<pre><code>- name: Check ova export status   shell: |     counter=7       while true;do         if [[ $(ls -l \/mnt\/nfs\/ | grep -Pc '\\b{{ vm_name }}$\\b') -eq 1 ]];then                 let \"successes+=1\"         else                 successes=0         fi         if [[ $successes -eq $counter ]];then                 break         fi         sleep 10     done<\/code><\/pre>\n<p>2) \u0417\u0430\u0434\u0430\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0448\u0442\u0430\u0442\u043d\u044b\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c Python oVirt \u0434\u043b\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0438 \u0432 \u043d\u0435\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 <strong>templates<\/strong>.  <\/p>\n<pre><code>- name: create config directory if absent   file:     path: \"\/root\/.config\/\"     state: directory   - name: ovirt config creation   template:     src: ..\/templates\/ovirt.conf.j2     dest: \"\/root\/.config\/ovirt.conf\"     owner: root     group: root     mode: '0644'<\/code><\/pre>\n<p>\u00a0\u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 <strong>ovirt.conf.j2<\/strong><u> <\/u>, \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0432 <strong>templates:<\/strong><\/p>\n<pre><code># Example configuration file. # # Example scripts will read this configuration from: # #   ~\/.config\/ovirt.conf. # # You can keep multiple configuration sections in this file. # # To use configuration \"engine1\" use: # #   .\/example_script.py --config engine1 ...   # This engine configuration section shows all available options. [engine]   # oVirt engine API URL (required). engine_url = https:\/\/{{ engine_fqdn_dst }}   # oVirt engine API username (required). username = {{ username }}   # oVirt enigne API password. If not specified the example script will get the # password from stdin (optional). password =  {{ password }}   # Verify server certificate and host name (optional, default yes). secure = yes   # CA certificated for verifying for verifying server. No need to specify if the # certificate was added to the host trust store (optional, default empty). cafile = \/etc\/pki\/ovirt-engine\/ca.pem   # This engine configuration section uses only the required options, and disable # server certificates verification. #[engine2] #engine_url = https:\/\/engine2 #username = admin@internal #secure = no  <\/code><\/pre>\n<p>\u042d\u0442\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043d\u0435\u0441\u0442\u0438 \u0432 <a href=\"https:\/\/www.jenkins.io\/\"><u>Jenkins<\/u><\/a> \u0438\u043b\u0438 \u0432 \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0440\u0443\u043a\u0430\u043c\u0438 \u043c\u043b\u0430\u0434\u0448\u0438\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438 \u043f\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044e \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0442. \u0434. \u0427\u0435\u0440\u0435\u0437 <a href=\"https:\/\/www.ansible.com\/\"><u>Ansible<\/u><\/a> \u043b\u0435\u0433\u043a\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 NFS-mount, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0435\u0440\u0435\u0437 autofs, \u0441\u0434\u0435\u043b\u0430\u0432 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0445\u043e\u0441\u0442\u043e\u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u0430\u043a \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0432\u044b \u043d\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u0441 Ansible \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 Playbook \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u2014 <strong>Export Domain.<\/strong><\/p>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u041e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b \u043d\u0430\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b oVirt Engine \u0432\u0435\u0440\u0441\u0438\u0438 4.2 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u2014 oVirt Engine \u0432\u0435\u0440\u0441\u0438\u0438 4.5. \u0412\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043e\u0431\u044a\u0435\u043c\u0430 \u0436\u0435\u0441\u0442\u043a\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 9 \u0413\u0431 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0437\u0430 11 \u043c\u0438\u043d\u0443\u0442, \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432\u0441\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/hostkey\/blog\/693468\/\"> https:\/\/habr.com\/ru\/company\/hostkey\/blog\/693468\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p><strong>\u0420\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b oVirt Engine 4.2 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u2014 oVirt Engine 4.5.\u00a0<\/strong><\/p>\n<p>\u0423 \u043d\u0430\u0441 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"https:\/\/hostkey.ru\/\"><u>Hostkey<\/u><\/a> \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b <a href=\"https:\/\/www.ovirt.org\/download\/\"><u>oVirt Engine<\/u><\/a> \u0432\u0435\u0440\u0441\u0438\u0438 4.2 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 oVirt Engine \u0432\u0435\u0440\u0441\u0438\u0438 4.5. \u042d\u0442\u0430 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043c\u0435\u043d\u0430 \u043c\u0438\u043d\u043e\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u2014 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e\u0435:<\/p>\n<ul>\n<li>\n<p>\u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0438\u0447\u0438 \u0438 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 API;<\/p>\n<\/li>\n<li>\n<p>\u0431\u044b\u043b \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 EL8.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418\u0437-\u0437\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u00a0 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0445\u043e\u0441\u0442\u043e\u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u043c\u0430\u0448\u0438\u043d \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044e. \u041e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u043e\u0441\u044c \u0438 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438:<\/p>\n<ol>\n<li>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 <strong>Export Domain<\/strong> \u0432 oVirt.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043c\u0430\u0448\u0438\u043d \u0447\u0435\u0440\u0435\u0437 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\/\u0438\u043c\u043f\u043e\u0440\u0442 OVA \u0447\u0435\u0440\u0435\u0437 oVirt API.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043e\u0434\u043d\u0430\u043a\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u0412\u0442\u043e\u0440\u043e\u0439 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438.<\/p>\n<p><strong>Export Domain<\/strong> \u2014 \u044d\u0442\u043e \u0434\u043e\u043c\u0435\u043d \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0412 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0442\u0435 <strong>Export Domain<\/strong> \u0432 oVirt. \u041e\u043d \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0446\u0435\u043d\u0442\u0440\u044b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u0441\u0440\u0435\u0434\u044b oVirt, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0433\u0434\u0430 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0435 \u043a\u043e\u043f\u0438\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d (\u044d\u0442\u043e\u0442 \u0434\u043e\u043c\u0435\u043d \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b NFS). \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 NFS \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d <strong>Export Domain<\/strong>\u00a0 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432 DataCenter. \u0414\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f <strong>Export Domain<\/strong> \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043d\u0430 \u043d\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443 NFS, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0434\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Export Path<\/strong> \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445.<\/p>\n<h3>\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438 Playbook\u2019\u0430 \u0432 Ansible \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 OVA.  <\/h3>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f <strong>Export Domain<\/strong> \u0432 web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 oVirt:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0441\u0442\u0430\u0442\u0443\u0441 <strong>Active:<\/strong>  <\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 <strong>Export Domain<\/strong> \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Compute \u2013 Virtual Machines<\/strong>:  <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u043a \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0443: \u043d\u0430\u0439\u0442\u0438 \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0433\u043e. \u041f\u0440\u0438\u043c\u0435\u0440 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430:  <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0432 \u044d\u0442\u043e\u043c \u0436\u0435 \u043e\u043a\u043d\u0435 \u0441 \u043f\u0440\u0430\u0432\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u043f\u043e\u0434 \u0438\u043a\u043e\u043d\u043a\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043a\u043b\u0438\u043a\u043d\u0443\u0442\u044c \u043d\u0430 \u00ab\u0431\u0443\u0440\u0433\u0435\u0440\u00bb \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b <strong>Export to Export Domain:<\/strong>  <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c <strong>Export Domain,<\/strong> \u043a\u0443\u0434\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440, \u0438 \u0434\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430.<\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Compute \u2014 Data Centers<\/strong>, \u0432\u044b\u0431\u0440\u0430\u0442\u044c <strong>Data Centers,<\/strong> \u043a\u0443\u0434\u0430 \u043c\u044b \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u044f\u043b\u0438 \u043d\u0430\u0448 <strong>Export Domain<\/strong>, \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0432 <strong>Maintenance<\/strong>-\u043c\u043e\u0434.<\/p>\n<p>1.\u00a0\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c Data Center \u0438 \u0437\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0435\u0433\u043e:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>2. \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0448 <strong>Export Domain <\/strong>\u0438 \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c\u0443 \u0443\u0433\u043b\u0443 \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>Maintenance:<\/strong>  <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>3. \u041d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435 \u043d\u0438\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441 <strong>Export Domain <\/strong>\u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u0440\u0435\u0436\u0438\u043c<strong> Maintenance:<\/strong>  <\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>4. \u041f\u0435\u0440\u0435\u0439\u0434\u044f \u0432<strong> Maintenance<\/strong> <strong>mode<\/strong>, \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 <strong>Detach<\/strong> \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0443, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0434\u0438\u0441\u043a:  <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>5. \u041f\u043e\u0441\u043b\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Storage \u2014 Storage Domains<\/strong> \u043d\u0430 \u043d\u0430\u0448\u0435\u043c <strong>Export Domain <\/strong>\u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0437\u043d\u0430\u0447\u043e\u043a, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0440\u0430\u0437\u0434\u0435\u043b \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d:  <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0442\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 oVirt Engine, \u043a\u0443\u0434\u0430 \u043c\u044b \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043d\u0430\u0448 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0438 \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0435 \u0436\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043d\u043e \u0443\u0436\u0435 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u0438\u0442\u044c <strong>Export Domain.<\/strong><\/p>\n<p><strong>\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f Export Domain \u043d\u0430 oVirt Engine \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/strong><\/p>\n<p>1.\u00a0\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0439 \u043d\u0430\u043c Data Center, \u043a\u0443\u0434\u0430 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b \u0432 <strong>Compute \u2013 Data Centers <\/strong>\u0438 \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0439:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u00a02. \u0412 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Storage<\/strong> \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 <strong>Attach Export<\/strong> \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <strong>Export Domain<\/strong>, \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041e\u041a<\/strong>:  <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u00a0<strong>3.<\/strong>\u00a0\u0427\u0435\u0440\u0435\u0437 5\u201315 \u0441\u0435\u043a\u0443\u043d\u0434 (\u0441\u0442\u0430\u0442\u0443\u0441 \u0438 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u043c\u0435\u043d\u044e Task) \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Compute \u2014 Data Centers<\/strong> \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0430\u0448<strong> Data Centers,<\/strong> \u0437\u0430\u0442\u0435\u043c \u2014 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Storages.<\/strong> \u0422\u0430\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u043f\u0443\u043d\u043a\u0442 <strong>Export Domain:<\/strong>  <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>4.\u00a0\u041a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 \u043d\u0435\u0433\u043e \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>VM Import<\/strong>:  <\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>5.\u00a0\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0441 \u043f\u0440\u0430\u0432\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430 <strong>Import:<\/strong>  <\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>6.\u00a0\u041e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u043e\u043a\u043d\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>Target Cluster;<\/p>\n<\/li>\n<li>\n<p>CPU Profile, \u0435\u0441\u043b\u0438 \u043e\u043d \u0431\u044b\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>Import<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>7.\u00a0\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Compute \u2014 Virtual Machines<\/strong> \u0438 \u0434\u043e\u0436\u0438\u0434\u0430\u0435\u043c\u0441\u044f \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u043e\u0441\u043b\u0435 \u0432\u043d\u043e\u0441\u0438\u043c \u043f\u0440\u0430\u0432\u043a\u0438, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b, \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 <strong>Export Domain<\/strong> \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430. <\/p>\n<h3>\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438 Playbook\u2019\u0430 \u0432 Ansible \u0434\u043b\u044f \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 OVA.  <\/h3>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0441\u044f \u0441 oVirt Engine \u0432\u0435\u0440\u0441\u0438\u0438 4.2 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 oVirt Engine 4.4 \u0438 4.5, \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441 Ansible Playbook \u0431\u044b\u043b\u043e \u043d\u0435\u043b\u044c\u0437\u044f: \u0443 \u0432\u0435\u0440\u0441\u0438\u0438 4.2 \u043d\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 OVA. \u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Engine \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 API. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b. \u0414\u043b\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u043c\u043f\u043e\u0440\u0442 \u0434\u0435\u043b\u0430\u043b\u0441\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 Ansible Playbook \u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438 Python.<\/p>\n<p>\u041d\u0438\u0436\u0435 \u2014 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0430 Bash \u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 Ansible Playbook\u2019\u0430.<\/p>\n<p><strong>Bash-\u0441\u043a\u0440\u0438\u043f\u0442<\/strong> \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e:<\/p>\n<ul>\n<li>\n<p>Engine-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>Guest_id (\u0438\u043c\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430);<\/p>\n<\/li>\n<li>\n<p>host_name_dst (\u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f).<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 vars\/var.yml, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f Ansible Playbook\u2019\u043e\u043c.\u00a0<\/p>\n<p>\u0414\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043d\u0430 \u043d\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443 NFS. \u0412\u044b\u0434\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 (\u043c\u044b \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043b\u0438 \u2014 rw,async,no_subtree_check,anonuid=36,anongid=36,all_squash). \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0431\u0443\u0434\u0435\u043c \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u0440\u0430\u0437\u0434\u0435\u043b \/mnt\/nfs \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 Engine, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0445\u043e\u0441\u0442\u0435, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<pre><code>#!\/usr\/bin\/env bash  ##Source engine_fqdn_src=enginesrc.test.local engine_api_src=\"https:\/\/${engine_fqdn_src}\/ovirt-engine\/api\" guest_id=$1  ##Destination engine_fqdn_dst=enginedst.test.local engine_api_dst=\"https:\/\/${engine_fqdn_dst}\/ovirt-engine\/api\" host_name_dst=$2   ##Common vars engine_user=admin@internal engine_pass=pass export_path=\/mnt\/nfs\/  OVIRT_SEARCH() {   local engine_api=$1   local api_target=$2    local search   if [[ ! -z $3 ]]&amp;&amp;[[ ! -z $4 ]];then     local search=\"?search=$3=$4\"   fi    curl -ks --user \"$engine_user:$engine_pass\" \\     -X GET -H 'Version: 4' -H 'Content-Type: application\/JSON' \\     -H  'Accept: application\/JSON' \"${engine_api}\/${api_target}${search}\" |\\     jq -Mc }   ##Source vm_data=$(OVIRT_SEARCH $engine_api_src vms name $guest_id) disk_data=$(OVIRT_SEARCH $engine_api_src disks name $guest_id) vm_id=$(echo $vm_data | jq -r '.vm[].id') host_id=$(echo $vm_data | jq -r '.vm[].host.id') host_name_src=$(OVIRT_SEARCH $engine_api_src hosts\/$host_id | jq -r '.name')   ##Destination host_data_dst=$(OVIRT_SEARCH $engine_api_dst hosts name $host_name_dst) host_address_dst=$(echo $host_data_dst | jq -r '.host[].address') cluster_id_dst=$(echo $host_data_dst | jq -r '.host[].cluster.id' ) data_center_id_dst=$(OVIRT_SEARCH $engine_api_dst clusters\/$cluster_id_dst | jq -r '.data_center.id') data_domain_name_dst=$(OVIRT_SEARCH $engine_api_dst datacenters\/$data_center_id_dst\/storagedomains | jq -r '.storage_domain[].name') cluster_name_dst=$(OVIRT_SEARCH $engine_api_dst  clusters\/$cluster_id_dst | jq -r '.name')   post_data=\"&lt;action>&lt;host>&lt;name>${host_name_src}&lt;\/name>&lt;\/host>&lt;directory>${export_path}&lt;\/directory>&lt;filename>${guest_id}&lt;\/filename>&lt;\/action>\" post_data_shutdown=\"&lt;action\/>\" post_data_vmname=\"&lt;vm>&lt;name>${guest_id}-&lt;\/name>&lt;\/vm>\"   ##Shutdown vm curl -ks --user \"$engine_user:$engine_pass\" \\ -X POST -H 'Version: 4' \\ -H 'Content-Type: application\/xml' -H 'Accept: application\/xml' \\ --data $post_data_shutdown \\ ${engine_api_src}\/vms\/${vm_id}\/shutdown   ##Change vm name curl -ks --user \"$engine_user:$engine_pass\" \\ -X PUT -H 'Version: 4' \\ -H 'Content-Type: application\/xml' -H 'Accept: application\/xml' \\ --data $post_data_vmname \\ ${engine_api_src}\/vms\/${vm_id}   ##Export vm curl -ks --user \"$engine_user:$engine_pass\" \\ -X POST -H 'Version: 4' \\ -H 'Content-Type: application\/xml' -H 'Accept: application\/xml' \\ --data $post_data \\ ${engine_api_src}\/vms\/${vm_id}\/export   ## Put result in var\/var.yml cat &lt;&lt; EOF > vars\/var.yml url_src: htps:\/\/$engine_src\/ovirt-engine\/api url_dst: https:\/\/$engine_dst\/ovirt-engine\/api #username: #password: insecure: true   ## VM Parameters: cluster_name: $cluster_name_dst disk_id: $disk_id vm_id: $vm_id disk_format: \"qcow2\" data_domain: $cluster_name_dst vm_name: $guest_id EOF  <\/code><\/pre>\n<h3>\u00a0Ansible Playbook \u0434\u043b\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430  <\/h3>\n<p>\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d \u043f\u0440\u0438\u043c\u0435\u0440 Playbook\u2019\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0444\u0430\u0439\u043b\u0430 vars\/var.yml \u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0445 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0432 \u0444\u0430\u0439\u043b\u0435. \u0426\u0435\u043b\u044c Playbook\u2019\u0430 \u2014 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f engine \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0434\u043b\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 OVA-\u0444\u0430\u0439\u043b\u0430. \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f Python-\u0441\u043a\u0440\u0438\u043f\u0442 (upload_ova_as_vm_or_template.py), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438. \u0414\u0430\u043b\u0435\u0435 \u0437\u0430\u0447\u0438\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433-\u0444\u0430\u0439\u043b \u0438 \u0444\u0430\u0439\u043b \u0441 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430.   <\/p>\n<pre><code>- hosts: engine_dst     tasks:      \u2014 name: Obtain SSO token     ovirt_auth:       url: \"{{ url_dst }}\"       username: \"{{ username }}\"       password: \"{{ password }}\"       insecure: \"{{ insecure }}\"     \u2014 name:  Wait for export to be finished     include_tasks: tasks\/check_ova_export_status.yml     \u2014 name: Ovirt config file creation     include_tasks: tasks\/ovirt_conf_creation.yml     tags:       \u2014 ovirt_config_creation     \u2014 name: Upload disk image     command: \"python3 \/usr\/share\/doc\/python3-ovirt-engine-sdk4\/examples\/upload_ova_as_vm_or_template.py -c engine --sd-name {{ data_domain }} \/mnt\/nfs\/{{ vm_name }} --cluster-name {{ cluster_name }}\"     \u2014 name: Remove config     file:       path: \"\/root\/.config\/ovirt.conf\"       state: absent     \u2014 name: Remove disk image from NFS     file:        path: \/mnt\/nfs\/{{vm_name}}        state: absent     \u2014 name: Change VM Name     ovirt_vm:       auth: \"{{ ovirt_auth }}\"       id: \"{{ vm_id }}\"       name: \"{{ vm_name }}\"     \u2014 name: Set console configuration for both Spice and VNC     ovirt_vm:       auth: \"{{ ovirt_auth }}\"       name: \"{{ vm_name<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-339838","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/339838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=339838"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/339838\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=339838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=339838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=339838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}