AppStage: Preparing the Environment Base VM

Virtual Machine Installation

The VM images used by the AppStage environments are a self-configuring OS installation that will use the node definition file of the environment. Apart from the base installation of the OS you need to::

  • chef-solo: you can follow chef guides. Those guides have instructions on how to install it on various distributions.
  • ruby: most probably you wont need to install ruby as it is a chef requirement so after installing chef-solo you will have it available.
  • AppStage guest packages: The AppStage contextualization package can be found at /usr/share/one/oneapps. There are two versions, one for rpm based distributions (CentOS/RedHat) and another for debian ones (Debian/Ubuntu).

Installing the contextualization package will enable the machine to use OpenNebula network configuration. Will clean udev configuration that could create errors and install the script one-chef that will launch chef on start.

Creating a Base Template

Once the Virtual Machine is created, you need to register it in an OpenNebula datastore ( VM Images Guide ), and create one or more templates that make use of this image ( VM Templates Guide).

Note that using several templates to support an given environment will let you:

  • Use different OS with the same environment. For example, you can easily install several base VMs that use different OS (e.g. CentOS, Ubuntu…) and instantiate the same environment (e.g. Web development) on those VMs. This is useful for testing and development purposes.
  • You can define different capacities for the same environment (e.g. Web server small, large…) by setting different CPU and MEMORY attributes in the templates.
  • You can define different configurations for the same environments, e.g. attached to different networks or firewalling restrictions (i.e. different NIC sections), use different placement constraints (i.e. REQUIREMENT attribute)…