Skip to content

Latest commit

 

History

History
315 lines (296 loc) · 8.77 KB

README.md

File metadata and controls

315 lines (296 loc) · 8.77 KB

ganeti_webmgr Cookbook

This cookbook is for easy deployment of ganeti_webmgr. In particular it is aimed at deployment to Vagrant, but the end goal is to have a general cookbook that allows you to deploy GWM easily in any environment.

Requirements

For testing you need the following gems:

  • test-kitchen
  • kitchen-vagrant

If you use berkshelf, you also will want to install the berkshelf gem as well.

To install dependencies run 'bundle install' in the root of the directory.

Attributes

ganeti_webmgr::default

Key Type Description Default
['ganeti_webmgr']['path'] String Full path to the location you want GWM at /var/lib/django/ganeti_webmgr
['ganeti_webmgr']['owner'] String Owner of the project and its virtual environment nil
['ganeti_webmgr']['group'] String Group of the project and its virtualenv nil
['ganeti_webmgr']['repository'] String Git repository to clone GWM from https://github.com/osuosl/ganeti_webmgr
['ganeti_webmgr']['revision'] String What branch to checkout GWM on develop
['ganeti_webmgr']['packages'] Array of strings List of packages to install before setting up GWM []
['ganeti_webmgr']['pip_packages'] Array of strings List of python packages to install before setting up GWM []
['ganeti_webmgr']['virtualenv'] String Full path to where you want GWM to store its virtual environment nil
['ganeti_webmgr']['requirements'] String Relative path from ['ganeti_webmgr']['path'] to the requirements file containing pip packages to install GWM nil
['ganeti_webmgr']['debug'] Boolean Whether or not to set the Django debug mode on or off false
['ganeti_webmgr']['local_settings_file'] String Relative path from ['ganeti_webmgr']['path'] to Ganeti Web Managers settings file. ganeti_webmgr/ganeti_web/settings/settings.py
['ganeti_webmgr']['settings_template'] String Path to settings.py chef template. settings.py.erb
['ganeti_webmgr']['overwrite_settings'] Boolean Overwrite existing settings files if it exists when deploying false
['ganeti_webmgr']['migrate'] Boolean Whether or not to run database migrations false
['ganeti_webmgr']['settings'] Hash Additional settings to pass to ['ganeti_webmgr']['settings_template'] {}
['ganeti_webmgr']['manage_file'] String Relative path from ['ganeti_webmgr']['path'] to the GWM manage.py file ganeti_webmgr/manage.py
['ganeti_webmgr']['collectstatic_dir'] String Absolute path to where you want staticfiles to be collected to ['ganeti_webmgr']['path']/collected_static
['ganeti_webmgr']['database']['engine'] String See https://docs.djangoproject.com/en/1.4/ref/settings/#databases nil
['ganeti_webmgr']['database']['name'] String See https://docs.djangoproject.com/en/1.4/ref/settings/#databases nil
['ganeti_webmgr']['database']['user'] String See https://docs.djangoproject.com/en/1.4/ref/settings/#databases nil
['ganeti_webmgr']['database']['password'] String See https://docs.djangoproject.com/en/1.4/ref/settings/#databases nil
['ganeti_webmgr']['database']['host'] String See https://docs.djangoproject.com/en/1.4/ref/settings/#databases nil
['ganeti_webmgr']['database']['port'] String See https://docs.djangoproject.com/en/1.4/ref/settings/#databases nil

ganeti_webmgr::proxy

Key Type Description Default
['ganeti_webmgr']['host'] String Host GWM is deployed on, for configuring http proxy node['fqdn']
['ganeti_webmgr']['port'] Integer Port GWM is listening on, for configuring http proxy 8000
['ganeti_webmgr']['http_proxy']['variant'] String Used to specify what to use as an http_proxy. Valid options are "nginx" nil
['ganeti_webmgr']['http_proxy']['host_name'] String Hostname of the http proxy node['fqdn']
['ganeti_webmgr']['http_proxy']['host_aliases'] List List of hostname aliases []
['ganeti_webmgr']['http_proxy']['listen_ports'] List of integers List of ports for the http proxy to listen on [ 80 ]
['ganeti_webmgr']['auth_proxy']['fqdn'] String Where the VNC Auth Proxy is running node.fqdn
['ganeti_webmgr']['auth_proxy']['port'] int Port VNC Auth Proxy is running on 8888

ganeti_webmgr::bootstrap_user

['ganeti_webmgr']['admin_username'] string **Do not use in production.** Username of Django superuser to boostrap after deployment. nil
['ganeti_webmgr']['admin_password'] string **Do not use in production.** Password of Django superuser to boostrap after deployment. nil
['ganeti_webmgr']['admin_email'] string **Do not use in production.** Email of Django superuser to boostrap after deployment. nil
['ganeti_webmgr']['admin_email'] string **Do not use in production.** Email of Django superuser to boostrap after deployment. nil

ganeti_webmgr::hosts

['ganeti_webmgr']['hostsfile'] Hash A mapping of ips to hostnames to add to `/etc/hosts/` {}

Usage

ganeti_webmgr::default or ganeti_webmgr::mysql

Just include ganeti_webmgr in your node's run_list. If you want to have it deploy with mysql and bootstrap a database for you use ganeti_webmgr::mysql:

{
  "name":"my_node",
  "run_list": [
    "recipe[ganeti_webmgr]"
  ]
}

or

{
  "name":"my_node",
  "run_list": [
    "recipe[ganeti_webmgr::mysql]"
  ]
}

ganeti_webmgr::bootstrap_user

Just include ganeti_webmgr::bootstrap_user in addition to one of the previous recipes in run_list:

{
  "name":"my_node",
  "run_list": [
    "recipe[ganeti_webmgr::default]"
    "recipe[ganeti_webmgr::bootstrap_user]"
  ]
}

ganeti_webmgr::hosts

This recipe is used to add hostname aliases in /etc/hosts. In the vagrant environment, it defaults to adding hostnames to be used with [vagrant- ganeti](https://github.com/osuosl /vagrant-ganeti).

License and Authors

Authors: Chance Zibolski [email protected]