* Zuul deprecated (and now removed) declaring shared queues at a pipeline
level [1]. This patch fixes the syntax to make the gate work for
adjutant.
* Updates Django version to allow upper-constraints version
* Fix Django 3.2 warnings
* Fix flake8 errors
* Remove support for Python 3.6, Python 3.7
[1] https://lists.openstack.org/pipermail/openstack-discuss/2022-May/028603.html
Change-Id: Ic369b59bb062df867d78b006f06e48cf9c98a3ee
This repo is now Python 3 only, make a few updates:
* Move basepython to testenv
* Require newer tox version and ignore base conflicts
* update openstackdocstheme and sphinx versions
* Use newer TOX_x for constraints
Change-Id: I1407b408bee9e848243a60d40fd7df90bf1705d1
The docs and related tox targets were installing requirements
unconstrained. This adds enforcement of upper constraints.
Change-Id: Ia5bd8369d0b3facf51783236b5d1d3e9c7599c53
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
CONFspirator was written to just specifically for Adjutant
and it allows us to do oslo.config style config management
and definition with nested groups and for yaml.
This is a major change that touches vast amounts of the
code simply because of how much the config touches.
Actions, Tasks, DelegateAPIs, and Notification Handlers
now can define config in their own class and this will
be added to the config.
All the other config is located in `adjutant.config`,
with everything now registed nicely on the config tree,
and grouped in much saner ways.
CONFspirator will also now allow Adjutant to be entirely
configured via environment variables.
We have removed `modify_dict_settings` because that is
now entirely handled by CONFspirator's test utils.
`NotificationEngine`s are now `NotificationHandler`s.
`test_settings.py` is gone! And we now have better ways
to define test settings and defaults.
Project line length bumped to 88, and bugbear added to enforce
that instead.
Story: 2004488
Change-Id: I1d97d72d06b3a3a5df90355d3a4b4fe414381424
This patch splits out the Task layer and the API
layer. This will better allow us to build more logic
into the task layer, and better allow the APIs to be
more flexible.
This sets the foundations for future additions to task
definitions, async task processing, and an overhaul of
the config system for the service.
- Task model and logic moved to 'tasks' app
- TaskViews are now DelegateAPIs
- stage email templates have been moved to the tasks app
- better define Task model indexes
- rename task/action stage pre_approve to prepare
- rename task/action stage post_approve to approve
- Added new TaskManager class for handling tasks
- Removed redundant ip_address value on Task model
- Remove redundant UserSetPassword view
- Added custom exception handling for the API
- Add new exception types
- Simplified error responses by raising exceptions
- standardized task API response codes on 202 unless
task is completed
- Use 503 Service Unavailable for service issues
- Various task_types changed:
- create_project to create_project_and_user
- invite_user to invite_user_to_project
- reset_password to reset_user_password
- edit_user to edit_user_roles
- update_email to update_user_email
- reissuing task token now deletes old task tokens
Story: 2004489
Change-Id: I33381c1c65b28b69f6ffeb3d73b50be95ee30ba7
Follow PTI [1] for doc building:
* Create doc/requirements.txt file with all docs requirements.
* Switch to openstackdocstheme and update conf.py for this.
* Move doc8 to pep8 section since it's a linter.
Additionally:
* Fix all build errors with doc building.
* Update requirements list with license info.
* Use hacking instead of flake directly.
* Remove unused _static files, those are not needed.
* Update git URLs, fix contributor guide URL
* Move README.md to RST, everything else in this repo is RST
* Publish documents to docs.o.o - note that
https://adjutant.readthedocs.io/en/latest/ was last updated in March
2018
This adds jobs for building of release notes - only building since
there's no content yet - and publishing of documentation.
Publishing of api-ref can be done via:
https://review.opendev.org/675766
[1] https://governance.openstack.org/tc/reference/project-testing-interface.html#documentation
Change-Id: I82f56ef5ea800899b2a8db795b6cf2b21d03ac7a
Sync up requirement files with global-requirements,
and set tox default envs to be 'py3' over 'py35'
Change-Id: Ic78246a4a75b88027b4896664874d1efc587582c
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Change-Id: I6e873ea38b4483ea477afcb8925fb8e60d65b60f
* API Reference and documentation as two seperate sphinx
document sets
* Information from the Devstack guide and README moved over
to the new documentation
* Configuration examples
* Examples of building plugins
* Both use the new sphinx-rtd-theme
Change-Id: If347905aa14b77b5943f1a9de97f6e287b98ce95
Different versions of tox default to different base versions of
python for coverage tests.
This ensures it uses python2.7.
Change-Id: I6137c43b6383909498efae45a197ef05fc00a026
* This patch is just a search and replace with minor tweaks.
* No functional changes, just renaming.
Change-Id: I103790be7c0cd9234545e25e21ab1768cb5eb131
* also fixing test posargs to allow single test running
* fixing up random pep8 failures
* removing empty or unused test modules
Change-Id: I59bb2fedeeac2b8eeb45740d16768fec59fb3e4b
* Removes duplication of code in validate
* Breaks large validation functions into atomic, reusable pieces in
super classes.
* Started applying the rule where validation does not leave any side
effects on class members other than the valid boolean.
* Validate functions are not called after the first fail, this
gives less feedback to user, but is probably reasonable general
assumption as some validation relies on others passing.
* Adding some tests for NewUser validation.
* Refactored how the FakeManager handled resource objects or
ids being passed to it.
* Fixed some issues with logs being spat out during tests.
Change-Id: Iea0afce06e92d8f1a1bda0cc03a32c00909828d1