Merge "Register default pools and health policies in code"
This commit is contained in:
commit
b72620dd4d
@ -6,14 +6,5 @@
|
|||||||
"subscription:get": "",
|
"subscription:get": "",
|
||||||
"subscription:delete": "",
|
"subscription:delete": "",
|
||||||
"subscription:update": "",
|
"subscription:update": "",
|
||||||
"subscription:confirm": "",
|
"subscription:confirm": ""
|
||||||
|
|
||||||
"pools:get_all": "rule:context_is_admin",
|
|
||||||
"pools:create": "rule:context_is_admin",
|
|
||||||
"pools:get": "rule:context_is_admin",
|
|
||||||
"pools:delete": "rule:context_is_admin",
|
|
||||||
"pools:update": "rule:context_is_admin",
|
|
||||||
|
|
||||||
"ping:get": "",
|
|
||||||
"health:get": "rule:context_is_admin"
|
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,9 @@ import itertools
|
|||||||
from zaqar.common.policies import base
|
from zaqar.common.policies import base
|
||||||
from zaqar.common.policies import claims
|
from zaqar.common.policies import claims
|
||||||
from zaqar.common.policies import flavors
|
from zaqar.common.policies import flavors
|
||||||
|
from zaqar.common.policies import health
|
||||||
from zaqar.common.policies import messages
|
from zaqar.common.policies import messages
|
||||||
|
from zaqar.common.policies import pools
|
||||||
from zaqar.common.policies import queues
|
from zaqar.common.policies import queues
|
||||||
|
|
||||||
|
|
||||||
@ -24,6 +26,8 @@ def list_rules():
|
|||||||
base.list_rules(),
|
base.list_rules(),
|
||||||
claims.list_rules(),
|
claims.list_rules(),
|
||||||
flavors.list_rules(),
|
flavors.list_rules(),
|
||||||
|
health.list_rules(),
|
||||||
messages.list_rules(),
|
messages.list_rules(),
|
||||||
|
pools.list_rules(),
|
||||||
queues.list_rules()
|
queues.list_rules()
|
||||||
)
|
)
|
||||||
|
48
zaqar/common/policies/health.py
Normal file
48
zaqar/common/policies/health.py
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
from oslo_policy import policy
|
||||||
|
|
||||||
|
from zaqar.common.policies import base
|
||||||
|
|
||||||
|
PING = 'ping:%s'
|
||||||
|
HEALTH = 'health:%s'
|
||||||
|
|
||||||
|
rules = [
|
||||||
|
|
||||||
|
policy.DocumentedRuleDefault(
|
||||||
|
name=PING % 'get',
|
||||||
|
check_str=base.UNPROTECTED,
|
||||||
|
description='Simple health check for end user(ping).',
|
||||||
|
operations=[
|
||||||
|
{
|
||||||
|
'path': '/v2/ping',
|
||||||
|
'method': 'GET'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
),
|
||||||
|
policy.DocumentedRuleDefault(
|
||||||
|
name=HEALTH % 'get',
|
||||||
|
check_str=base.ROLE_ADMIN,
|
||||||
|
description='Detailed health check for cloud operator/admin.',
|
||||||
|
operations=[
|
||||||
|
{
|
||||||
|
'path': '/v2/health',
|
||||||
|
'method': 'GET'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def list_rules():
|
||||||
|
return rules
|
80
zaqar/common/policies/pools.py
Normal file
80
zaqar/common/policies/pools.py
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
from oslo_policy import policy
|
||||||
|
|
||||||
|
from zaqar.common.policies import base
|
||||||
|
|
||||||
|
POOLS = 'pools:%s'
|
||||||
|
|
||||||
|
|
||||||
|
rules = [
|
||||||
|
policy.DocumentedRuleDefault(
|
||||||
|
name=POOLS % 'get_all',
|
||||||
|
check_str=base.ROLE_ADMIN,
|
||||||
|
description='Lists pools.',
|
||||||
|
operations=[
|
||||||
|
{
|
||||||
|
'path': '/v2/pools',
|
||||||
|
'method': 'GET'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
),
|
||||||
|
policy.DocumentedRuleDefault(
|
||||||
|
name=POOLS % 'create',
|
||||||
|
check_str=base.ROLE_ADMIN,
|
||||||
|
description='Creates a pool.',
|
||||||
|
operations=[
|
||||||
|
{
|
||||||
|
'path': '/v2/pools/{pool_name}',
|
||||||
|
'method': 'PUT'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
),
|
||||||
|
policy.DocumentedRuleDefault(
|
||||||
|
name=POOLS % 'get',
|
||||||
|
check_str=base.ROLE_ADMIN,
|
||||||
|
description='Shows details for a pool.',
|
||||||
|
operations=[
|
||||||
|
{
|
||||||
|
'path': '/v2/pools/{pool_name}',
|
||||||
|
'method': 'GET'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
),
|
||||||
|
policy.DocumentedRuleDefault(
|
||||||
|
name=POOLS % 'delete',
|
||||||
|
check_str=base.ROLE_ADMIN,
|
||||||
|
description='Delete pool.',
|
||||||
|
operations=[
|
||||||
|
{
|
||||||
|
'path': '/v2/pools/{pool_name}',
|
||||||
|
'method': 'DELETE'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
),
|
||||||
|
policy.DocumentedRuleDefault(
|
||||||
|
name=POOLS % 'update',
|
||||||
|
check_str=base.ROLE_ADMIN,
|
||||||
|
description='Update pool.',
|
||||||
|
operations=[
|
||||||
|
{
|
||||||
|
'path': '/v2/pools/{pool_name}',
|
||||||
|
'method': 'PATCH'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def list_rules():
|
||||||
|
return rules
|
@ -6,14 +6,5 @@
|
|||||||
"subscription:get": "",
|
"subscription:get": "",
|
||||||
"subscription:delete": "",
|
"subscription:delete": "",
|
||||||
"subscription:update": "",
|
"subscription:update": "",
|
||||||
"subscription:confirm": "",
|
"subscription:confirm": ""
|
||||||
|
|
||||||
"pools:get_all": "rule:context_is_admin",
|
|
||||||
"pools:create": "rule:context_is_admin",
|
|
||||||
"pools:get": "rule:context_is_admin",
|
|
||||||
"pools:delete": "rule:context_is_admin",
|
|
||||||
"pools:update": "rule:context_is_admin",
|
|
||||||
|
|
||||||
"ping:get": "",
|
|
||||||
"health:get": "rule:context_is_admin"
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user