Commit Graph

57 Commits

Author SHA1 Message Date
Zuul 8ae4455ec7 Merge "reno: Update master for unmaintained/xena" 2024-03-12 14:29:49 +00:00
Zuul eecf5c130d Merge "reno: Update master for unmaintained/wallaby" 2024-03-12 14:19:27 +00:00
Zuul f3f5fcaaf4 Merge "reno: Update master for unmaintained/victoria" 2024-03-12 13:14:18 +00:00
OpenStack Release Bot 38c250ea9e 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: Ide682d061e1c18cc994eca93624ab5d9126edb26
2024-03-08 14:23:32 +00:00
OpenStack Release Bot a8a37260c2 reno: Update master for unmaintained/xena
Update the xena release notes configuration to build from
unmaintained/xena.

Change-Id: Icda46119aa5d2649803baaa119e97626c3df7bff
2024-03-07 14:27:11 +00:00
OpenStack Release Bot 9382835bad reno: Update master for unmaintained/wallaby
Update the wallaby release notes configuration to build from
unmaintained/wallaby.

Change-Id: I14eba1d8d5fbf7e4c30a622e8ec2dd5c76f5d70d
2024-03-07 14:22:51 +00:00
OpenStack Release Bot 4f2a525613 reno: Update master for unmaintained/victoria
Update the victoria release notes configuration to build from
unmaintained/victoria.

Change-Id: I61a45ef80df6ad2d976652d7ec072963df871502
2024-03-07 14:17:55 +00:00
OpenStack Release Bot 3bab803940 reno: Update master for unmaintained/yoga
Update the yoga release notes configuration to build from
unmaintained/yoga.

Change-Id: I86a86bdb1c9054f323a762590a6d29e4472af85d
2024-02-06 14:29:26 +00:00
Zuul 3900aa7db5 Merge "Fix native threads on child process" 2023-12-19 19:14:19 +00:00
OpenStack Release Bot ff83185d80 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: I5f7a274cd826dd083f2b7e93b6741620bdaa5883
2023-09-07 09:38:29 +00:00
OpenStack Proposal Bot e94d47a964 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: Iaf9b4202906d53e2ae6ae59293df4fd8c2bfd466
2023-06-28 04:30:39 +00:00
OpenStack Release Bot 43413775fc 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: I84cb4b959ab10d4930856d7a6c3077444a136c2b
2023-02-24 15:23:38 +00:00
OpenStack Proposal Bot 2c32ffdb7d Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I1cc0ace5b5160d9aeb3b4475f5e5b04a4a108cca
2022-09-10 04:32:42 +00:00
OpenStack Release Bot 92fbee91c6 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: I9dc519f12735bb2d98824ba6c5d775bc323afff0
2022-09-09 09:18:23 +00:00
Gorka Eguileor 67daa4b3c2 Fix native threads on child process
When the parent process used eventlet tpool to run code in native
threads then anything the child tries to run in a native thread will
hang forever.

The reason for that is that the parent has initialize the pool of
threads and use a flag to mark that it has been initialized, and when
the child is forked then it will have the flag saying that it has been
initialized and expects the threads to be running, but they are not.  So
there is no thread to pick up the job when a greenlet queues the job, so
the greenthread waits forever to get the result of the operation.

This patch tells eventlet's tpool to clean things up on the child just
after forking, that way if the child uses native threads tpool will
spawn all the threads again.

Closes-Bug: #1983949
Change-Id: If2421427c48faa976d6c6ee9bafe4d563288037b
2022-08-08 17:56:13 +02:00
OpenStack Proposal Bot a27acfe23f Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I67eae9c8e73bac373f6c86e256f508c1fe1ff1db
2022-06-21 03:50:34 +00:00
OpenStack Release Bot e07697f572 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: I6e5c1ce720b69cc2ba98b73fe6c8d193ca338ad6
2022-03-04 17:19:43 +00:00
Bence Romsics 6552b9a820 Make debug option of wsgi server configurable
Because in some deployments tracebacks in API responses are unwanted
for security reasons.

Change-Id: I8a2acea7393c369bfa7d7822f21b4d40d56d6739
Needed-By: https://review.opendev.org/c/openstack/neutron/+/818391
Partial-Bug: #1951429
2021-12-21 11:23:23 +00:00
Zuul 7a62271de3 Merge "Fix fo() backdoor command for non-class objects" 2021-10-13 15:29:08 +00:00
Sebastian Lohff eb191548cf Fix fo() backdoor command for non-class objects
The backdoor command fo() uses isinstance() to check if an object is an
instance of a class. This only works with objects that have a __class__
attribute, else an AttributeError is raised by isinstance(). This is
seldomly the case, though if there is one such object fo() will cease to
work. Therefore we need to protect us against this case by checking for
a __class__ attribute before calling isinstance().

