Commit Graph

785 Commits

Author SHA1 Message Date
Zuul f2627a8975 Merge "reno: Update master for unmaintained/xena" 2024-03-12 14:51:10 +00:00
Zuul 1177bcaf58 Merge "reno: Update master for unmaintained/wallaby" 2024-03-12 14:35:29 +00:00
Zuul 66a0660313 Merge "reno: Update master for unmaintained/victoria" 2024-03-12 13:32:53 +00:00
OpenStack Release Bot 42d63af248 Update master for stable/2024.1
Add file to the reno documentation build to show release notes for
stable/2024.1.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.1.

Sem-Ver: feature
Change-Id: I843745a6763b314ea6a3e861f7fe955008c62b36
2024-03-08 14:23:02 +00:00
OpenStack Release Bot 53660bd656 reno: Update master for unmaintained/xena
Update the xena release notes configuration to build from
unmaintained/xena.

Change-Id: If8c376798c1864d9c1f45ef187069e7d9277f219
2024-03-07 14:26:34 +00:00
OpenStack Release Bot 541a2a661d reno: Update master for unmaintained/wallaby
Update the wallaby release notes configuration to build from
unmaintained/wallaby.

Change-Id: I3511720379057cea1e13dc0fae9ab5cced3cb6da
2024-03-07 14:22:15 +00:00
OpenStack Release Bot 85c74eff4e reno: Update master for unmaintained/victoria
Update the victoria release notes configuration to build from
unmaintained/victoria.

Change-Id: I538106930dbbf2df7fddabc02288cd5b9315abc1
2024-03-07 14:16:53 +00:00
Zuul 4b7a6f7753 Merge "Use consistent commands for coverage" 2024-02-07 06:41:36 +00:00
Takashi Kajinami 8a42e5ae40 Use consistent commands for coverage
This updates the command executed in the cover target to make these
more consistent with the other repos. The main change is now we ensure
old data is erased before executing the steps.

Change-Id: I2c2b8a60ddfda9b8184e61113d11a7bdafe113c7
2024-02-07 12:18:52 +09:00
OpenStack Release Bot d1de2a437d reno: Update master for unmaintained/yoga
Update the yoga release notes configuration to build from
unmaintained/yoga.

Change-Id: I3c551d7083cbdfbcea27dffd69649ccef8138e3a
2024-02-06 14:28:53 +00:00
Takashi Kajinami 973498106f Add flag to skip undefined rule check
Some components like neutron-lib builds its own sub-enforcer which
enforces policy rules partially. However even these enforcer may load
the full policy rules in the file and this causes a lot of warnings
about "undefined rules".

This introduces a new flag so that users can disable undefined check,
when they know the undefined rules are "expected".

Note that the flag is not formally exposed, because we don't know if
this requirement is common. If we find similar problems with different
components then we may add an argument to __init__ .

Related-Bug: #2048198
Change-Id: Ibb4e8e877640e8488aaffb40560e930b0cbfcbce
2024-01-31 10:41:22 +09:00
Ghanshyam Mann 9b22cf5f8f Update python classifier in setup.cfg
As per the current release tested runtime, we test
python version from 3.8 to 3.11 so updating the
same in python classifier in setup.cfg

Change-Id: I850407259de142c1022ab06c04c6b8c035feaac4
2024-01-11 16:19:14 -08:00
Takashi Kajinami 518c1bce22 coveragerc: Remove non-existent path
The oslo_policy/openstack directory does not exist.

Change-Id: I8368287b28bf6f8eb96ca5396d1dd6efb828dd82
2023-12-19 20:51:14 +09:00
Zuul a1e7625818 Merge "Update master for stable/2023.2" 2023-10-10 09:45:55 +00:00
Takashi Kajinami 989f559d73 Fix doc build error
This fixes the following error in the doc job.

```
TypeError: not all arguments converted during string formatting
```

Change-Id: If67f629dfd6b07ed198155bec43a128369b7affa
2023-10-04 19:01:50 +09:00
OpenStack Release Bot 3d415acf20 Update master for stable/2023.2
Add file to the reno documentation build to show release notes for
stable/2023.2.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.

Sem-Ver: feature
Change-Id: Iaf095e2f590862385446bec03dc7a78d067b0237
2023-09-07 09:37:43 +00:00
OpenStack Proposal Bot 37de6f3ef0 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I1d4337f9120cd39cfdd144ceee78c5d5e6a3ec95
2023-06-22 03:28:24 +00:00
Ghanshyam 93129eb742 Revert "Moves supported python runtimes from version 3.8 to 3.10"
This reverts commit 67a3d3b0db.

