GithubHelp home page GithubHelp logo

isabella232 / puppet-nova Goto Github PK

View Code? Open in Web Editor NEW

This project forked from example42/puppet-nova

0.0 0.0 0.0 36 KB

Minimal Puppet module for OpenStack Nova

License: Apache License 2.0

Ruby 44.20% Puppet 55.66% Pascal 0.14%

puppet-nova's Introduction

#nova

DEPRECATION NOTICE

This module is no more actively maintained and will hardly be updated.

Please find an alternative module from other authors or consider Tiny Puppet as replacement.

If you want to maintain this module, contact Alessandro Franceschi

####Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Operating Systems Support
  6. Development

##Overview

This module installs, manages and configures nova and its services.

##Module Description

The module is based on stdmod naming standards version 0.9.0.

Refer to http://github.com/stdmod/ for complete documentation on the common parameters.

For a fully automated Puppet setup of OpenStack you'd better use the official StackForge modules. This module is intended to be a quick replacement for setups where you want to manage configurations based on plain template files or where you want to puppettize an existing OpenStack installation.

##Setup

###Resources managed by nova module

  • This module installs the nova package (in case of multiple services, the nova-api package is installed)
  • Enables the nova service (in case of multiple services, the nova-api service is managed)
  • Can manage all the configuration files (by default no file is changed)
  • Can manage any nova service and its configuration file (by default no file is changed)

###Setup Requirements

###Beginning with module nova

To install the package provided by the module just include it:

    include nova

The main class arguments can be provided either via Hiera (from Puppet 3.x) or direct parameters:

    class { 'nova':
      parameter => value,
    }

The module provides a generic define to manage any nova configuration file in /etc/nova:

    nova::conf { 'sample.conf':
      content => '# Test',
    }

A define to manage the package/service/configfile of single nova services. To install the package and run the service:

    nova::generic_service { 'nova-registry': }

To provide a configuration file for the service (alternative to nova::conf):

    nova::generic_service { 'nova-registry':
      config_file_template => 'site/nova/nova-registry.conf
    }

##Usage

  • A common way to use this module involves the management of the main configuration file via a custom template (provided in a custom site module):

      class { 'nova':
        config_file_template => 'site/nova/nova.conf.erb',
      }
    
  • You can write custom templates that use setting provided but the config_file_options_hash paramenter

      class { 'nova':
        config_file_template      => 'site/nova/nova.conf.erb',
        config_file_options_hash  => {
          opt  => 'value',
          opt2 => 'value2',
        },
      }
    
  • Use custom source (here an array) for main configuration file. Note that template and source arguments are alternative.

      class { 'nova':
        config_file_source => [ "puppet:///modules/site/nova/nova.conf-${hostname}" ,
                                "puppet:///modules/site/nova/nova.conf" ],
      }
    
  • Recurse from a custom source directory for the whole configuration directory (/etc/nova).

      class { 'nova':
        config_dir_source  => 'puppet:///modules/site/nova/conf/',
      }
    
  • Use custom source directory for the whole configuration directory and purge all the local files that are not on the dir. Note: This option can be used to be sure that the content of a directory is exactly the same you expect, but it is desctructive and may remove files.

      class { 'nova':
        config_dir_source => 'puppet:///modules/site/nova/conf/',
        config_dir_purge  => true, # Default: false.
      }
    
  • Use custom source directory for the whole configuration dir and define recursing policy.

      class { 'nova':
        config_dir_source    => 'puppet:///modules/site/nova/conf/',
        config_dir_recursion => false, # Default: true.
      }
    
  • Do not trigger a service restart when a config file changes.

      class { 'nova':
        config_dir_notify => '', # Default: Service[nova]
      }
    

##Operating Systems Support

This is tested on these OS:

  • RedHat osfamily 6
  • Ubuntu 12.04

##Development

Pull requests (PR) and bug reports via GitHub are welcomed.

When submitting PR please follow these quidelines:

  • Provide puppet-lint compliant code
  • If possible provide rspec tests
  • Follow the module style and stdmod naming standards

When submitting bug report please include or link:

  • The Puppet code that triggers the error
  • The output of facter on the system where you try it
  • All the relevant error logs
  • Any other information useful to undestand the context

puppet-nova's People

Contributors

alvagante avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.