https://github.com/indigo-dc/puppet-synergy
https://github.com/indigo-dc/puppet-synergy
indigo-dc openstack puppet synergy
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/indigo-dc/puppet-synergy
- Owner: indigo-dc
- Created: 2016-05-24T14:56:05.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-02-06T12:22:49.000Z (over 8 years ago)
- Last Synced: 2025-08-17T13:30:01.676Z (about 2 months ago)
- Topics: indigo-dc, openstack, puppet, synergy
- Language: HTML
- Size: 20.5 KB
- Stars: 0
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Synergy
#### Table of Contents
1. [Overview](#overview)
2. [Module Description - What the module does and why it is useful](#module-description)
3. [Setup - The basics of getting started with synergy](#setup)
* [What synergy affects](#what-synergy-affects)
* [Setup requirements](#setup-requirements)
* [Beginning with synergy](#beginning-with-synergy)
4. [Usage - Configuration options and additional functionality](#usage)
5. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
5. [Limitations - OS compatibility, etc.](#limitations)
6. [Development - Guide for contributing to the module](#development)## Overview
Set up and manage [Synergy](https://launchpad.net/synergy-service) on an existing
OpenStack instance.## Module Description
Users that already have an OpenStack instance can use this module to install
and configure the two main Synergy components:- [synergy-service](https://launchpad.net/synergy-service)
- [synergy-scheduler-manager](https://launchpad.net/synergy-scheduler-manager)This module will download the latest version of Synergy and install it.
One can manage Synergy configuration directly through this module.## Setup
### What synergy affects
* Synergy configuration file at `/etc/synergy/synergy.conf`
* packages `synergy-service` (rpm or deb depending on the platform) and
`synergy-scheduler-manager` (via pip)### Setup Requirements
An OpenStack instance (with the version specified in [Limitations](#limitations)).
The Puppet module [puppetlabs/apt](https://forge.puppet.com/puppetlabs/apt/)
if you plan to install on Ubuntu.An OpenStack package repository for fetching `python-oslo*` libraries:
- on Ubuntu, use the [*OpenStack/CloudArchive*](https://wiki.ubuntu.com/OpenStack/CloudArchive) repository.
- on CentOS, the *CentOS Cloud SIG* repository will be installed during the Puppet run through the `centos-openstack-release-{openstackversion}` package.### Beginning with synergy
Make sure this module is discoverable by your Puppet instance.
Declare the `synergy` class (see [Usage](#usage)).
## Usage
```puppet
class { 'synergy':
synergy_db_url => 'mysql://test:test@localhost',
dynamic_quotas => {'project_A' => 1, 'project_B' => 2},
project_shares => {'project_A' => 70, 'project_B' => 30 },
user_shares => {'project_A' => {'user1' => 60, 'user2' => 40 },
'project_B' => {'user3' => 80, 'user4' => 20}},
keystone_url => 'https://example.com',
keystone_admin_user => 'admin',
keystone_admin_password => 'the admin password',
}
```## Reference
### Class: `synergy`
#### Parameters
- `synergy_db_url` (*required*): the Synergy database, must be compliant to the [SQLAlchemy database URL schema](http://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls).
- `synergy_log_file` (default: `/var/log/synergy/synergy.log`): a file to log to.
- `synergy_log_level` (default: `INFO`): log all information including and above this level, choices: `INFO`, `WARNING`, `ERROR`.
- `synergy_service_host` (default: `localhost`): synergy host.
- `synergy_service_port` (default: `8051`): synergy port.
- `synergy_project_shares` (*required*): a puppet hash describing the project shares (see [Usage](#usage) for an example).
- `keystone_url` (*required*): Keystone URL.
- `keystone_admin_user` (*required*): Keystone admin user.
- `keystone_admin_password` (*required*): Keystone admin password.
- `nova_url` (*required*): Nova URL
- `nova_db_url` (*required*): Nova database URL, in SQLAlchemy format.
- `amqp_backend` (default: `rabbit`): AMQP backend.
- `amqp_hosts` (default: ''): AMQP HA cluster host:port pairs, string.
- `amqp_host` (*required*): AMQP host.
- `amqp_port` (default: `5672`): AMQP port.
- `amqp_user` (default: `openstack`): AMQP user.
- `amqp_password` (*required*): AMQP password.
- `amqp_virtual_host` (default: `/`): AMQP virtual host.
- `metadata_secret` (*required*): a random secret.
- `enable_external_repository` (default: `true`): whether or not to setup external package repositories.## Limitations
**Operating System**
- CentOS 7
- Ubuntu 14.04**OpenStack version**
- Liberty## Development
Feel free to submit pull requests on the [project github page](https://github.com/indigo-dc/synergy-service).