A simple workflow framework to help automate admin and user tasks in and around OpenStack via a pluggable API exposing tasks made up of easily chainable actions.
Go to file
Callum Dickinson da1cb3c551 Allow disabling quota management
Adjutant enables management of quotas for all supported services
by default. In some cases this may not be desired
(e.g. some regions don't have a full suite of services available).

This change makes it possible to disable quota management in Adjutant,
either per-region or completely.

To disable quota management for one region, while keeping it
enabled in all others:

quota:
  services:
    RegionOne: []
    '*':
      - cinder
      - neutron
      - nova
      - octavia
      - trove

To disable quota management using Adjutant completely,
set the following:

quota:
  services: {}

If new quota update requests are made including a region for which
quota management is disabled, one of the following actions
will be taken:

* If the request also specifies other regions for which
  quota management is enabled, the request is accepted but with
  the disabled regions removed from the request.
* If the request **only** specifies regions for which
  quota management is disabled, `400 Bad Request` will be returned
  with an appropriate error response.

If quota management for a region is disabled while there are existing
pending quota update tasks:

* If the task also updates the quota for other regions,
  the task can be approved as normal. The task will simply ignore the
  disabled region, adding a note to the task log notifying the admin
  that it has done so.
* If the task **only** updates quotas for disabled regions, the task
  will no longer be valid, and will return an error when an admin
  tries to approve them. Such tasks should be cancelled instead.

Change-Id: I1cfe6d1e3c12595966769334bea4c14450124f13
2024-07-24 10:53:26 +12:00
adjutant Allow disabling quota management 2024-07-24 10:53:26 +12:00
api-ref Fix pluralisation of quotas in api-ref 2021-02-18 20:56:44 +13:00
doc Update documentation to reflect newer OpenStack and confspirator 2023-01-04 07:24:00 +00:00
etc Update CONFspirator with example and toml support 2020-08-07 20:28:24 +12:00
releasenotes Allow disabling quota management 2024-07-24 10:53:26 +12:00
.coveragerc Additional Tests for Notification, Token and Email 2017-09-01 15:26:29 +12:00
.git-blame-ignore-revs Rename git-blame-ignore-revs 2021-02-18 16:04:02 +01:00
.gitignore Added support for reno release notes 2019-07-02 15:04:04 +12:00
.gitreview OpenDev Migration Patch 2019-04-19 19:27:57 +00:00
.zuul.yaml Upgrade to Django4 2024-07-11 11:38:40 +12:00
bindep.txt Upgrade to Django4 2024-07-11 11:38:40 +12:00
LICENSE adding license file 2017-05-12 16:02:04 +12:00
package_readme.rst Update docs building 2019-08-11 12:06:13 +02:00
README.rst Fix gates for Antelope and update Django 2022-12-07 19:52:27 +13:00
requirements.txt Upgrade to Django4 2024-07-11 11:38:40 +12:00
setup.cfg Upgrade to Django4 2024-07-11 11:38:40 +12:00
setup.py Reformat with updated version of black formatter 2020-09-17 12:56:00 +12:00
test-requirements.txt Use unittest.mock instead of third party mock 2020-03-24 07:47:24 -05:00
tox.ini Support tox4, update style to match Black 23.1a1 2023-01-04 17:06:31 +13:00

Team and repository tags

image

Adjutant

A basic workflow framework built using Django and Django-Rest-Framework to help automate basic Admin tasks within an OpenStack cluster.

Primarily built as user registration service that fits into the OpenStack ecosystem alongside Keystone, its purpose to fill functionality missing from Keystone. Ultimately it is just a framework with actions that are tied to an endpoint and can require certain data fields and perform actions via the OpenStack clients as well as talk to external systems as needed.

Useful for automating generic admin tasks that users might request but otherwise can't do without the admin role. Also allows automating the signup and creation of new users, and allows such requests to require approval first if wanted. Due to issuing of uri+tokens for final steps of some actions, allows for a password submit/reset system as well.

Documentation

Documentation can be found at: https://docs.openstack.org/adjutant/latest

Documentation is stored in doc/, a sphinx build of the documentation can be generated with the command tox -e docs.

An API Reference is stored in api-ref. This is also a sphinx build and can be generated with tox -e api-ref.