An example for an object without __class__ would be
functools._lru_list_elem.

Change-Id: Ia4c5cbdc249535d36f6e71f7b2a7359bc6fdf219
Closes-Bug: #1946072
2021-10-05 08:29:50 +00:00
OpenStack Release Bot a88a695c01 Update master for stable/xena
Add file to the reno documentation build to show release notes for
stable/xena.

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

Sem-Ver: feature
Change-Id: I218ac5f11e3ac8042988d91b6a2beef3522dde70
2021-09-10 14:39:00 +00:00
Zuul b5b4d46591 Merge "remove unicode from code" 2021-04-16 10:50:48 +00:00
OpenStack Release Bot dbcdc22038 Update master for stable/wallaby
Add file to the reno documentation build to show release notes for
stable/wallaby.

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

Sem-Ver: feature
Change-Id: Ife270ffd6fb617711cd1b5e73882b02ee1aa3fe0
2021-03-18 11:28:15 +00:00
xuanyandong e37c5d2aff remove unicode from code
Change-Id: I4cf57785a3d2e6121fbb470b57a1ba48a3549ef6
2021-01-03 16:21:39 +08:00
Zuul 4c3bf26454 Merge "Adding pre-commit" 2020-09-22 12:53:18 +00:00
OpenStack Release Bot b40ddc2841 Update master for stable/victoria
Add file to the reno documentation build to show release notes for
stable/victoria.

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

Change-Id: I6c0a29cb530fa81ccd665120553b1552e4f2351b
Sem-Ver: feature
2020-09-11 21:01:10 +00:00
Hervé Beraud 10ce88ed2b Adding pre-commit
Introduced changes:
- pre-commit config and rules
- Add pre-commit to pep8 gate, Flake8 is covered in the pre-commit hooks.
- Applying fixes for pre-commit compliance in all code.

Also commit hash will be used instead of version tags in pre-commit to
prevend arbitrary code from running in developer's machines.

pre-commit will be used to:
- trailing whitespace;
- Replaces or checks mixed line ending (mixed-line-ending);
- Forbid files which have a UTF-8 byte-order marker
  (check-byte-order-marker);
- Checks that non-binary executables have a proper
  shebang (check-executables-have-shebangs);
- Check for files that contain merge conflict strings
  (check-merge-conflict);
- Check for debugger imports and py37+ breakpoint()
  calls in python source (debug-statements);
- Attempts to load all yaml files to verify syntax (check-yaml);
- Run flake8 checks (flake8) (local)

For further details about tests please refer to:
https://github.com/pre-commit/pre-commit-hooks

Change-Id: Ib18f38dbec90c62e870307bf22a8b4f193237bce
Signed-off-by: Moisés Guimarães de Medeiros <moguimar@redhat.com>
2020-09-08 14:26:37 +02:00
melissaml a6d7025bfc Fix pygments style
New theme of docs respects pygments_style.

more info: http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html

Change-Id: Ia2a26e5824bfd4465e85134ac893ff5644c2b78f
2020-06-04 15:01:32 +08:00
Andreas Jaeger 3803ff29db Switch to newer openstackdocstheme and reno versions
Switch to openstackdocstheme 2.2.0 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering

Update Sphinx version as well.

Remove docs requirements from lower-constraints, they are not needed
during install or test but only for docs building.

openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.

Set openstackdocs_auto_name to use 'project' as name.

Depends-On: https://review.opendev.org/728938
Change-Id: I4f21de08de3bfd89bf8e331b6c819932cde8ca2f
2020-05-18 20:54:17 +02:00
Zuul 2fc1ea43b9 Merge "Update master for stable/ussuri" 2020-04-14 12:36:17 +00:00
OpenStack Release Bot 3c812fc4c9 Update master for stable/ussuri
Add file to the reno documentation build to show release notes for
stable/ussuri.

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

Change-Id: I5a742ab88b1d2ae6b594579f28b975ee6ec8ab2f
Sem-Ver: feature
2020-04-14 10:17:36 +00:00
Andreas Jaeger 5f184f1f5e Cleanup py27 support
This repo is now testing only with Python 3, so let's make
a few cleanups:
- Remove obsolete sections from setup.cfg
- Update classifiers
- Cleanup doc/source/conf.py to remove now obsolete content.
- Use newer openstackdocstheme version