Keeping Python 3.10 in setup.cfg classifier and zuul.yaml changes.

Reason for revert:

Needed-By: https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/882175

TC has been discussing about re-adding the python 3.8
testing in current master 2023.2 release testing.

- https://meetings.opendev.org/meetings/tc/2023/tc.2023-04-25-18.00.log.html#l-191
- https://lists.openstack.org/pipermail/openstack-discuss/2023-April/033469.html

While governance changes are under review, TC agreed to add py3.8 testing
so that we do not see more project/lib dropping python 3.8 and make them
uninstalable on python 3.8

- https://meetings.opendev.org/meetings/tc/2023/tc.2023-05-02-18.00.log.html#l-17
- https://review.opendev.org/c/openstack/governance/+/882165

Also adding py3.8 testing back in job https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/882175

Change-Id: I50a55442701be16bae3b7ae2035743b9f174dcfd
2023-05-05 18:52:47 +00:00
Hervé Beraud 67a3d3b0db Moves supported python runtimes from version 3.8 to 3.10
Within 2023.2 python version 3.9 and 3.10 are the
supported python runtimes [1].
[1] https://review.opendev.org/c/openstack/governance/+/872232

Change-Id: I82682282703def588ce95b9b0067651ccf5ce924
2023-04-10 16:27:16 +00:00
Mitya_Eremeev d80573c612 Fix deprecated rule logic if the rule was deleted in policy directory.
The bug scenario:
- define deprecated rule in policy folder
- start a service
- enforce policies
- remove the rule in policy folder
- enforce policies

New default is applied to the rule,
but new and old defaults should be applied
(OR logic)
The patch fixes it.

Closes-Bug: 1977549
Change-Id: If11fe2da1163d6d3f16d133aeb207a055cf30de4
2023-03-03 08:08:01 +00:00
OpenStack Release Bot e7b9dd1f5a Update master for stable/2023.1
Add file to the reno documentation build to show release notes for
stable/2023.1.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.1.

Sem-Ver: feature
Change-Id: I279a3b56f331ad2dcafd624f0d8ea166713a58c5
2023-02-24 15:21:26 +00:00
Hervé Beraud 043db50e39 Fix py38 jobs by using focal rather than jammy
Related to https://lists.openstack.org/pipermail/openstack-discuss/2023-February/032247.html

Change-Id: Icf66914c2b5b6221e55595c01d018617b224c6ea
2023-02-17 13:16:10 +00:00
OpenStack Proposal Bot 25fe203f1d Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: Ib11f5c8095c075170575ecaf635e6ce30bd3d789
2022-10-17 03:48:17 +00:00
OpenStack Release Bot 3977a9a82b Add Python3 antelope unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for antelope.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: Ied1dbd4a6751b8a9bded9569eb5ea76e72d0b3f4
2022-09-09 09:17:44 +00:00
OpenStack Release Bot cd966bc170 Update master for stable/zed
Add file to the reno documentation build to show release notes for
stable/zed.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.

Sem-Ver: feature
Change-Id: Ib8774b60b82602c4a22c622ebe623e348d0f1f2d
2022-09-09 09:17:43 +00:00
Pierre Riteau 5bd767be79 Fix generation of sample policy files
Generation of sample policy files was broken when exclude_deprecated was
added as an extra argument to the generate_sample function in
I6d02eb4d8f94323a806fab991ba2f1c3bbf71d04. It was passed as the fourth
argument, which is actually include_help. Because it defaults to False,
this turned sample policy files into actual policy files.

Fix by using keyword arguments instead.

Change-Id: I5478b1c8e7fd2f1b01f63602998194bab3683f7c
Closes-Bug: #1975682
2022-05-25 11:04:33 +02:00
Hervé Beraud 6471443811 Drop python3.6/3.7 support in testing runtime
In Zed cycle testing runtime, we are targetting to drop the
python 3.6/3.7 support, project started adding python 3.8 as minimum,

example nova:
- 56b5aed08c/setup.cfg (L13)

Change-Id: Icd143d8880666c1282e1e7821c108ab3e4de7813
2022-05-05 16:14:04 +02:00
whoami-rajat 9673a74b60 Only pass exclude-deprecated when True
The '--exclude-deprecated' parameter should only be passed to
oslo.config to parse when it is True.
The final generated sphinx syntax is[1] where [--exclude-deprecated]
doesn't require True/False value and only should be passed when True.

The change introducing this[2] causes parsing issue in oslo.config[3]
while checking <bool>.startswith (we pass True/False value) and even
after that while calling argparse[4] with following error[5].

