16 Commits

Author SHA1 Message Date
Travis Truman
6b853d205b DOCS - Cleanup/comment defaults/main.yml
This file is included in the documentation so its
comments should serve as useful documentation for the reader.

Change-Id: I7403655ee8f39d576e8a3374ae593632ef5493e1
2016-08-25 10:38:03 -04:00
Jesse Pretorius
294528b918 Add project group to role
This patch adds a var used by the repo_build process to determine
which host group to check for members of before building the pip
packages required by this role. This provides the ability to
optimise the repo build process to only building the packages
that are required for an environment.

Depends-On: Idda16b4f382eee57c7469af898859d6d81d4eb30
Change-Id: Iedb4c0c91daa291f881a9fc00c5b8c40bb312ce3
2016-08-04 05:11:19 +01:00
Jesse Pretorius
1bd9abbac0 Add ability to change apt/yum package state
The current method of installing the distribution packages required is
set in the tasks and cannot be changed by a deployer.

Currently the apt task always installs the latest package. This results
in unexpected binary changes when a deployer may simply be trying to
execute a configuration change.

This patch adds the ability for a deployer to change the desired state
so that the results are predictable.

Change-Id: I96f436aa64e65089af345d17af70291e30cc8cc6
2016-08-02 13:40:54 +01:00
Travis Truman
311af8a571 Support service-specific rabbitmq clusters
All rabbitmq connection vars are now namespaced. Namespace support
was previously inconsistent which limited deployer override options.

Change-Id: I2593239e98aa3ebd578d030206299d4868d036ca
Implements: blueprint multi-rabbitmq-clusters
2016-07-18 10:36:54 -04:00
Travis Truman
0d123e90ce Only install to virtual environment
Remove all tasks and variables related to toggling between installation
of designate inside or outside of a Python virtual environment.
Installing within a venv is now the only supported deployment.

Additionally, a few changes have been made to make the creation of the
venv more resistant to interruptions during a run of the role.
* unarchiving a pre-built venv will now also occur when the venv
  directory is created, not only after being downloaded
* virtualenv-tools is run against both pre-built and non pre-built venvs
  to account for interruptions during or prior to unarchiving

Change-Id: If3f0cb96d0ac670f6c53243283d6726067cba011
Implements: blueprint only-install-venvs
2016-07-08 12:58:36 -04:00
Jimmy McCrory
a7dbf1c21c Add missing zone-manager service
Update documentation, default variables, tasks, and environment
inventory to include installation of the designate-zone-manager service.

Change-Id: I1a72cad13e88d962a1e38793a1a3b5b35c0ba8b7
2016-06-14 15:27:50 -07:00
Travis Truman
685e907302 Verbose option has been deprecated from oslo.log
See http://lists.openstack.org/pipermail/openstack-dev/2016-May/095166.html
for additional details.

Change-Id: I526136e65cb94a110e97db232ec181f46850aa3a
2016-05-17 11:13:02 -04:00
Hector I Gonzalez
a4f5657f27 Updated role using the Multi-Distro framework
* The default apt packages have been moved into a var file
  that is only loaded when the detected OS is matched.
* The Install task file has had the apt specific tasks moved
  into a named install task file.

Change-Id: I0b31d5d76d3aaedf3b87550165d0e670b314bebd
2016-04-18 16:56:43 -05:00
Jesse Pretorius
f59db83194 Various configuration changes and task updates
This patch implements a bunch of changes for easier debugging and to
make the deployment more functional.

 - All passwords are removed from defaults. The role must fail to
   complete all tasks if no password is provided.
 - The Designate Pool Configuration uuid's are provided with
   defaults and the vars are added to the user_secrets.yml file
   for easy implementation in OpenStack-Ansible.
 - The designate.conf template has been re-organised to closely
   match the sample file provided in the master branch of the
   OpenStack Designate repository. This makes it easier to compare
   for changes.
 - The PyMySQL driver is used for all MySQL connectivity, as is now
   the general standard for OpenStack Services.
 - The designate_pool_manager database is now setup.
 - The test playbook has the RabbitMQ & DB setup pre_tasks removed
   for now. These can move out again once functional testing is
   working.
 - The test playbook's LXC dhcp range is reduced to 50 hosts in
   order to ensure no conflicts with the test containers and also
   provide room for growth.
 - Add human readable logging callback plugin to functional test.
 - Restructure testing to make it easier to work with.
2016-03-14 12:34:48 +00:00
Jesse Pretorius
6856ee841d Implement rootwrap
This patch adds the rootwrap templates, filters, etc in order to
ensure that the designate service is capable of executing commands
against bind9 when it needs to.
2016-03-14 12:34:48 +00:00
Jesse Pretorius
efb3648384 Clean up CR's, whitespace and service description
This patch removes unnecessary whitespace and converts Windows
CR's to Unix LF's.

It also makes a small change to the default description for
Designate in the Keystone service catalogue to ensure that it
is more consistent with other services in OpenStack-Ansible.
2016-03-14 12:34:47 +00:00
Jesse Pretorius
6c1be36c8f Only install one DNS service
This patch reduces the number of DNS services installed to only bind9
as more than one DNS service cannot run on the same server at the same
time.
2016-03-14 12:34:47 +00:00
Jesse Pretorius
f4842f73fd Only update apt cache if necessary
This patch implements workaround due to [1] which is fixed in [2] but
has not yet merged.

TODO: Once we switch to Ansible 2.x we'll need to revisit whether this
is still a problem.

[1] https://github.com/ansible/ansible-modules-core/issues/1497
[2] https://github.com/ansible/ansible-modules-core/pull/1517
2016-03-14 12:34:47 +00:00
Jesse Pretorius
f38cf1aadd Resolve oslo & keystone deprecations/misconfigurations
This patch implements:

 - A fix to the keystone_authtoken section to ensure that the
   correct URL is used to interact with the Keystone admin service.
 - The updated messaging configuration due to the oslo_config
   deprecation of 'notification_topics'.
 - The updated keystone_authtoken configuration due to the
   deprecation of 'auth_plugin'.
 - A conditional to include the Ceilometer notification driver
   only if the boolean 'designate_ceilometer_enabled' evaluates
   to True.
2016-03-14 12:34:46 +00:00
Jesse Pretorius
5a53c622b7 Enable 'developer mode' installation
This commit adds the ability to install glance without requiring an
OpenStack-Ansible pip wheel repository.

In 'developer mode' the git source is cloned directly and the services
are installed directly from the git clone with its requirements being
installed from pypi. The OpenStack upper-constraints file is also used
to ensure that the install is executed using the appropriately tested
set of pypi packages.

The following variables are added:

 - designate_developer_mode: A boolean switch to enable/disable developer
   mode.
 - designate_git_repo: The git repository to clone Designate from.
 - designate_git_install_branch: The branch, tag or SHA to checkout once
   the designate repository has been cloned.
 - designate_requirements_git_repo: The git repository to clone in order
   to retrieve the upper-constraints file.
 - designate_requirements_git_install_branch: The branch, tag or SHA to
   checkout once the requirements repository has been cloned.

The testing playbook overrides the *_install_branch variables to fixed
SHA's in order to fix points in time at which updates are made. This
reduces the effect of upstream development changes on the
OpenStack-Ansible development cycle.
2016-03-14 12:34:46 +00:00
sharmaswati6
8d6686ef54 Initial commit 2016-03-14 12:34:10 +00:00