Change-Id: I2c59ca525fa329b91720149cff3faee00fafff97
2020-04-13 11:18:16 +02:00
Hervé Beraud fd74a8b9b9 reword releasenote for py27 support dropping
Change-Id: Ib61032323bc4bde9e4145ab4f197d6568802f59f
2020-02-06 11:04:17 +01:00
Hervé Beraud 65e2aa81b8 [ussuri][goal] Drop python 2.7 support and testing
OpenStack is dropping the py2.7 support in Ussuri cycle.

Complete discussion & schedule can be found in
-
http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010142.html
- https://etherpad.openstack.org/p/drop-python2-support

Ussuri Communtiy-wide goal:
https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html

Change-Id: I3ea32bcc39d887d296d70b080a90c536debd91b3
2020-02-03 18:35:41 +01:00
OpenStack Release Bot d19c0179bd Update master for stable/train
Add file to the reno documentation build to show release notes for
stable/train.

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

Change-Id: I67830fa805b4b53a2483582fc532386dcb86d182
Sem-Ver: feature
2019-09-20 16:38:16 +00:00
Eric Fried a7621c8c46 Reno for SIGHUP fix
Adds a release note for the fix at
I86a34c22d41d87a9cce2d4ac6d95562d05823ecf

Change-Id: I4682950ac12f763737489c510246d54aed80b80f
Related-Bug: #1794708
2019-08-30 09:59:18 -05:00
Sebastian Lohff dd174fbfde Make PID availabe as formatstring in backdoor path
When multiple processes are spawned with the same configuration
each process has the same backdoor_socket path configured and
only the first process able to bind to the socket can later be
accessed via the backdoor. To give each process a unique socket path
we now expose the PID of the process as a format string argument,
which can then be used like this:

backdoor_socket = /var/lib/neutron/backdoor-{pid}

Change-Id: I3f86f4867eb0cd5010abadf68620aa3450d3e64d
2019-05-22 16:21:44 +02:00
OpenStack Release Bot 5b57ff1993 Update master for stable/stein
Add file to the reno documentation build to show release notes for
stable/stein.

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

Change-Id: Ifc8a52c83ab2f192ca4a265f4764218e6f42e591
Sem-Ver: feature
2019-03-18 14:46:54 +00:00
venkata anil a04daefbb1 Profile Oslo Service processes
This patch enables profiling (capturing function call trace like
cProfile [1]) worker processes on the fly while service is running.
User requests the oslo service process to start profiling by writing
"prof()" command to backdoor socket, once the service (like
neutron-server) finishes expected processing (example finishing API
call), user again writes "prof()" command with file name as argument
to dump the function calltrace stats. Stats file (in pstat format
with user provided filename by adding .prof) will be generated in
temp directory.

For example, to profile neutron server process,
1) echo "prof()" | nc localhost 8002
2) Issue neutron command (or run rally scenarios tests)
   neutron net-create n1
   neutron port-create --name p1 n1
   neutron port-delete p1
   neutron net-delete n1
3) echo "prof('neutron')" | nc localhost 8002
where 8002 is the port which we set like below in neutron.conf
backdoor_port=8002

We can later print the stats from the trace file like below
stats = pstats.Stats('/tmp/neutron.prof')
stats.print_stats()
The trace file will look like in (for above neutron API calls) [2].

We use Yappi with context set to greenlet [3] to profile greenlets.
We can't use GreenletProfiler [4], which does the same [5]
1) as it is no more maintained
2) Also compiling yappi source inside GreenletProfiler is failing for
   python3.

[1] https://docs.python.org/2/library/profile.html
[2] https://gist.github.com/venkataanil/64d5e672bf0206dc151e73fc1058a983
[3] https://bitbucket.org/sumerc/yappi/pull-requests/3
[4] https://pypi.org/project/GreenletProfiler/
[5] https://emptysqua.re/blog/greenletprofiler/

Depends-On: Ibea0cdb732923f1b53d5cb6aeeb4041fb5973494
Change-Id: Id2418093494f1e233a653f6c73bd6894e4a40184
2019-01-16 07:38:13 -05:00
Zane Bitter fef1c1543b Deprecate the ThreadGroup.cancel() API
This API is awkward, inefficient, incoherent, and unintuitive. The bug
fix for which it was originally added was abandoned in favour of a
different approach, so it was never used. It appears that no consumers
are currently calling it. It would be best if none started.