[1] usage: sphinx-build [-h] [--config-dir DIR] [--config-file PATH] [--exclude-deprecated] [--format FORMAT] [--namespace NAMESPACE]
                        [--noexclude-deprecated] [--output-file OUTPUT_FILE]
[2] https://review.opendev.org/c/openstack/oslo.policy/+/830514
[3] https://opendev.org/openstack/oslo.config/src/branch/master/oslo_config/cfg.py#L2937
[4] https://opendev.org/openstack/oslo.config/src/branch/master/oslo_config/cfg.py#L2960
[5] > /usr/lib/python3.8/argparse.py(1781)parse_args()
-> if argv:
(Pdb)
> /usr/lib/python3.8/argparse.py(1782)parse_args()
-> msg = _('unrecognized arguments: %s')
(Pdb)
> /usr/lib/python3.8/argparse.py(1783)parse_args()
-> self.error(msg % ' '.join(argv))
(Pdb)
TypeError: sequence item 0: expected str instance, bool found
> /usr/lib/python3.8/argparse.py(1783)parse_args()
-> self.error(msg % ' '.join(argv))
Handler <function generate_sample at 0x7fc0d6697d30> for event 'builder-inited' threw an exception (exception: sequence item 0: expected str instance, bool found)

Closes-Bug: #1970725
Change-Id: I95745b8d1cbdb6a7cf442d431a998b7e3ff600e4
2022-04-28 15:27:31 +05:30
Zuul d89cdda6b1 Merge "make deprecated rule examples explicit" 2022-04-25 15:57:53 +00:00
Slawek Kaplonski 9bc1783400 Don't raise InvalidScope exception when do_raise=False
In the Enforcer.enforce() method there is boolean parameter do_raise.
When it is set to False, enforce() method should return True/False as an
enforcement result and not raise exception. It works like that with
PolicyNotAuthorized exception but since some time this method can also
raise InvalidScope exception and in such case behaviour was different.

This patch changes that behaviour so InvalidScope exception will also
not be raised when do_raise=False.

Closes-bug: #1965315
Change-Id: I37fd682ffa9d6f4c69698e1be42adac28bbfe72a
2022-03-17 20:38:32 +01:00
OpenStack Release Bot 9eef147fc3 Add Python3 zed unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for zed.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: I9819bed88617605d40649bb5bdcf27723d48ea3a
2022-03-04 17:19:06 +00:00
OpenStack Release Bot cdec2c1321 Update master for stable/yoga
Add file to the reno documentation build to show release notes for
stable/yoga.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/yoga.

Sem-Ver: feature
Change-Id: I35de33c2f540ceb76b0b12da5373545c15306f6d
2022-03-04 17:19:05 +00:00
Julia Kreger b67e3c71a0 make deprecated rule examples explicit
Deprecated rules can be confusing and downright unfriendly when
evaluating a generated sample output and seeing legacy rules being
aliased to new rules. Technically this is also invalid and results
in a broken sample file with overriding behavior.

Under normal circumstances, this wouldn't be a big deal, but with
the Secure RBAC effort, projects also performed some further
delineation of RBAC policies instead of performing a 1:1 mapping.

As a result of the policy enforcement model, a prior deprecated
rule was required, which meant the prior deprecated rule would
be reported multiple times in the output.

Since we don't have an extra flag in the policy-in-code definitions
of policies, all we can *really* do is both clarify the purpose
and meaning of the entry, not enable the alias by default in
sample output (as it is a sample! not an override of code!),
and provide projects as well as operators with a knob to
exclude deprecated policy inclusion into examples and sample
output.

Closes-Bug: #1945336
Change-Id: I6d02eb4d8f94323a806fab991ba2f1c3bbf71d04
2022-02-22 11:20:49 -08:00
Zuul b48b711b09 Merge "Fix formatting of release list" 2022-02-11 16:39:37 +00:00
Ghanshyam Mann eae3dc0032 Expand set_defaults() to set other config default value
Currently set_defaults() is only able to set the default
value of policy_file config option. In future, for example
scope config option like enforce_scope also needs to be override
the default value per service (service ready with scope enable
can set it to True and for other services it will be False as default
in oslo.policy).

To allow override the other config option, let's expand the existing
set_defaults() method to do so.

Change-Id: I72120efb7c55aab82b765237904c9ae6e91f6b6f
2022-02-08 08:56:41 -06:00
Pierre Riteau c2382f990e Fix formatting of release list
Change-Id: I09de011b77b49801da2a70eebacfab1d10de32d3
2022-02-07 11:26:54 +01:00
dengzhaosen 641b4f7ae0 Update python testing classifier
Yoga testing runtime[1] has been updated to add py39
testing as voting. Unit tests update are handled by the
job template change in openstack-zuul-job

