Track3Agenda: ex-ganeti-instance-image.htm

File ex-ganeti-instance-image.htm, 35.5 KB (added by b.candler, 5 years ago)
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5  <meta http-equiv="Content-Style-Type" content="text/css" />
6  <meta name="generator" content="pandoc" />
7  <title>Ganeti VM building using instance-image</title>
8  <style type="text/css">code{white-space: pre;}</style>
9  <link href="data:text/css,%2F%2A%0A%20%20%20%20Buttondown%0A%20%20%20%20A%20Markdown%2FMultiMarkdown%2FPandoc%20HTML%20output%20CSS%20stylesheet%0A%20%20%20%20Author%3A%20Ryan%20Gray%0A%20%20%20%20Date%3A%2015%20Feb%202011%0A%20%20%20%20Revised%3A%2021%20Feb%202012%0A%20%20%20%0A%20%20%20%20General%20style%20is%20clean%2C%20with%20minimal%20re%2Ddefinition%20of%20the%20defaults%20or%20%0A%20%20%20%20overrides%20of%20user%20font%20settings%2E%20The%20body%20text%20and%20header%20styles%20are%20%0A%20%20%20%20left%20alone%20except%20title%2C%20author%20and%20date%20classes%20are%20centered%2E%20A%20Pandoc%20TOC%20%0A%20%20%20%20is%20not%20printed%2C%20URLs%20are%20printed%20after%20hyperlinks%20in%20parentheses%2E%20%0A%20%20%20%20Block%20quotes%20are%20italicized%2E%20Tables%20are%20lightly%20styled%20with%20lines%20above%20%0A%20%20%20%20and%20below%20the%20table%20and%20below%20the%20header%20with%20a%20boldface%20header%2E%20Code%20%0A%20%20%20%20blocks%20are%20line%20wrapped%2E%20%0A%20%0A%20%20%20%20All%20elements%20that%20Pandoc%20and%20MultiMarkdown%20use%20should%20be%20listed%20here%2C%20even%20%0A%20%20%20%20if%20the%20style%20is%20empty%20so%20you%20can%20easily%20add%20styling%20to%20anything%2E%0A%20%20%20%20%0A%20%20%20%20There%20are%20some%20elements%20in%20here%20for%20HTML5%20output%20of%20Pandoc%2C%20but%20I%20have%20not%20%0A%20%20%20%20gotten%20around%20to%20testing%20that%20yet%2E%0A%2A%2F%0A%20%0A%2F%2A%20NOTES%3A%0A%20%0A%20%20%20%20Stuff%20tried%20and%20failed%3A%0A%20%20%20%20%0A%20%20%20%20It%20seems%20that%20specifying%20font%2Dfamily%3Aserif%20in%20Safari%20will%20always%20use%20%0A%20%20%20%20Times%20New%20Roman%20rather%20than%20the%20user%27s%20preferences%20setting%2E%0A%20%20%20%20%0A%20%20%20%20Making%20the%20font%20size%20different%20or%20a%20fixed%20value%20for%20print%20in%20case%20the%20screen%20%0A%20%20%20%20font%20size%20is%20making%20the%20print%20font%20too%20big%3A%20Making%20font%2Dsize%20different%20for%20%0A%20%20%20%20print%20than%20for%20screen%20causes%20horizontal%20lines%20to%20disappear%20in%20math%20when%20using%20%0A%20%20%20%20MathJax%20under%20Safari%2E%0A%2A%2F%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Front%20Matter%20%2D%2D%2D%2D%20%2A%2F%0A%20%0A%2F%2A%20Pandoc%20header%20DIV%2E%20Contains%20%2Etitle%2C%20%2Eauthor%20and%20%2Edate%2E%20Comes%20before%20div%23TOC%2E%20%0A%20%20%20Only%20appears%20if%20one%20of%20those%20three%20are%20in%20the%20document%2E%0A%2A%2F%0A%20%0Adiv%23header%2C%20header%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Put%20border%20on%20bottom%2E%20Separates%20it%20from%20TOC%20or%20body%20that%20comes%20after%20it%2E%20%2A%2F%0A%20%20%20%20border%2Dbottom%3A%201px%20solid%20%23aaa%3B%0A%20%20%20%20margin%2Dbottom%3A%200%2E5em%3B%0A%20%20%20%20%7D%0A%20%0A%2Etitle%20%2F%2A%20Pandoc%20title%20header%20%28h1%2Etitle%29%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20text%2Dalign%3A%20center%3B%0A%20%20%20%20%7D%0A%20%0A%2Eauthor%2C%20%2Edate%20%2F%2A%20Pandoc%20author%28s%29%20and%20date%20headers%20%28h2%2Eauthor%20and%20h3%2Edate%29%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20text%2Dalign%3A%20center%3B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20Pandoc%20table%20of%20contents%20DIV%20when%20using%20the%20%2D%2Dtoc%20option%2E%0A%20%20%20NOTE%3A%20this%20doesn%27t%20support%20Pandoc%27s%20%2D%2Did%2Dprefix%20option%20for%20%23TOC%20and%20%23header%2E%20%0A%20%20%20Probably%20would%20need%20to%20use%20div%5Bid%24%3D%27TOC%27%5D%20and%20div%5Bid%24%3D%27header%27%5D%20as%20selectors%2E%0A%2A%2F%0A%20%0Adiv%23TOC%2C%20nav%23TOC%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Put%20border%20on%20bottom%20to%20separate%20it%20from%20body%2E%20%2A%2F%0A%20%20%20%20border%2Dbottom%3A%201px%20solid%20%23aaa%3B%0A%20%20%20%20margin%2Dbottom%3A%200%2E5em%3B%0A%20%20%20%20%7D%0A%20%0A%40media%20print%0A%20%20%20%20%7B%0A%20%20%20%20div%23TOC%2C%20nav%23TOC%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20Don%27t%20display%20TOC%20in%20print%20%2A%2F%0A%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Headers%20and%20sections%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Ah1%2C%20h2%2C%20h3%2C%20h4%2C%20h5%2C%20h6%0A%7B%0A%20%20%20%20font%2Dfamily%3A%20%22Helvetica%20Neue%22%2C%20Helvetica%2C%20%22Liberation%20Sans%22%2C%20Calibri%2C%20Arial%2C%20sans%2Dserif%3B%20%2F%2A%20Sans%2Dserif%20headers%20%2A%2F%0A%20%0A%20%20%20%20%2F%2A%20font%2Dfamily%3A%20%22Liberation%20Serif%22%2C%20%22Georgia%22%2C%20%22Times%20New%20Roman%22%2C%20serif%3B%20%2F%2A%20Serif%20headers%20%2A%2F%0A%20%0A%20%20%20%20page%2Dbreak%2Dafter%3A%20avoid%3B%20%2F%2A%20Firefox%2C%20Chrome%2C%20and%20Safari%20do%20not%20support%20the%20property%20value%20%22avoid%22%20%2A%2F%0A%7D%0A%20%0A%2F%2A%20Pandoc%20with%20%2D%2Dsection%2Ddivs%20option%20%2A%2F%0A%20%0Adiv%20div%2C%20section%20section%20%2F%2A%20Nested%20sections%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20margin%2Dleft%3A%202em%3B%20%2F%2A%20This%20will%20increasingly%20indent%20nested%20header%20sections%20%2A%2F%0A%20%20%20%20%7D%0A%20%0Ap%20%7B%7D%0A%20%0Ablockquote%0A%20%20%20%20%7B%20%0A%20%20%20%20font%2Dstyle%3A%20italic%3B%0A%20%20%20%20%7D%0A%20%0Ali%20%2F%2A%20All%20list%20items%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Ali%20%3E%20p%20%2F%2A%20Loosely%20spaced%20list%20item%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20margin%2Dtop%3A%201em%3B%20%2F%2A%20IE%3A%20lack%20of%20space%20above%20a%20%3Cli%3E%20when%20the%20item%20is%20inside%20a%20%3Cp%3E%20%2A%2F%0A%20%20%20%20%7D%0A%20%0Aul%20%2F%2A%20Whole%20unordered%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Aul%20li%20%2F%2A%20Unordered%20list%20item%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Aol%20%2F%2A%20Whole%20ordered%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Aol%20li%20%2F%2A%20Ordered%20list%20item%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Ahr%20%7B%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Some%20span%20elements%20%2D%2D%2D%20%2A%2F%0A%20%0Asub%20%2F%2A%20Subscripts%2E%20Pandoc%3A%20H%7E2%7EO%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Asup%20%2F%2A%20Superscripts%2E%20Pandoc%3A%20The%202%5End%5E%20try%2E%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%20%20%20%0Aem%20%2F%2A%20Emphasis%2E%20Markdown%3A%20%2Aemphasis%2A%20or%20%5Femphasis%5F%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%20%20%20%0Aem%20%3E%20em%20%2F%2A%20Emphasis%20within%20emphasis%3A%20%2AThis%20is%20all%20%2Aemphasized%2A%20except%20that%2A%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20font%2Dstyle%3A%20normal%3B%0A%20%20%20%20%7D%0A%20%0Astrong%20%2F%2A%20Markdown%20%2A%2Astrong%2A%2A%20or%20%5F%5Fstrong%5F%5F%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Links%20%28anchors%29%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Aa%20%2F%2A%20All%20links%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Keep%20links%20clean%2E%20On%20screen%2C%20they%20are%20colored%3B%20in%20print%2C%20they%20do%20nothing%20anyway%2E%20%2A%2F%0A%20%20%20%20text%2Ddecoration%3A%20none%3B%0A%20%20%20%20%7D%0A%20%0A%40media%20screen%0A%20%20%20%20%7B%0A%20%20%20%20a%3Ahover%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20On%20hover%2C%20we%20indicate%20a%20bit%20more%20that%20it%20is%20a%20link%2E%20%2A%2F%0A%20%20%20%20%20%20%20%20text%2Ddecoration%3A%20underline%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%0A%40media%20print%0A%20%20%20%20%7B%0A%20%20%20%20a%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20In%20print%2C%20a%20colored%20link%20is%20useless%2C%20so%20un%2Dstyle%20it%2E%20%2A%2F%0A%20%20%20%20%20%20%20%20color%3A%20black%3B%0A%20%20%20%20%20%20%20%20background%3A%20transparent%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20a%5Bhref%5E%3D%22http%3A%2F%2F%22%5D%3Aafter%2C%20a%5Bhref%5E%3D%22https%3A%2F%2F%22%5D%3Aafter%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20However%2C%20links%20that%20go%20somewhere%20else%2C%20might%20be%20useful%20to%20the%20reader%2C%0A%20%20%20%20%20%20%20%20%20%20%20so%20for%20http%20and%20https%20links%2C%20print%20the%20URL%20after%20what%20was%20the%20link%20%0A%20%20%20%20%20%20%20%20%20%20%20text%20in%20parens%0A%20%20%20%20%20%20%20%20%2A%2F%0A%20%20%20%20%20%20%20%20content%3A%20%22%20%28%22%20attr%28href%29%20%22%29%20%22%3B%0A%20%20%20%20%20%20%20%20font%2Dsize%3A%2090%25%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Images%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Aimg%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Let%20it%20be%20inline%20left%2Fright%20where%20it%20wants%20to%20be%2C%20but%20verticality%20make%20%0A%20%20%20%20%20%20%20it%20in%20the%20middle%20to%20look%20nicer%2C%20but%20opinions%20differ%2C%20and%20if%20in%20a%20multi%2Dline%20%0A%20%20%20%20%20%20%20paragraph%2C%20it%20might%20not%20be%20so%20great%2E%20%0A%20%20%20%20%2A%2F%0A%20%20%20%20vertical%2Dalign%3A%20middle%3B%0A%20%20%20%20%7D%0A%20%0Adiv%2Efigure%20%2F%2A%20Pandoc%20figure%2Dstyle%20image%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Center%20the%20image%20and%20caption%20%2A%2F%0A%20%20%20%20margin%2Dleft%3A%20auto%3B%0A%20%20%20%20margin%2Dright%3A%20auto%3B%0A%20%20%20%20text%2Dalign%3A%20center%3B%0A%20%20%20%20font%2Dstyle%3A%20italic%3B%0A%20%20%20%20%7D%0A%20%0Ap%2Ecaption%20%2F%2A%20Pandoc%20figure%2Dstyle%20caption%20within%20div%2Efigure%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Inherits%20div%2Efigure%20props%20by%20default%20%2A%2F%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Code%20blocks%20and%20spans%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Apre%2C%20code%20%0A%20%20%20%20%7B%0A%20%20%20%20background%2Dcolor%3A%20%23fdf7ee%3B%0A%20%20%20%20%2F%2A%20BEGIN%20word%20wrap%20%2A%2F%0A%20%20%20%20%2F%2A%20Need%20all%20the%20following%20to%20word%20wrap%20instead%20of%20scroll%20box%20%2A%2F%0A%20%20%20%20%2F%2A%20This%20will%20override%20the%20overflow%3Aauto%20if%20present%20%2A%2F%0A%20%20%20%20white%2Dspace%3A%20pre%2Dwrap%3B%20%2F%2A%20css%2D3%20%2A%2F%0A%20%20%20%20white%2Dspace%3A%20%2Dmoz%2Dpre%2Dwrap%20%21important%3B%20%2F%2A%20Mozilla%2C%20since%201999%20%2A%2F%0A%20%20%20%20white%2Dspace%3A%20%2Dpre%2Dwrap%3B%20%2F%2A%20Opera%204%2D6%20%2A%2F%0A%20%20%20%20white%2Dspace%3A%20%2Do%2Dpre%2Dwrap%3B%20%2F%2A%20Opera%207%20%2A%2F%0A%20%20%20%20word%2Dwrap%3A%20break%2Dword%3B%20%2F%2A%20Internet%20Explorer%205%2E5%2B%20%2A%2F%0A%20%20%20%20%2F%2A%20END%20word%20wrap%20%2A%2F%0A%20%20%20%20%7D%0A%20%0Apre%20%2F%2A%20Code%20blocks%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Distinguish%20pre%20blocks%20from%20other%20text%20by%20more%20than%20the%20font%20with%20a%20background%20tint%2E%20%2A%2F%0A%20%20%20%20padding%3A%200%2E5em%3B%20%2F%2A%20Since%20we%20have%20a%20background%20color%20%2A%2F%0A%20%20%20%20border%2Dradius%3A%205px%3B%20%2F%2A%20Softens%20it%20%2A%2F%0A%20%20%20%20%2F%2A%20Give%20it%20a%20some%20definition%20%2A%2F%0A%20%20%20%20border%3A%201px%20solid%20%23aaa%3B%0A%20%20%20%20%2F%2A%20Set%20it%20off%20left%20and%20right%2C%20seems%20to%20look%20a%20bit%20nicer%20when%20we%20have%20a%20background%20%2A%2F%0A%20%20%20%20margin%2Dleft%3A%20%200%2E5em%3B%0A%20%20%20%20margin%2Dright%3A%200%2E5em%3B%0A%20%20%20%20%7D%0A%20%0A%40media%20screen%0A%20%20%20%20%7B%0A%20%20%20%20pre%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20On%20screen%2C%20use%20an%20auto%20scroll%20box%20for%20long%20lines%2C%20unless%20word%2Dwrap%20is%20enabled%20%2A%2F%0A%20%20%20%20%20%20%20%20white%2Dspace%3A%20pre%3B%0A%20%20%20%20%20%20%20%20overflow%3A%20auto%3B%0A%20%20%20%20%20%20%20%20%2F%2A%20Dotted%20looks%20better%20on%20screen%20and%20solid%20seems%20to%20print%20better%2E%20%2A%2F%0A%20%20%20%20%20%20%20%20border%3A%201px%20dotted%20%23777%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%0Acode%20%2F%2A%20All%20inline%20code%20spans%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Ap%20%3E%20code%2C%20li%20%3E%20code%20%2F%2A%20Code%20spans%20in%20paragraphs%20and%20tight%20lists%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Pad%20a%20little%20from%20adjacent%20text%20%2A%2F%0A%20%20%20%20padding%2Dleft%3A%20%202px%3B%0A%20%20%20%20padding%2Dright%3A%202px%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0Ali%20%3E%20p%20code%20%2F%2A%20Code%20span%20in%20a%20loose%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20We%20have%20room%20for%20some%20more%20background%20color%20above%20and%20below%20%2A%2F%0A%20%20%20%20padding%3A%202px%3B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Math%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Aspan%2Emath%20%2F%2A%20Pandoc%20inline%20math%20default%20and%20%2D%2Djsmath%20inline%20math%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%2F%2A%20Tried%20font%2Dstyle%3Aitalic%20here%2C%20and%20it%20messed%20up%20MathJax%20rendering%20in%20some%20browsers%2E%20Maybe%20don%27t%20mess%20with%20at%20all%2E%20%2A%2F%0A%20%20%20%20%7D%0A%20%20%20%20%0Adiv%2Emath%20%2F%2A%20Pandoc%20%2D%2Djsmath%20display%20math%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%20%20%20%0Aspan%2ELaTeX%20%2F%2A%20Pandoc%20%2D%2Dlatexmathml%20math%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%20%0A%20%0Aeq%20%2F%2A%20Pandoc%20%2D%2Dgladtex%20math%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%20%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Tables%20%2D%2D%2D%2D%20%2A%2F%0A%20%0A%2F%2A%20%20A%20clean%20textbook%2Dlike%20style%20with%20horizontal%20lines%20above%20and%20below%20and%20under%20%0A%20%20%20%20the%20header%2E%20Rows%20highlight%20on%20hover%20to%20help%20scanning%20the%20table%20on%20screen%2E%0A%2A%2F%0A%20%0Atable%0A%20%20%20%20%7B%0A%20%20%20%20border%2Dcollapse%3A%20collapse%3B%0A%20%20%20%20border%2Dspacing%3A%200%3B%20%2F%2A%20IE%206%20%2A%2F%0A%20%0A%20%20%20%20border%2Dbottom%3A%202pt%20solid%20%23000%3B%0A%20%20%20%20border%2Dtop%3A%202pt%20solid%20%23000%3B%20%2F%2A%20The%20caption%20on%20top%20will%20not%20have%20a%20bottom%2Dborder%20%2A%2F%0A%20%0A%20%20%20%20%2F%2A%20Center%20%2A%2F%0A%20%20%20%20margin%2Dleft%3A%20auto%3B%0A%20%20%20%20margin%2Dright%3A%20auto%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0Athead%20%2F%2A%20Entire%20table%20header%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20border%2Dbottom%3A%201pt%20solid%20%23000%3B%0A%20%20%20%20background%2Dcolor%3A%20%23eee%3B%20%2F%2A%20Does%20this%20BG%20print%20well%3F%20%2A%2F%0A%20%20%20%20%7D%0A%20%0Atr%2Eheader%20%2F%2A%20Each%20header%20row%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%20%0A%20%0Atbody%20%2F%2A%20Entire%20table%20%20body%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20Table%20body%20rows%20%2A%2F%0A%20%0Atr%20%20%7B%0A%20%20%20%20%7D%0Atr%2Eodd%3Ahover%2C%20tr%2Eeven%3Ahover%20%2F%2A%20Use%20%2Eodd%20and%20%2Eeven%20classes%20to%20avoid%20styling%20rows%20in%20other%20tables%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20background%2Dcolor%3A%20%23eee%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0A%2F%2A%20Odd%20and%20even%20rows%20%2A%2F%0Atr%2Eodd%20%7B%7D%0Atr%2Eeven%20%7B%7D%0A%20%0Atd%2C%20th%20%2F%2A%20Table%20cells%20and%20table%20header%20cells%20%2A%2F%0A%20%20%20%20%7B%20%0A%20%20%20%20vertical%2Dalign%3A%20top%3B%20%2F%2A%20Word%20%2A%2F%0A%20%20%20%20vertical%2Dalign%3A%20baseline%3B%20%2F%2A%20Others%20%2A%2F%0A%20%20%20%20padding%2Dleft%3A%20%20%200%2E5em%3B%0A%20%20%20%20padding%2Dright%3A%20%200%2E5em%3B%0A%20%20%20%20padding%2Dtop%3A%20%20%20%200%2E2em%3B%0A%20%20%20%20padding%2Dbottom%3A%200%2E2em%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0A%2F%2A%20Removes%20padding%20on%20left%20and%20right%20of%20table%20for%20a%20tight%20look%2E%20Good%20if%20thead%20has%20no%20background%20color%2A%2F%0A%2F%2A%0Atr%20td%3Alast%2Dchild%2C%20tr%20th%3Alast%2Dchild%0A%20%20%20%20%7B%0A%20%20%20%20padding%2Dright%3A%200%3B%0A%20%20%20%20%7D%0Atr%20td%3Afirst%2Dchild%2C%20tr%20th%3Afirst%2Dchild%20%0A%20%20%20%20%7B%0A%20%20%20%20padding%2Dleft%3A%200%3B%0A%20%20%20%20%7D%0A%2A%2F%0A%20%0Ath%20%2F%2A%20Table%20header%20cells%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20font%2Dweight%3A%20bold%3B%20%0A%20%20%20%20%7D%0A%20%0Atfoot%20%2F%2A%20Table%20footer%20%28what%20appears%20here%20if%20caption%20is%20on%20top%3F%29%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0Acaption%20%2F%2A%20This%20is%20for%20a%20table%20caption%20tag%2C%20not%20the%20p%2Ecaption%20Pandoc%20uses%20in%20a%20div%2Efigure%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20caption%2Dside%3A%20top%3B%0A%20%20%20%20border%3A%20none%3B%0A%20%20%20%20font%2Dsize%3A%200%2E9em%3B%0A%20%20%20%20font%2Dstyle%3A%20italic%3B%0A%20%20%20%20text%2Dalign%3A%20center%3B%0A%20%20%20%20margin%2Dbottom%3A%200%2E3em%3B%20%2F%2A%20Good%20for%20when%20on%20top%20%2A%2F%0A%20%20%20%20padding%2Dbottom%3A%200%2E2em%3B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20%2D%2D%2D%2D%20Definition%20lists%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Adl%20%2F%2A%20The%20whole%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20border%2Dtop%3A%202pt%20solid%20black%3B%0A%20%20%20%20padding%2Dtop%3A%200%2E5em%3B%0A%20%20%20%20border%2Dbottom%3A%202pt%20solid%20black%3B%0A%20%20%20%20%7D%0A%20%0Adt%20%2F%2A%20Definition%20term%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20font%2Dweight%3A%20bold%3B%0A%20%20%20%20%7D%0A%20%0Add%2Bdt%20%2F%2A%202nd%20or%20greater%20term%20in%20the%20list%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20border%2Dtop%3A%201pt%20solid%20black%3B%0A%20%20%20%20padding%2Dtop%3A%200%2E5em%3B%0A%20%20%20%20%7D%0A%20%20%20%20%0Add%20%2F%2A%20A%20definition%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20margin%2Dbottom%3A%200%2E5em%3B%0A%20%20%20%20%7D%0A%20%0Add%2Bdd%20%2F%2A%202nd%20or%20greater%20definition%20of%20a%20term%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20border%2Dtop%3A%201px%20solid%20black%3B%20%2F%2A%20To%20separate%20multiple%20definitions%20%2A%2F%0A%20%20%20%20%7D%0A%20%20%20%20%0A%2F%2A%20%2D%2D%2D%2D%20Footnotes%20%2D%2D%2D%2D%20%2A%2F%0A%20%0Aa%2Efootnote%2C%20a%2EfootnoteRef%20%7B%20%2F%2A%20Pandoc%2C%20MultiMarkdown%20footnote%20links%20%2A%2F%0A%20%20%20%20font%2Dsize%3A%20small%3B%20%0A%20%20%20%20vertical%2Dalign%3A%20text%2Dtop%3B%0A%7D%0A%20%0Aa%5Bhref%5E%3D%22%23fnref%22%5D%2C%20a%2Ereversefootnote%20%2F%2A%20Pandoc%2C%20MultiMarkdown%2C%20%3F%3F%20footnote%20back%20links%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0A%40media%20print%0A%20%20%20%20%7B%0A%20%20%20%20a%5Bhref%5E%3D%22%23fnref%22%5D%2C%20a%2Ereversefootnote%20%2F%2A%20Pandoc%2C%20MultiMarkdown%20%2A%2F%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2A%20Don%27t%20display%20these%20at%20all%20in%20print%20since%20the%20arrow%20is%20only%20something%20to%20click%20on%20%2A%2F%0A%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20%0Adiv%2Efootnotes%20%2F%2A%20Pandoc%20footnotes%20div%20at%20end%20of%20the%20document%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%20%20%20%0Adiv%2Efootnotes%20li%5Bid%5E%3D%22fn%22%5D%20%2F%2A%20A%20footnote%20item%20within%20that%20div%20%2A%2F%0A%20%20%20%20%7B%0A%20%20%20%20%7D%0A%20%0A%2F%2A%20You%20can%20class%20stuff%20as%20%22noprint%22%20to%20not%20print%2E%20%0A%20%20%20Useful%20since%20you%20can%27t%20set%20this%20media%20conditional%20inside%20an%20HTML%20element%27s%20%0A%20%20%20style%20attribute%20%28I%20think%29%2C%20and%20you%20don%27t%20want%20to%20make%20another%20stylesheet%20that%20%0A%20%20%20imports%20this%20one%20and%20adds%20a%20class%20just%20to%20do%20this%2E%0A%2A%2F%0A%20%0A%40media%20print%0A%20%20%20%20%7B%0A%20%20%20%20%2Enoprint%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20display%3Anone%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A" rel="stylesheet" type="text/css" />
10</head>
11<body>
12<div id="header">
13<h1 class="title">Ganeti VM building using instance-image</h1>
14</div>
15<div id="TOC">
16<ul>
17<li><a href="#objectives"><span class="toc-section-number">1</span> Objectives</a></li>
18<li><a href="#preparation"><span class="toc-section-number">2</span> Preparation</a><ul>
19<li><a href="#cluster-setup---master-only"><span class="toc-section-number">2.1</span> Cluster setup - MASTER ONLY</a></li>
20<li><a href="#installing-os-definition---all-nodes"><span class="toc-section-number">2.2</span> Installing OS definition - ALL NODES</a></li>
21<li><a href="#update-the-os-definition---master-only"><span class="toc-section-number">2.3</span> Update the OS definition - MASTER ONLY</a></li>
22<li><a href="#distributing-iso-images---all-nodes"><span class="toc-section-number">2.4</span> Distributing ISO images - ALL NODES</a></li>
23</ul></li>
24<li><a href="#install-a-vnc-viewer-client"><span class="toc-section-number">3</span> Install a VNC Viewer (client)</a></li>
25<li><a href="#creation-of-instance---everyone-on-master-node"><span class="toc-section-number">4</span> Creation of instance - EVERYONE ON MASTER NODE</a></li>
26<li><a href="#configuring-the-network-service"><span class="toc-section-number">5</span> Configuring the network service</a><ul>
27<li><a href="#use-ssh"><span class="toc-section-number">5.1</span> Use ssh</a></li>
28</ul></li>
29<li><a href="#changing-networks"><span class="toc-section-number">6</span> Changing networks</a></li>
30</ul>
31</div>
32<h1 id="objectives"><a href="#objectives"><span class="header-section-number">1</span> Objectives</a></h1>
33<ul>
34<li>Learn various ganeti commands</li>
35<li>Install a simple machine on an LVM volume</li>
36</ul>
37<p>You are going to install CentOS from a CD-ROM image, using its graphical installer and desktop. This is the simplest installation method and can be used to install any operating system such as Windows.</p>
38<p>NOTE: all the commands in this exercise are run as the root user. If you are logged in as a regular user, use <code>sudo -s</code> to get a root shell.</p>
39<pre><code>$ sudo -s
40# </code></pre>
41<h1 id="preparation"><a href="#preparation"><span class="header-section-number">2</span> Preparation</a></h1>
42<h2 id="cluster-setup---master-only"><a href="#cluster-setup---master-only"><span class="header-section-number">2.1</span> Cluster setup - MASTER ONLY</a></h2>
43<p>Before we create and install VMs, we need to change default settings in the cluster (this should have been done before, but we're doing it to be safe).</p>
44<p>Do this on the MASTER node:</p>
45<pre><code># gnt-cluster modify -H kvm:kernel_path=,initrd_path=,vnc_bind_address=0.0.0.0</code></pre>
46<p>This ensures that instances boot directly from their own disk images, not using a kernel on the host.</p>
47<h2 id="installing-os-definition---all-nodes"><a href="#installing-os-definition---all-nodes"><span class="header-section-number">2.2</span> Installing OS definition - ALL NODES</a></h2>
48<p>We need to install a support package called <code>ganeti-instance-image</code>. This provides ganeti with an &quot;OS definition&quot; - a collection of scripts which ganeti uses to create, export and import an operating system.</p>
49<p>The package can be installed as follows <sup><a href="#fn1" class="footnoteRef" id="fnref1">1</a></sup>: do this on all nodes in your cluster.</p>
50<pre><code># wget https://code.osuosl.org/attachments/download/2169/ganeti-instance-image_0.5.1-1_all.deb
51# dpkg -i ganeti-instance-image_0.5.1-1_all.deb</code></pre>
52<h2 id="update-the-os-definition---master-only"><a href="#update-the-os-definition---master-only"><span class="header-section-number">2.3</span> Update the OS definition - MASTER ONLY</a></h2>
53<p>First wait until the other (slave) nodes in your cluster have installed the ganeti-instance-image package.</p>
54<p>instance-image needs to be told how to install or re-install the operating system. It can be configured to do this by unpacking an image of an already-installed system (in tar, dump or qcow2 format), but in our case we just want to do a manual install from a CD image.</p>
55<p>On the master node, as root create a file <code>/etc/ganeti/instance-image/variants/cd.conf</code> with the following contents:</p>
56<pre><code>CDINSTALL=&quot;yes&quot;
57NOMOUNT=&quot;yes&quot;</code></pre>
58<blockquote>
59<p>Aside: the full set of settings you could put in this file are listed in <code>/etc/default/ganeti-instance-image</code>, but don't edit them there</p>
60</blockquote>
61<p>Now edit <code>/etc/ganeti/instance-image/variants.list</code> so it looks like this:</p>
62<pre><code>default
63cd</code></pre>
64<p>Copy these two files to the other nodes:</p>
65<pre><code># gnt-cluster copyfile /etc/ganeti/instance-image/variants/cd.conf
66# gnt-cluster copyfile /etc/ganeti/instance-image/variants.list</code></pre>
67<p>Still on the master, check that the &quot;image+cd&quot; variant is available.</p>
68<pre><code># gnt-os list
69Name
70debootstrap+default
71image+cd               &lt;&lt; THIS ONE
72image+default</code></pre>
73<h2 id="distributing-iso-images---all-nodes"><a href="#distributing-iso-images---all-nodes"><span class="header-section-number">2.4</span> Distributing ISO images - ALL NODES</a></h2>
74<p>If using DRBD, the ISO images used for CD installs must be present on all nodes in the cluster, in the same path.</p>
75<p>You could copy them to local storage on the master node, and then use <code>gnt-cluster copyfile</code> to distribute them to local storage on the other nodes. However to make things simpler, we've made all the ISO images available on an NFS share (Network File Service), which you can attach.</p>
76<p>On every node, create a empty directory <code>/iso</code>:</p>
77<pre><code># mkdir /iso</code></pre>
78<p>And now mount the file share:</p>
79<pre><code># apt-get install nfs-common
80# mount s1.ws.nsrc.org:/iso /iso</code></pre>
81<p>Check that you can see the shared files:</p>
82<pre><code># ls /iso</code></pre>
83<h1 id="install-a-vnc-viewer-client"><a href="#install-a-vnc-viewer-client"><span class="header-section-number">3</span> Install a VNC Viewer (client)</a></h1>
84<p>Install a VNC Viewer application on your laptop. (Note that RealVNC does not appear to work with KVM)</p>
85<ul>
86<li>For Windows: download vncviewer.exe or vncviewer64.exe (32 or 64-bit respectively) from <a href="http://sourceforge.net/projects/tigervnc/files/tigervnc/">TigerVNC</a></li>
87<li>For OSX: install TigerVNC Viewer from the dmg file</li>
88<li>For Linux: install gvncviewer</li>
89</ul>
90<h1 id="creation-of-instance---everyone-on-master-node"><a href="#creation-of-instance---everyone-on-master-node"><span class="header-section-number">4</span> Creation of instance - EVERYONE ON MASTER NODE</a></h1>
91<blockquote>
92<p>Note: each pair of people working together can create their own instance. However you will all have to log into the MASTER node of your cluster to perform these commands.</p>
93<p>For example, if you working on host3 then you will have to login to host1 (your cluster's master node). You will then create a VM called <code>centos3</code> and instruct ganeti to create it on your host using the flag <code>-n host3.ws.nsrc.org</code></p>
94</blockquote>
95<p>Run the following command to create an instance. Note that we don't start it yet, because we want to temporarily attach the CD-ROM image at start time.</p>
96<pre><code># gnt-instance add -t plain -o image+cd \
97    -s 4G -B minmem=256M,maxmem=1G \
98    -n hostX.ws.nsrc.org \
99    --no-start --no-name-check --no-ip-check \
100    centosX</code></pre>
101<p>Explanation:</p>
102<ul>
103<li><code>-t plain</code> means simple LVM (not replicated with DRBD)</li>
104<li><code>-o image+cd</code> means to use the OS definition ganeti-instance-image, with the <code>cd</code> variant we created</li>
105<li><code>-s 4G</code> means to create a 4GB disk drive</li>
106<li><code>-B minmem=256M,maxmem=1G</code> sets the memory limits for this VM. It will try to run it with 1GB, but if not enough memory is available it may shrink it down to 256MB.</li>
107<li><code>-n hostX.ws.nsrc.org</code> says which node to create this VM on. If you omit this then the cluster balancer will pick the least-loaded node.</li>
108<li><code>--no-start</code> means don't start the VM after creating it</li>
109<li><code>--no-name-check</code> means don't check that <code>centosX</code> exists in the DNS (because it doesn't!)</li>
110<li><code>--no-ip-check</code> means if you found the name in the DNS, don't check that the IP address is not in use</li>
111<li>the final parameter is the name of the instance. It would be good practice to use a fully-qualified domain name for this.</li>
112</ul>
113<p>You will see some messages about creating the instance being created.</p>
114<p>Now use <code>gnt-instance list</code> to see that the instance was created properly:</p>
115<pre><code># gnt-instance list -o +network_port
116
117Instance Hypervisor OS       Primary_node      Status     Memory Network_port
118centosX  kvm        image+cd hostX.ws.nsrc.org ADMIN_down      - 11XXX</code></pre>
119<p>Make a note of the Network_port - you'll need this to connect to the VNC console shortly.</p>
120<p>Start the VM using the following command, which attaches the CD-ROM temporarily and boots from it:</p>
121<pre><code># gnt-instance start \
122    -H boot_order=cdrom,cdrom_image_path=/iso/CentOS-6.5-i386-LiveCD.iso \
123    centosX
124
125Waiting for job 125 for centosX ...</code></pre>
126<p>Check that your VM status has changed from &quot;ADMIN_down&quot; to &quot;running&quot;:</p>
127<pre><code># gnt-instance list -o +network_port</code></pre>
128<p>On your laptop, open a VNC viewer application and point it at <code>&lt;Primary_node&gt;:&lt;Network_port&gt;</code>. If you have previously set a console password you'll be prompted for it.</p>
129<blockquote>
130<p>NOTE: if you get a &quot;kernel panic&quot; then update the version of qemu-kvm in your host:</p>
131<pre><code>  apt-get install -t wheezy-backports qemu-kvm</code></pre>
132<p>Shut down your guest:</p>
133<pre><code>  gnt-instance shutdown --timeout=0 centosX</code></pre>
134<p>Then start it again using the long line shown above with boot_order=cdrom.</p>
135</blockquote>
136<p>Once you have the liveCD desktop, double-click &quot;Install to Hard Drive&quot; to install the OS, and follow the instructions. Select &quot;Basic storage devices&quot; and &quot;Use All Space&quot;. You will be asked to create a normal (non-root) user, as well as set a root password.</p>
137<blockquote>
138<p>NOTE: if you are running with less than 640MB of RAM then the anaconda graphical installer will refuse to start. It will also wrongly disable swap. However it is possible to install with as little as 256MB of RAM by editing two .py files before starting the installer. These are described <a href="http://lists.centos.org/pipermail/centos/2011-July/115367.html">in this posting</a></p>
139</blockquote>
140<p>When done, and the installer says you can reboot, you should completely shut down the instance (<code>System &gt; Shut Down ...  &gt; Shut Down</code>). Once it has shut down and your VNC session has disconnected, start it again from the command line:</p>
141<pre><code># gnt-instance start centosX</code></pre>
142<p>and reconnect your VNC client. Doing a full shutdown and restart ensures that the CD-ROM image is no longer attached.</p>
143<p>After booting from the installed image, it will ask you some additional questions to complete the installation. Do these so that you get your final desktop and login as the normal (non-root) user you created.</p>
144<p>Note: if you ever want to shut down the instance from the host, you can issue the following command:</p>
145<pre><code># gnt-instance shutdown centosX</code></pre>
146<p>This will send ACPI shutdown request (similar to pressing the power button on a modern PC) and wait up to 2 minutes for the shutdown sequence to complete.</p>
147<h1 id="configuring-the-network-service"><a href="#configuring-the-network-service"><span class="header-section-number">5</span> Configuring the network service</a></h1>
148<p>One thing remains to be done - our machines still don't have any network connectivity.</p>
149<p>Log in using VNC to the console of your VM. If you're in doubt which Node it's running on, use:</p>
150<pre><code># gnt-instance list -o +network_port</code></pre>
151<p>Once logged in to the <em>guest</em>:</p>
152<pre><code>$ ifconfig eth0</code></pre>
153<p>Notice there isn't any IP.</p>
154<p>When we initialized the cluster, we said that VMs by default would be attached to bridge <code>br-svc</code> on the host. That network's address and subnet is <code>10.10.255.0/24</code>, and there is no DHCP on this subnet.</p>
155<p>You will give an IP address to your VM, from the following table:</p>
156<table>
157<thead>
158<tr class="header">
159<th align="center">Cluster/Group</th>
160<th align="center">IP address</th>
161</tr>
162</thead>
163<tbody>
164<tr class="odd">
165<td align="center">Group 1</td>
166<td align="center">10.10.255.1 2 3 or 4</td>
167</tr>
168<tr class="even">
169<td align="center">Group 2</td>
170<td align="center">10.10.255.17 18 19 or 20</td>
171</tr>
172<tr class="odd">
173<td align="center">Group 3</td>
174<td align="center">10.10.255.33 34 35 or 36</td>
175</tr>
176<tr class="even">
177<td align="center">Group 4</td>
178<td align="center">10.10.255.49 50 51 or 52</td>
179</tr>
180<tr class="odd">
181<td align="center">Group 5</td>
182<td align="center">10.10.255.65 66 67 or 68</td>
183</tr>
184<tr class="even">
185<td align="center">Group 6</td>
186<td align="center">10.10.255.81 82 83 or 84</td>
187</tr>
188<tr class="odd">
189<td align="center">Group 7</td>
190<td align="center">10.10.255.97 98 99 or 100</td>
191</tr>
192</tbody>
193</table>
194<ul>
195<li>The netmask is going to be 255.255.255.0</li>
196<li>The gateway is going to be 10.10.255.254</li>
197</ul>
198<p>This could be done either using the GUI or config files. We'll use config files.</p>
199<p>Open a terminal using <code>Applications &gt; System Tools &gt; Terminal</code>, then get a root shell using <code>su</code> and the root password:</p>
200<pre><code>$ su
201Password: &lt;enter root password&gt;
202# </code></pre>
203<p>Create a file <code>/etc/sysconfig/network-scripts/ifcfg-eth0</code> which looks like this:</p>
204<pre><code>DEVICE=eth0
205IPADDR=10.10.255.XX
206NETMASK=255.255.255.0
207GATEWAY=10.10.255.254
208ONBOOT=yes
209BOOTPROTO=none
210NM_CONTROLLED=no
211DNS1=10.10.0.241
212DOMAIN=ws.nsrc.org</code></pre>
213<p>Replace <code>XX</code> with the IP from the table above.</p>
214<p>You can now bring up the interface:</p>
215<pre><code># ifup eth0</code></pre>
216<p>Test that connectivity works, by pinging the class webserver:</p>
217<pre><code># ping -c5 www.ws.nsrc.org</code></pre>
218<p>Does it work ?</p>
219<h2 id="use-ssh"><a href="#use-ssh"><span class="header-section-number">5.1</span> Use ssh</a></h2>
220<p>Your VM should have an openssh server already installed.</p>
221<p>Hence from your laptop you should now be able to log in to your VM on the IP address you gave it earlier (10.10.255.X).</p>
222<p><strong>Congratulations! The remainder of this worksheet is extra information in case you finish early, or which you can review at your leisure later</strong></p>
223<h1 id="changing-networks"><a href="#changing-networks"><span class="header-section-number">6</span> Changing networks</a></h1>
224<p>You don't have to run this, but if you want to you can.</p>
225<p>Moving the network interface 0 to another network:</p>
226<pre><code># gnt-instance modify --net 0:modify,link=br-lan centosX</code></pre>
227<p>Try to do this to move the network interface of one of the instances you created earlier, onto the br-lan.</p>
228<p>You'll need to reboot the instance after you made the change:</p>
229<pre><code># gnt-instance reboot centosX</code></pre>
230<p>You'll have to get into the VM's VNC console (since it won't be reachable over the network), and then you can run <code>dhclient eth0</code> to see if you can get an IP on the <code>br-lan</code> network, or set <code>BOOTPROTO=dhcp</code> in the interface configuration file and <code>ifup eth0</code></p>
231<p>When you've finished, change it back again.</p>
232<div class="footnotes">
233<hr />
234<ol>
235<li id="fn1"><p>You could, as an alternative, fetch and build the newest version of <code>ganeti-instance-image</code>, from here (building instructions are included) <a href="https://code.osuosl.org/projects/ganeti-image/files">https://code.osuosl.org/projects/ganeti-image/files</a><a href="#fnref1"></a></p></li>
236</ol>
237</div>
238</body>
239</html>