Versions selected to be pre-19 pip
due to unresolved issues with the build systems
Upgrade everything, party on
document new process
rotate license files
fix Swagger schema generation target
Remove --ignore-installed flag
A running job that has an inventory source will block
that inventory update from running. This fix removes
the block.
The test creates a job in running state, and an inventory
update in pending state. The test asserts that the
task manager and dependency graph .is_job_blocked method
returns False for the inventory update (i.e. update can
run).
issue #4809
A running job that has a project update will block
that update from running. This fix removes
the block.
Adds a functional test that sets up a job in "running" state, and
starts a project update that is in "pending" state. Assert that
the task manager and dependency graph .is_job_blocked methods both
return False.
issue #5153
Users can specify a list of keys, or a list of key:value pairs under
source variables. e.g. tags: Creator, peanutbutter or tags:
Creator:jmarshall, peanutbutter:jelly. If provided, only hosts that have
all keys or key:value pairs in the list will be returned.
inventory.py sets up the azure_rm.yml that provides
exclude_host_filters. This code adds a line for each key in the list, as
well as an additional line in the case of a key:value pair.
e.g.
exclude_host_filters:
- "'Creator' not in tags.keys()"
- tags['Creator'] != 'jmarshall'
Each line is a conditional, and if any conditionals is true, then the
host is filtered out.
fix for issue # 5044
Add a custom regex to URLField that allows numbers to be present in the
top level domain, e.g. https://towerhost.org42
Set by variable allow_numbers_in_top_level_domain in URLField __init__,
and is set to True by default. If set to False, it will use the regex
specified in the built-in django URLValidator class.
This solution was originally implemented in LDAPServerURIField, but is
now implemented in URLField to support this behavior more generally. The
changes in LDAPServerURIField are longer needed and have been removed in
this commit.
Adds unit testing to make sure URLField changes handle regex input
and settings correctly.
- 500 error occurs when a non-admin user attempts to add an invalid
credential during schedule creation
- This change checks that the user can add the object to
serializer.validated_data, instead of serializer.initial_data
- The invalid credential field is purged in .validated_data, so the
request passes through cleanly
- Fix for awx issue #4147
- When a credential that contains secret lookups (e.g. HashiCorp Vault
Secret Lookup) is copied, the lookup fields are not properly copied
- This change adds the necessary fields to FIELDS_TO_PRESERVE_AT_COPY
for both Credential and CredentialInputSource classes to ensure a
proper copy
Oauth2 settings were initialized early in the awx import stage, and
those settings were not modifiable. This change allows oauth2 to check
for settings in django.conf settings, which are dynamically updated
through api calls at runtime. As a result, oauth2 settings will match
the values in django.conf settings at any point in time.
Grab AUTHORIZATION_CODE_EXPIRE_SECONDS from oauth2_settings
rather than hard code.
Add REFRESH_TOKEN_EXPIRE_SECONDS to valid_key_names
in OAuth2ProviderField class
- Set OAUTH2 REFRESH_TOKEN_EXPIRE_SECONDS to 1 month
(2628000 seconds)
- If not set, awx-manage cleartokens, or cleanup_tokens,
will not work properly
- Once cleartokens is run, this setting is the amount of
time after an access token expires that we keep its
refresh token in the database
- Check that model User object exists with id=user_id
before attempting to save to database
- UserSessionMembership saves to the database using
foreign key, User
- However, User with matching id might not exist if
browser sends request with stale cookies
- Change made in regards to issue #4334
- Bug: API error if LDAPServerURIField contains a number in the top level domain
- Add custom regex in LDAPServerURIField class that is passed to django
URLValidator
- The custom regex allows for numbers to be present in the top level domain
- Unit tests check that valid URIs pass through URLValidator, and that
invalid URIs raise the correct exception
- Related to issue #3646