<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="MSHTML 8.00.6001.23507">
<style id="owaParaStyle">P {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
</style>
</head>
<body fPStyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<p>Since I thought it would be useful to show others a real example of anvil doing its thing (and since I wanted to try out this new website/tool that easily shows this) I created a terminal screencast that shows the different stages anvil goes through.</p>
<p>For those who have not tried anvil (or do not have easy access to a centos/rhel machine) below are some live examples that I recorded (showterm.io is pretty neat). Note that after the building stage the repositories that are created can be used by more than
 just anvil to do further installations of the same components (and there dependencies).</p>
<p>The walkthrough itself: <a href="http://anvil.readthedocs.org/en/latest/topics/gettingstarted.html">
http://anvil.readthedocs.org/en/latest/topics/gettingstarted.html</a></p>
<p> </p>
<p>---Bootstrap---</p>
<p>This is needed to get ready for the rest of anvils stages by installing anvils python dependencies so that anvil can correctly run using said dependencies.</p>
<p>See: <a href="http://showterm.io/effa75ea631777a2e74a0">http://showterm.io/effa75ea631777a2e74a0</a></p>
<p> </p>
<p>---Preparing---</p>
<p>This stage does the download of the source repositories, analysis of dependencies, download of missing dependencies and building of source repositories and missing dependencies into source rpms.</p>
<p>See: <a href="http://showterm.io/12c29e87094f128d945fa">http://showterm.io/12c29e87094f128d945fa</a></p>
<p>Directory structure after this stage: <a href="http://showterm.io/c9558f78582727432bbb9">
http://showterm.io/c9558f78582727432bbb9</a></p>
<p> </p>
<p>---Building---</p>
<p>This is the stage responsible for translating the previously prepared source rpms into installable rpms (of the non-source type). The output of this phase is two repositories, one with the dependencies and one with the rpms for the openstack components themselves.</p>
<p>See: <a href="http://showterm.io/2fee38794dcf536ccd437">http://showterm.io/2fee38794dcf536ccd437</a></p>
<p>Directory structure after this stage: <a href="http://showterm.io/6ec41fe645bb0e9423c1a">
http://showterm.io/6ec41fe645bb0e9423c1a</a></p>
<p> </p>
<p>---Installing---</p>
<p>This is the stage that is responsible for ensuring the needed rpms are still available and installing them onto your system (using all the created dependencies and repositories from the previous stages). It also configures the components configuration files
 (paste for example) and sets up the needed databases and MQ components (rabbit or qpid).</p>
<p>See: <a href="http://showterm.io/ed2611a6f9c086acfa8f8">http://showterm.io/ed2611a6f9c086acfa8f8</a></p>
<p> </p>
<p>---Starting---</p>
<p>This stage now starts the services for the individual components. At this stage, since each component was packaged as an rpm we also nicely included a set of init.d scripts for each component in its rpm; this starting support uses those init.d scripts to
 start those components up. It also goes about running the needed post-start actions, including downloading+installing an image for you, setting up keystone configuration and making your nova network.</p>
<p>See: <a href="http://showterm.io/8ad5f96882e09a4d97ca3">http://showterm.io/8ad5f96882e09a4d97ca3</a></p>
<p> </p>
<p>---Stopping---</p>
<p>This stage uses the service control layer to stop all components.</p>
<p>See: <a href="http://showterm.io/a3a23838ebd476d93a6a1">http://showterm.io/a3a23838ebd476d93a6a1</a></p>
<p> </p>
<p>---Uninstalling---</p>
<p>This removes the packages that were installed (+ it does some extra cleanup of some components dirty laundry that is sometimes left behind), restoring your environment back to its pre-installation state.</p>
<p>See: <a href="http://showterm.io/3e4d8892084e5f66ac18d">http://showterm.io/3e4d8892084e5f66ac18d</a></p>
<p><br>
-Josh</p>
</div>
</body>
</html>