Reformat with updated version of black formatter
Change-Id: I74aea5668c3027cff4d2f3ecb6de456e60bb6129
This commit is contained in:
parent
9dd1f3a302
commit
b35fdcc6ab
@ -71,7 +71,11 @@ def send_email(to_addresses, context, conf, task):
|
||||
}
|
||||
|
||||
email = EmailMultiAlternatives(
|
||||
conf["subject"], message, from_email, to_addresses, headers=headers,
|
||||
conf["subject"],
|
||||
message,
|
||||
from_email,
|
||||
to_addresses,
|
||||
headers=headers,
|
||||
)
|
||||
|
||||
if html_template:
|
||||
|
@ -493,12 +493,19 @@ class AddDefaultUsersToProjectAction(BaseAction, ProjectMixin, UserMixin):
|
||||
return all_found
|
||||
|
||||
def _pre_validate(self):
|
||||
self.action.valid = validate_steps([self._validate_users,])
|
||||
self.action.valid = validate_steps(
|
||||
[
|
||||
self._validate_users,
|
||||
]
|
||||
)
|
||||
self.action.save()
|
||||
|
||||
def _validate(self):
|
||||
self.action.valid = validate_steps(
|
||||
[self._validate_users, self._validate_project_id,]
|
||||
[
|
||||
self._validate_users,
|
||||
self._validate_project_id,
|
||||
]
|
||||
)
|
||||
self.action.save()
|
||||
|
||||
|
@ -64,13 +64,16 @@ class NewDefaultNetworkAction(BaseAction, ProjectMixin):
|
||||
default="default_router",
|
||||
),
|
||||
fields.StrConfig(
|
||||
"public_network", help_text="ID of the public network.",
|
||||
"public_network",
|
||||
help_text="ID of the public network.",
|
||||
),
|
||||
fields.StrConfig(
|
||||
"subnet_cidr", help_text="CIDR for the default subnet.",
|
||||
"subnet_cidr",
|
||||
help_text="CIDR for the default subnet.",
|
||||
),
|
||||
fields.ListConfig(
|
||||
"dns_nameservers", help_text="DNS nameservers for the subnet.",
|
||||
"dns_nameservers",
|
||||
help_text="DNS nameservers for the subnet.",
|
||||
),
|
||||
],
|
||||
),
|
||||
@ -235,12 +238,19 @@ class NewProjectDefaultNetworkAction(NewDefaultNetworkAction):
|
||||
|
||||
def _pre_validate(self):
|
||||
# Note: Don't check project here as it doesn't exist yet.
|
||||
self.action.valid = validate_steps([self._validate_region,])
|
||||
self.action.valid = validate_steps(
|
||||
[
|
||||
self._validate_region,
|
||||
]
|
||||
)
|
||||
self.action.save()
|
||||
|
||||
def _validate(self):
|
||||
self.action.valid = validate_steps(
|
||||
[self._validate_region, self._validate_project_id,]
|
||||
[
|
||||
self._validate_region,
|
||||
self._validate_project_id,
|
||||
]
|
||||
)
|
||||
self.action.save()
|
||||
|
||||
@ -457,7 +467,11 @@ class SetProjectQuotaAction(UpdateProjectQuotasAction):
|
||||
|
||||
def _validate(self):
|
||||
# Make sure the project id is valid and can be used
|
||||
self.action.valid = validate_steps([self._validate_project_id,])
|
||||
self.action.valid = validate_steps(
|
||||
[
|
||||
self._validate_project_id,
|
||||
]
|
||||
)
|
||||
self.action.save()
|
||||
|
||||
def _prepare(self):
|
||||
|
@ -89,7 +89,10 @@ class MiscActionTests(AdjutantTestCase):
|
||||
it to become invalid or break.
|
||||
"""
|
||||
|
||||
task = Task.objects.create(keystone_user={}, task_type="edit_roles",)
|
||||
task = Task.objects.create(
|
||||
keystone_user={},
|
||||
task_type="edit_roles",
|
||||
)
|
||||
|
||||
action = SendAdditionalEmailAction({}, task=task, order=1)
|
||||
|
||||
|
@ -620,7 +620,9 @@ class QuotaActionTests(AdjutantTestCase):
|
||||
@conf_utils.modify_conf(
|
||||
CONF,
|
||||
operations={
|
||||
"adjutant.quota.sizes_ascending": [{"operation": "override", "value": []},],
|
||||
"adjutant.quota.sizes_ascending": [
|
||||
{"operation": "override", "value": []},
|
||||
],
|
||||
},
|
||||
)
|
||||
def test_update_quota_not_in_sizes_asc(self):
|
||||
|
@ -49,7 +49,11 @@ from adjutant.config import CONF
|
||||
"heat_stack_owner",
|
||||
"project_admin",
|
||||
],
|
||||
"project_mod": ["member", "heat_stack_owner", "project_mod",],
|
||||
"project_mod": [
|
||||
"member",
|
||||
"heat_stack_owner",
|
||||
"project_mod",
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
@ -859,7 +863,12 @@ class UserActionTests(AdjutantTestCase):
|
||||
"adjutant.identity.role_mapping": [
|
||||
{
|
||||
"operation": "update",
|
||||
"value": {"project_mod": ["member", "project_mod",],},
|
||||
"value": {
|
||||
"project_mod": [
|
||||
"member",
|
||||
"project_mod",
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -435,7 +435,10 @@ class UpdateUserEmailAction(UserIdAction, UserMixin):
|
||||
|
||||
def _validate(self):
|
||||
self.action.valid = validate_steps(
|
||||
[self._validate_user, self._validate_email_not_in_use,]
|
||||
[
|
||||
self._validate_user,
|
||||
self._validate_email_not_in_use,
|
||||
]
|
||||
)
|
||||
self.action.save()
|
||||
|
||||
|
@ -27,8 +27,7 @@ LOG = getLogger("adjutant")
|
||||
|
||||
|
||||
def exception_handler(exc, context):
|
||||
"""Returns the response that should be used for any given exception.
|
||||
"""
|
||||
"""Returns the response that should be used for any given exception."""
|
||||
now = timezone.now()
|
||||
if isinstance(exc, Http404):
|
||||
exc = exceptions.NotFound()
|
||||
|
@ -15,7 +15,10 @@ class Migration(migrations.Migration):
|
||||
operations = [
|
||||
migrations.SeparateDatabaseAndState(
|
||||
database_operations=[
|
||||
migrations.AlterModelTable(name="task", table="tasks_task",),
|
||||
migrations.AlterModelTable(
|
||||
name="task",
|
||||
table="tasks_task",
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
|
@ -16,6 +16,10 @@ class Migration(migrations.Migration):
|
||||
|
||||
operations = [
|
||||
migrations.SeparateDatabaseAndState(
|
||||
state_operations=[migrations.DeleteModel(name="Task",),],
|
||||
state_operations=[
|
||||
migrations.DeleteModel(
|
||||
name="Task",
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
|
@ -314,7 +314,7 @@ class UserRoles(BaseDelegateAPI):
|
||||
|
||||
@utils.mod_or_admin
|
||||
def delete(self, args, **kwargs):
|
||||
""" Revoke user roles to the current project.
|
||||
"""Revoke user roles to the current project.
|
||||
|
||||
This only supports Active users
|
||||
"""
|
||||
|
@ -1326,8 +1326,7 @@ class AdminAPITests(APITestCase):
|
||||
self.assertEqual(task, response.json()["tasks"][i])
|
||||
|
||||
def test_task_list_filter(self):
|
||||
"""
|
||||
"""
|
||||
""""""
|
||||
project = fake_clients.FakeProject(name="test_project")
|
||||
|
||||
setup_identity_cache(projects=[project])
|
||||
|
@ -793,7 +793,11 @@ class QuotaAPITests(AdjutantAPITestCase):
|
||||
"security_groups": 0,
|
||||
"security_group_rules": 0,
|
||||
},
|
||||
"cinder": {"gigabytes": 0, "snapshots": 0, "volumes": 0,},
|
||||
"cinder": {
|
||||
"gigabytes": 0,
|
||||
"snapshots": 0,
|
||||
"volumes": 0,
|
||||
},
|
||||
"neutron": {
|
||||
"floatingip": 0,
|
||||
"network": 0,
|
||||
|
@ -337,7 +337,14 @@ class TokenList(APIViewWithLogger):
|
||||
uuid = request.data.get("task", None)
|
||||
if uuid is None:
|
||||
return Response(
|
||||
{"errors": {"task": ["This field is required.",]}}, status=400
|
||||
{
|
||||
"errors": {
|
||||
"task": [
|
||||
"This field is required.",
|
||||
]
|
||||
}
|
||||
},
|
||||
status=400,
|
||||
)
|
||||
try:
|
||||
# TODO(adriant): better handle this bit of incode policy
|
||||
|
@ -159,7 +159,9 @@ def setup_identity_cache(
|
||||
"new_role_assignments": [],
|
||||
"roles": {r.id: r for r in roles},
|
||||
"regions": {"RegionOne": region_one, "RegionTwo": region_two},
|
||||
"domains": {default_domain.id: default_domain,},
|
||||
"domains": {
|
||||
default_domain.id: default_domain,
|
||||
},
|
||||
"credentials": credentials,
|
||||
}
|
||||
|
||||
@ -345,7 +347,9 @@ class FakeManager(object):
|
||||
if inherited:
|
||||
scope["OS-INHERIT:inherited_to"] = "projects"
|
||||
role_assignment = FakeRoleAssignment(
|
||||
scope=scope, role={"name": role.name}, user={"id": user.id},
|
||||
scope=scope,
|
||||
role={"name": role.name},
|
||||
user={"id": user.id},
|
||||
)
|
||||
return role_assignment
|
||||
|
||||
@ -773,8 +777,8 @@ class FakeCinderClient(FakeOpenstackClient):
|
||||
|
||||
|
||||
class FakeResource(object):
|
||||
""" Stub class to represent an individual instance of a volume or
|
||||
snapshot """
|
||||
"""Stub class to represent an individual instance of a volume or
|
||||
snapshot"""
|
||||
|
||||
def __init__(self, size):
|
||||
self.size = size
|
||||
|
@ -50,14 +50,23 @@ config_group.register_child_config(
|
||||
check_value_type=True,
|
||||
is_json=True,
|
||||
default={
|
||||
"admin": ["project_admin", "project_mod", "heat_stack_owner", "member",],
|
||||
"admin": [
|
||||
"project_admin",
|
||||
"project_mod",
|
||||
"heat_stack_owner",
|
||||
"member",
|
||||
],
|
||||
"project_admin": [
|
||||
"project_admin",
|
||||
"project_mod",
|
||||
"heat_stack_owner",
|
||||
"member",
|
||||
],
|
||||
"project_mod": ["project_mod", "heat_stack_owner", "member",],
|
||||
"project_mod": [
|
||||
"project_mod",
|
||||
"heat_stack_owner",
|
||||
"member",
|
||||
],
|
||||
},
|
||||
test_default={
|
||||
"admin": ["project_admin", "project_mod", "member", "heat_stack_owner"],
|
||||
|
@ -32,7 +32,11 @@ DEFAULT_QUOTA_SIZES = {
|
||||
"security_groups": 20,
|
||||
"security_group_rules": 100,
|
||||
},
|
||||
"cinder": {"gigabytes": 5000, "snapshots": 50, "volumes": 20,},
|
||||
"cinder": {
|
||||
"gigabytes": 5000,
|
||||
"snapshots": 50,
|
||||
"volumes": 20,
|
||||
},
|
||||
"neutron": {
|
||||
"floatingip": 10,
|
||||
"network": 3,
|
||||
|
@ -126,7 +126,9 @@ _notifications_defaults_group.register_child_config(
|
||||
"standard_handlers",
|
||||
help_text="Handlers to use for standard notifications.",
|
||||
required=True,
|
||||
default=["EmailNotification",],
|
||||
default=[
|
||||
"EmailNotification",
|
||||
],
|
||||
)
|
||||
)
|
||||
_notifications_defaults_group.register_child_config(
|
||||
@ -134,7 +136,9 @@ _notifications_defaults_group.register_child_config(
|
||||
"error_handlers",
|
||||
help_text="Handlers to use for error notifications.",
|
||||
required=True,
|
||||
default=["EmailNotification",],
|
||||
default=[
|
||||
"EmailNotification",
|
||||
],
|
||||
)
|
||||
)
|
||||
_notifications_defaults_group.register_child_config(
|
||||
|
@ -61,7 +61,8 @@ class EmailNotification(base.BaseNotificationHandler):
|
||||
default="notification.txt",
|
||||
),
|
||||
fields.StrConfig(
|
||||
"html_template", help_text="Email html template for this notification.",
|
||||
"html_template",
|
||||
help_text="Email html template for this notification.",
|
||||
),
|
||||
]
|
||||
)
|
||||
|
@ -94,8 +94,12 @@ AUTHENTICATION_BACKENDS = []
|
||||
|
||||
REST_FRAMEWORK = {
|
||||
"EXCEPTION_HANDLER": "adjutant.api.exception_handler.exception_handler",
|
||||
"DEFAULT_RENDERER_CLASSES": ["rest_framework.renderers.JSONRenderer",],
|
||||
"DEFAULT_PARSER_CLASSES": ["rest_framework.parsers.JSONParser",],
|
||||
"DEFAULT_RENDERER_CLASSES": [
|
||||
"rest_framework.renderers.JSONRenderer",
|
||||
],
|
||||
"DEFAULT_PARSER_CLASSES": [
|
||||
"rest_framework.parsers.JSONParser",
|
||||
],
|
||||
"DEFAULT_PERMISSION_CLASSES": [],
|
||||
}
|
||||
|
||||
@ -131,8 +135,16 @@ else:
|
||||
},
|
||||
},
|
||||
"loggers": {
|
||||
"adjutant": {"handlers": ["file"], "level": "INFO", "propagate": False,},
|
||||
"django": {"handlers": ["file"], "level": "INFO", "propagate": False,},
|
||||
"adjutant": {
|
||||
"handlers": ["file"],
|
||||
"level": "INFO",
|
||||
"propagate": False,
|
||||
},
|
||||
"django": {
|
||||
"handlers": ["file"],
|
||||
"level": "INFO",
|
||||
"propagate": False,
|
||||
},
|
||||
"keystonemiddleware": {
|
||||
"handlers": ["file"],
|
||||
"level": "INFO",
|
||||
|
@ -54,7 +54,9 @@ class Migration(migrations.Migration):
|
||||
("approved_on", models.DateTimeField(null=True)),
|
||||
("completed_on", models.DateTimeField(null=True)),
|
||||
],
|
||||
options={"indexes": [],},
|
||||
options={
|
||||
"indexes": [],
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
|
@ -12,7 +12,10 @@ class Migration(migrations.Migration):
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(model_name="task", name="ip_address",),
|
||||
migrations.RemoveField(
|
||||
model_name="task",
|
||||
name="ip_address",
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name="task",
|
||||
name="task_notes",
|
||||
@ -34,7 +37,9 @@ class Migration(migrations.Migration):
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="task", name="hash_key", field=models.CharField(max_length=64),
|
||||
model_name="task",
|
||||
name="hash_key",
|
||||
field=models.CharField(max_length=64),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="task",
|
||||
@ -42,7 +47,9 @@ class Migration(migrations.Migration):
|
||||
field=models.CharField(max_length=64, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="task", name="task_type", field=models.CharField(max_length=100),
|
||||
model_name="task",
|
||||
name="task_type",
|
||||
field=models.CharField(max_length=100),
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="task",
|
||||
|
@ -75,7 +75,9 @@ def make_task_config(task_class):
|
||||
default=task_class.email_config or {},
|
||||
sample_default={
|
||||
"initial": None,
|
||||
"token": {"subject": "Some custom subject",},
|
||||
"token": {
|
||||
"subject": "Some custom subject",
|
||||
},
|
||||
},
|
||||
)
|
||||
)
|
||||
@ -424,8 +426,7 @@ class BaseTask(object):
|
||||
create_notification(self.task, notes)
|
||||
|
||||
def approve(self, approved_by="system"):
|
||||
"""Run the approve stage for all the actions.
|
||||
"""
|
||||
"""Run the approve stage for all the actions."""
|
||||
|
||||
self.confirm_state(completed=False, cancelled=False)
|
||||
|
||||
|
@ -122,7 +122,11 @@ def send_stage_email(task, email_conf, token=None):
|
||||
}
|
||||
|
||||
email = EmailMultiAlternatives(
|
||||
email_conf["subject"], message, from_email, [emails.pop()], headers=headers,
|
||||
email_conf["subject"],
|
||||
message,
|
||||
from_email,
|
||||
[emails.pop()],
|
||||
headers=headers,
|
||||
)
|
||||
|
||||
if html_template:
|
||||
|
Loading…
Reference in New Issue
Block a user