Formula Namespaces

Introduction

Ensemble supports deployment of formulas from multiple sources.

By default ensemble searches only the Ubuntu formula namespace to resolve formulas. For example the following command line snippet will install wordpress from the ubuntu formula namespace.:

ensemble deploy wordpress

In order to support local formula development and completely offline private repositories, formulas can also be deployed directly from a local directory. For example the following will resolve the wordpress formula to the $HOME/local_formulas directory.:

ensemble deploy --repository=~/local_formulas wordpress

With this parameter any formula dependencies from the wordpress formula will be looked up first in the local directory and then in the ubuntu formula namespace. So the command line flag ‘–repository’ alters the formula lookup from the default such that it prepends the local directory to the lookup order.

The lookup order can also be altered to utilize a 3rd party published repository in preference to the Ubuntu formula repository. For example the following will perform a formula lookup for wordpress and its dependencies from the published ‘openstack’ 3rd party repository before looking up dependencies in the Ubuntu formula repository.:

ensemble deploy --repository=es:openstack wordpress

The lookup order can also be specified just for a single formula. For example the following command would deploy the wordpress formula from the openstack namespace but would resolve dependencies (like apache and mysql) via the ubuntu namespace.:

ensemble deploy es:openstack/wordpress

The lookup order can also be explicitly specified in the client configuration to define a custom lookup order without the use of command line options.:

environments.yaml

 repositories:

    - http://formulas.ubuntu.com/collection/ubuntu
    - http://formulas.ubuntu.com/collection/openstack
    - http://formulas.ubuntu.com/people/miked
    - /var/lib/formulas

The repositories in the configuration file are specified as a yaml list, and the list order defines the lookup order for formulas.

Deployment

After ensemble resolves a formula and its dependencies, it bundles them and deploys them to a machine provider formula cache/repository. This allows the same formula to be deployed to multiple machines repeatably and with minimal network transfers.

Ensemble stores the qualified name of the formula when saving it to the machine provider cache. This allows a formula to be unambigiously identified, ie. whether it came from the ubuntu namespace or a 3rdparty namespace, or even from disk.

Project Versions

Table Of Contents

Previous topic

Exposing a service

Next topic

Resolving errors

This Page