Integration of Congress with OpenStack Ansible

date:2017-08-30 00:02
tags:openstack, congress
Blueprint on Launchpad:

Congress is the policy framework for OpenStack. This spec introduces the work required to deploy Congress, as a service for OpenStack Ansible.

Problem description

There are many policy frameworks for OpenStack. However, very few of them come with OpenStack Ansible. They need to be manually configured and installed. The aim of this spec is to deploy Congress with OpenStack Ansible, provided as a service to OpenStack Ansible and OpenStack users in general.

Proposed change

The change consists of integrating Congress with OpenStack Ansible during deployment phase of OpenStack.

Alternatives

Many policy frameworks for OpenStack exist. Tacker is one of them and has already been integrated with OpenStack Ansible. However, Tacker is more of a VNF Manager, mostly used for NFV related activites such as Service Function Chaining etc.

Playbook/Role impact

This is a new feature being introduced.An existing role does not already exist. A new role will be developed, e.g openstack-ansible-os_congress. This new role will be developed as per the steps outlined by the community.

Upgrade impact

No upgrade impact since this would be the first time implementation of the proposed change.

Security impact

No security impact.

Performance impact

Performance impact should be very low, it only needs a few preliminary packages.

End user impact

Congress uses a simple declarative language to define real world policies. Currently it needs to be manually configured and deployed. This feature would enable the users to use Congress as a service, and be able to manage OpenStack more efficiently.

Deployer impact

No default policies will be enforced. If the deployer chooses to enable Congress service, policies need to be defined as per the requirements.

Developer impact

Little or no impact, since this feature will be optional and can be safely ignored.

Dependencies

No dependencies.

Implementation

Assignee(s)

Primary assignee:
Taseer Ahmed (Taseer)
Other contributors:
Fatih Degirmenci (fdegir)

Work items

Congress is not available as a service for OpenStack Ansible. No role already exists. A new role will be developed from scratch in compliance with the standards set by the community. The steps for developing this new role are as follows:

  1. Create a new repository on GitHub.
  2. Add tasks to the role.
  3. Add tests for the new role.
  4. Ensure that the role works well with AIO.

Testing

Tests will be developed to ensure that deployment of Congress works and also test the functionality of the deployed service.

Documentation impact

As this would be new feature added to OpenStack Ansible, it needs to be documented, explaining all the configuration parameters.