Add a deprecation warning to discourage its use and allow us to remove
it altogether at some point in the future.

Change-Id: I9559c7051024019fac957385faced645920b815c
2018-12-20 11:11:23 +13:00
Duc Truong 48c51fe9cd Add stop_on_exception to TG timers
ThreadGroup add_dynamic_timer_args and add_timer_args use
DynamicLoopingCall and FixedIntervalLoopingCall respectively.  Both
classes have support for stop_on_exception, but this parameter was not
exposed in ThreadGroup functions to create timers.

This change adds the missing stop_on_exception to the timer functions so
that ThreadGroup timers can continue on exceptions if the user chooses
to do so.

Change-Id: If03276f290e86e95ddc0b1d749b7460ed752b8ef
Co-Authored-By: Zane Bitter <zbitter@redhat.com>
2018-12-10 11:13:00 +13:00
Zane Bitter 750b51caaa Add better timer APIs to ThreadGroup
The ThreadGroup.add_timer() API is unintuitive, inflexible, and all
around pretty terrible. By allowing the caller to pass *args and
**kwargs, it strongly implies that you can write a wrapper like:

    def add_timer(self, interval, func, *args, **kwargs):
        self.group.add_timer(interval, func, *args, **kwargs)

and in fact at least 6 projects have done so (probably copying and
pasting from each other). But this is wrong, and will result in the
first positional arg intended for the callback function to be treated as
the initial_delay parameter and dropped from the list of arguments to be
passed to the callback when it is run. When called like this, the
initial_delay argument not only must be passed (preventing the caller
from relying on the default), interspersed between the callback function
and its arguments, but it must be passed as a positional and not a
keyword argument (preventing the caller from effectively documenting
what is going on):

        self.group.add_timer(interval, func, None, *args, **kwargs)

We are also unable to add any further options without breaking existing
consumers.

To improve the situation in the future, add a new add_timer_args() API
that takes the args and kwargs as individual sequence/mapping parameters
rather than as variadic parameters. The above call would become:

        self.group.add_timer_args(interval, func, args, kwargs)

and any optional parameters can be passed as keyword arguments. Any new
keyword arguments we might want to add can be safely added to this
method.

Calling the original add_timer() method with arguments (either
positional or keyword) intended for the callback function is now
deprecated. Those parameters could be removed in a future major release.

Change-Id: Ib2791342263e2b88c045bcc92adc8160f57a0ed6
2018-12-10 11:09:48 +13:00
OpenStack Release Bot 9b3e6ad77e Update reno for stable/rocky
Change-Id: Iccf0a696912986963b0812ae843a8f26872ef528
2018-07-26 12:40:19 +00:00
OpenStack Proposal Bot d086567bc2 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I8c3b7fe1d7669a1985137e60d6cec645985cecab
2018-03-02 06:06:23 +00:00
OpenStack Proposal Bot 4fb2093755 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I1582690fd304d95f2cafa62e3e4e13cc9f501bd4
2018-03-01 06:11:58 +00:00
OpenStack Proposal Bot d0bbe6e23a Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: Ib02737fe4942e08c36375ad5a6b82558867e3ad7
2018-01-28 06:54:58 +00:00
OpenStack Release Bot 74a1e7b0c6 Update reno for stable/queens
Change-Id: I1817ba252673e86ead32da9751b49f5278a05816
2018-01-24 18:08:01 +00:00
Andreas Jaeger bc362bfd82 Remove setting of version/release from releasenotes
Release notes are version independent, so remove version/release
values. We've found that projects now require the service package
to be installed in order to build release notes, and this is entirely
due to the current convention of pulling in the version information.

Release notes should not need installation in order to build, so this
unnecessary version setting needs to be removed.

This is needed for new release notes publishing, see
I56909152975f731a9d2c21b2825b972195e48ee8 and the discussion starting
at
http://lists.openstack.org/pipermail/openstack-dev/2017-November/124480.html
.

Change-Id: Ib453d6189ac584bbf6d7ccf9b63153c59ddff058
2017-11-16 21:49:18 +01:00
OpenStack Proposal Bot a32ed452bc Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I7322ecebf0bd5c019f29f133caa570e9e6227d8d
2017-10-09 11:03:18 +00:00
OpenStack Proposal Bot fe68c95449 Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: If45fb9fd7acdc82282a298a83556754f069110fc
2017-08-23 10:36:59 +00:00