diff --git a/oslo_metrics/__main__.py b/oslo_metrics/__main__.py index d35a7680e2725b37f0f8ac85deadfe7443dbc633..c89347f3959326ee69514593b04994d35e592846 100644 --- a/oslo_metrics/__main__.py +++ b/oslo_metrics/__main__.py @@ -17,7 +17,6 @@ import os import select import signal import socket -import stat import sys import threading from wsgiref.simple_server import make_server @@ -33,7 +32,9 @@ oslo_metrics_configs = [ cfg.StrOpt('metrics_socket_file', default='/var/tmp/metrics_collector.sock', help='Unix domain socket file to be used' - 'to send rpc related metrics'), + ' to send rpc related metrics'), + cfg.IntOpt('prometheus_port', default=3000, + help='Port number to expose metrics in prometheus format.'), ] cfg.CONF.register_opts(oslo_metrics_configs, group='oslo_metrics') @@ -97,7 +98,7 @@ def main(): socket_path = cfg.CONF.oslo_metrics.metrics_socket_file m = MetricsListener(socket_path) try: - os.chmod(socket_path, stat.S_IRWXU | stat.S_IRWXO) + os.chmod(socket_path, 0o660) except OSError: LOG.error("Changing the mode of the file failed.... continuing") mt = threading.Thread(target=m.serve) @@ -107,7 +108,7 @@ def main(): app = make_wsgi_app() try: global httpd - httpd = make_server('', 3000, app) + httpd = make_server('', CONF.oslo_metrics.prometheus_port, app) signal.signal(signal.SIGTERM, handle_sigterm) httpd.serve_forever() except KeyboardInterrupt: diff --git a/releasenotes/notes/port-config-ac5d9ee247a8ff9b.yaml b/releasenotes/notes/port-config-ac5d9ee247a8ff9b.yaml new file mode 100644 index 0000000000000000000000000000000000000000..346148d4365df64aa5340af2397cbb125f6f3ca8 --- /dev/null +++ b/releasenotes/notes/port-config-ac5d9ee247a8ff9b.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + Port number to expose metrics in Prometheus format is now configurable. diff --git a/releasenotes/source/index.rst b/releasenotes/source/index.rst index 53e10e7e5832b6c6c6fa5e6bdb04ba11386db653..ff3337e10014bb6daa213a51a4f8357501bd8cc9 100644 --- a/releasenotes/source/index.rst +++ b/releasenotes/source/index.rst @@ -6,4 +6,5 @@ oslo.metrics Release Notes :maxdepth: 1 unreleased + xena wallaby diff --git a/releasenotes/source/xena.rst b/releasenotes/source/xena.rst new file mode 100644 index 0000000000000000000000000000000000000000..1be85be3ebf18741d311aa41096d417a99c970bf --- /dev/null +++ b/releasenotes/source/xena.rst @@ -0,0 +1,6 @@ +========================= +Xena Series Release Notes +========================= + +.. release-notes:: + :branch: stable/xena diff --git a/setup.cfg b/setup.cfg index f333e0900026ddc025bcafe10375e110d6bf6e69..9a8db0d483e65a8d97bc2e2970c275f05f278e8f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,12 +1,12 @@ [metadata] name = oslo.metrics author = OpenStack -author-email = openstack-discuss@lists.openstack.org +author_email = openstack-discuss@lists.openstack.org summary = Oslo Metrics API -description-file = +description_file = README.rst -home-page = https://opendev.org/openstack/oslo.metrics -python-requires = >=3.6 +home_page = https://opendev.org/openstack/oslo.metrics +python_requires = >=3.6 classifier = Environment :: OpenStack Intended Audience :: Developers diff --git a/tox.ini b/tox.ini index b6c5d2061662ff8d65f6fa0ce70aa19f7612dd83..5df9975198e6b7d9676616489912bfe82f869702 100644 --- a/tox.ini +++ b/tox.ini @@ -1,11 +1,11 @@ [tox] -minversion = 3.2.0 +minversion = 3.18.0 envlist = py3,pep8 ignore_basepython_conflict = True [testenv] basepython = python3 -whitelist_externals = +allowlist_externals = find deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} @@ -24,7 +24,7 @@ commands = commands = {posargs} [testenv:docs] -whitelist_externals = rm +allowlist_externals = rm deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt @@ -51,7 +51,7 @@ exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build import_exceptions = [testenv:releasenotes] -whitelist_externals = +allowlist_externals = rm deps = {[testenv:docs]deps} commands =