- https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286

this commit updates the classifier in setup.cfg file.

[1] https://governance.openstack.org/tc/reference/runtimes/yoga.html

Change-Id: I977e8e5d1a4e4b4aeebf484cfb2fca28dec7b724
2021-12-21 17:47:24 +08:00
Slawek Kaplonski 919c3280aa Enforce scope check always when rule has scope_types set
Previously it was checked only for registered rules but not for
rules which are subclasses of the BaseCheck class.
Now it's checked for all rules which have scope_types set.

It's required for e.g. Neutron as it is creating Check objects based
on the defined policy rules to e.g. include in the check attributes
like network's provider parameters, etc.

Depends-On: https://review.opendev.org/c/openstack/neutron/+/815838
Depends-On: https://review.opendev.org/c/openstack/neutron/+/818725

Closes-Bug: #1923503
Change-Id: I55258c1f999c84220518d1fbbf5e1e514361cebe
2021-11-23 21:30:14 +00:00
Slawek Kaplonski 1e89f032b7 Increase timeout of the cross-neutron-tox-py38 job
It seems that since some time that job is timing out. To fix that,
this patch sets timeout for the cross-neutron-tox-py38 job to
3600 seconds which is the same value as configured for unit tests
jobs in Neutron.

Change-Id: If360a366b7299e36c80adaefe5baf559a5c16bdd
2021-11-23 22:29:50 +01:00
Zuul 4ecbcf280a Merge "Refactor scope enforcement in the Enforcer class" 2021-10-25 14:02:35 +00:00
Zuul cce180d372 Merge "Add scope_types attribute to the BaseCheck class" 2021-10-25 14:02:34 +00:00
Zuul 4757688ecf Merge "Don't reset rules without overwriting" 2021-10-25 13:50:40 +00:00
mitya-eremeev-2 302643b027 Don't reset rules without overwriting
If an user uses Enforcer without overwriting (Enforcer(overwrite=False))
we  should not reset rules and only update loaded rules.
Enforcer without overwriting is a weird behavior, but it is supported at this moment.
Maybe it will be eliminated in future because it's misleading.
Operator cannot conclude what rules are loaded by simply looking in config files.

Change-Id: I2871407f8c7417a016415ccc166c1f37a9e17908
Closes-Bug: 1943584
2021-10-21 17:54:39 +03:00
Zuul 8a3998af18 Merge "Rules in policy directory files can be deleted." 2021-10-21 14:22:54 +00:00
Mitya_Eremeev 949289e094 Rules in policy directory files can be deleted.
Policy directory files can only add new rules or
update existing rules in cache, but cannot return back
loaded rules in memory to their default value.
This incorrect behavior was fixed in the patch.

Member "_loaded_files" of class Enforcer should keep
list of loaded policy config files paths.
In fact if the same file is changed many times
then the same file path is added many times.
If a file is deleted it's path not deleted from "_loaded_files".
The member is very misleading and is not used in code.
So this member was deleted in the patch because of
above mentioned resons.

Change-Id: I9ede38d8cf2ae968d3d8c0b1240bd6a51e6aa931
Closes-Bug: 1943584
2021-10-14 17:07:12 +03:00
Slawek Kaplonski 0aa03fd856 Refactor scope enforcement in the Enforcer class
This patch moves code responsible for scope types enforcement
to the separate method which can be reused in different places,
like e.g. to enforce scope for instances of the BaseCheck class.

Related-Bug: #1923503
Change-Id: I6fd671728582b2f60939764075a8e2a977e78b58
2021-10-05 11:20:03 +02:00
Slawek Kaplonski fb51982f80 Add scope_types attribute to the BaseCheck class
Neutron, based on the defined policy rules is creating check
objects "in flight" to e.g. include check some object's attributes,
like e.g. network's provider parameters.
That use case requires that BaseCheck class and classes which inherits
from it needs to have scope_types defined thus Neutron can set it for
the Check based on the defined policy rule.

This patch adds scope_types attribute to the BaseCheck class to make it
available for use cases like described above.

Related-Bug: #1923503
Change-Id: Ibf30d0ffa5e9b125742089705d3557c02a03bc43
2021-10-05 11:19:50 +02:00
Zuul 4f0e206a12 Merge "Add Python3 yoga unit tests" 2021-09-30 18:41:45 +00:00
Zuul 7cec2bb4bd Merge "Update master for stable/xena" 2021-09-30 16:40:58 +00:00
Zuul d768f6b393 Merge "Map system_scope in creds dictionary" 2021-09-29 17:31:19 +00:00