Compare commits
1 Commits
11.0.0.0rc
...
9.0.0.0rc2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b103c40a7 |
@@ -3,7 +3,7 @@
|
||||
templates:
|
||||
- check-requirements
|
||||
- openstack-cover-jobs
|
||||
- openstack-python3-jobs
|
||||
- openstack-python3-zed-jobs
|
||||
- publish-openstack-docs-pti
|
||||
- release-notes-jobs-python3
|
||||
check:
|
||||
|
||||
@@ -89,9 +89,9 @@ step 2: Create audit to do optimization
|
||||
.. code-block:: shell
|
||||
|
||||
$ openstack optimize audittemplate create \
|
||||
saving_energy_template1 saving_energy --strategy saving_energy
|
||||
at1 saving_energy --strategy saving_energy
|
||||
|
||||
$ openstack optimize audit create -a saving_energy_audit1 \
|
||||
$ openstack optimize audit create -a at1 \
|
||||
-p free_used_percent=20.0
|
||||
|
||||
External Links
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
===========================
|
||||
2023.1 Series Release Notes
|
||||
===========================
|
||||
|
||||
.. release-notes::
|
||||
:branch: stable/2023.1
|
||||
@@ -21,8 +21,6 @@ Contents:
|
||||
:maxdepth: 1
|
||||
|
||||
unreleased
|
||||
2023.1
|
||||
zed
|
||||
yoga
|
||||
xena
|
||||
wallaby
|
||||
|
||||
@@ -2,16 +2,15 @@
|
||||
# Andi Chandler <andi@gowling.com>, 2018. #zanata
|
||||
# Andi Chandler <andi@gowling.com>, 2020. #zanata
|
||||
# Andi Chandler <andi@gowling.com>, 2022. #zanata
|
||||
# Andi Chandler <andi@gowling.com>, 2023. #zanata
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: python-watcher\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-08-14 03:05+0000\n"
|
||||
"POT-Creation-Date: 2022-08-29 03:02+0000\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"PO-Revision-Date: 2023-06-21 07:54+0000\n"
|
||||
"PO-Revision-Date: 2022-05-31 08:39+0000\n"
|
||||
"Last-Translator: Andi Chandler <andi@gowling.com>\n"
|
||||
"Language-Team: English (United Kingdom)\n"
|
||||
"Language: en_GB\n"
|
||||
@@ -60,9 +59,6 @@ msgstr "1.9.0"
|
||||
msgid "2.0.0"
|
||||
msgstr "2.0.0"
|
||||
|
||||
msgid "2023.1 Series Release Notes"
|
||||
msgstr "2023.1 Series Release Notes"
|
||||
|
||||
msgid "3.0.0"
|
||||
msgstr "3.0.0"
|
||||
|
||||
@@ -973,9 +969,6 @@ msgstr "Xena Series Release Notes"
|
||||
msgid "Yoga Series Release Notes"
|
||||
msgstr "Yoga Series Release Notes"
|
||||
|
||||
msgid "Zed Series Release Notes"
|
||||
msgstr "Zed Series Release Notes"
|
||||
|
||||
msgid "``[watcher_datasources] datasources = gnocchi,monasca,ceilometer``"
|
||||
msgstr "``[watcher_datasources] datasources = gnocchi,monasca,ceilometer``"
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
========================
|
||||
Zed Series Release Notes
|
||||
========================
|
||||
|
||||
.. release-notes::
|
||||
:branch: stable/zed
|
||||
@@ -17,7 +17,7 @@ oslo.context>=2.21.0 # Apache-2.0
|
||||
oslo.db>=4.44.0 # Apache-2.0
|
||||
oslo.i18n>=3.20.0 # Apache-2.0
|
||||
oslo.log>=3.37.0 # Apache-2.0
|
||||
oslo.messaging>=14.1.0 # Apache-2.0
|
||||
oslo.messaging>=8.1.2 # Apache-2.0
|
||||
oslo.policy>=3.6.0 # Apache-2.0
|
||||
oslo.reports>=1.27.0 # Apache-2.0
|
||||
oslo.serialization>=2.25.0 # Apache-2.0
|
||||
|
||||
11
tox.ini
11
tox.ini
@@ -1,6 +1,7 @@
|
||||
[tox]
|
||||
minversion = 3.18.0
|
||||
envlist = py3,pep8
|
||||
skipsdist = True
|
||||
ignore_basepython_conflict = True
|
||||
|
||||
[testenv]
|
||||
@@ -18,19 +19,13 @@ commands =
|
||||
rm -f .testrepository/times.dbm
|
||||
find . -type f -name "*.py[c|o]" -delete
|
||||
stestr run {posargs}
|
||||
passenv =
|
||||
http_proxy
|
||||
HTTP_PROXY
|
||||
https_proxy
|
||||
HTTPS_PROXY
|
||||
no_proxy
|
||||
NO_PROXY
|
||||
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
|
||||
|
||||
[testenv:pep8]
|
||||
commands =
|
||||
doc8 doc/source/ CONTRIBUTING.rst HACKING.rst README.rst
|
||||
flake8
|
||||
#bandit -r watcher -x watcher/tests/* -n5 -ll -s B320
|
||||
bandit -r watcher -x watcher/tests/* -n5 -ll -s B320
|
||||
|
||||
[testenv:venv]
|
||||
setenv = PYTHONHASHSEED=0
|
||||
|
||||
@@ -121,7 +121,7 @@ class RequestContextSerializer(messaging.Serializer):
|
||||
def get_client(target, version_cap=None, serializer=None):
|
||||
assert TRANSPORT is not None
|
||||
serializer = RequestContextSerializer(serializer)
|
||||
return messaging.get_rpc_client(
|
||||
return messaging.RPCClient(
|
||||
TRANSPORT,
|
||||
target,
|
||||
version_cap=version_cap,
|
||||
|
||||
@@ -134,13 +134,7 @@ GRAFANA_CLIENT_OPTS = [
|
||||
"InfluxDB this will be the retention period. "
|
||||
"These queries will need to be constructed using tools "
|
||||
"such as Postman. Example: SELECT cpu FROM {4}."
|
||||
"cpu_percent WHERE host == '{1}' AND time > now()-{2}s"),
|
||||
cfg.IntOpt('http_timeout',
|
||||
min=0,
|
||||
default=60,
|
||||
mutable=True,
|
||||
help='Timeout for Grafana request')
|
||||
]
|
||||
"cpu_percent WHERE host == '{1}' AND time > now()-{2}s")]
|
||||
|
||||
|
||||
def register_opts(conf):
|
||||
|
||||
@@ -138,8 +138,7 @@ class GrafanaHelper(base.DataSourceBase):
|
||||
raise exception.DataSourceNotAvailable(self.NAME)
|
||||
|
||||
resp = requests.get(self._base_url + str(project_id) + '/query',
|
||||
params=params, headers=self._headers,
|
||||
timeout=CONF.grafana_client.http_timeout)
|
||||
params=params, headers=self._headers)
|
||||
if resp.status_code == HTTPStatus.OK:
|
||||
return resp
|
||||
elif resp.status_code == HTTPStatus.BAD_REQUEST:
|
||||
|
||||
@@ -252,6 +252,9 @@ class BaseStrategy(loadable.Loadable, metaclass=abc.ABCMeta):
|
||||
if not self.compute_model:
|
||||
raise exception.ClusterStateNotDefined()
|
||||
|
||||
if self.compute_model.stale:
|
||||
raise exception.ClusterStateStale()
|
||||
|
||||
LOG.debug(self.compute_model.to_string())
|
||||
|
||||
def execute(self, audit=None):
|
||||
|
||||
@@ -206,13 +206,13 @@ class SavingEnergy(base.SavingEnergyBaseStrategy):
|
||||
for node in random.sample(self.free_poweron_node_pool,
|
||||
(len_poweron - need_poweron)):
|
||||
self.add_action_poweronoff_node(node, 'off')
|
||||
LOG.info("power off %s", node.uuid)
|
||||
LOG.debug("power off %s", node.uuid)
|
||||
elif len_poweron < need_poweron:
|
||||
diff = need_poweron - len_poweron
|
||||
for node in random.sample(self.free_poweroff_node_pool,
|
||||
min(len_poweroff, diff)):
|
||||
self.add_action_poweronoff_node(node, 'on')
|
||||
LOG.info("power on %s", node.uuid)
|
||||
LOG.debug("power on %s", node.uuid)
|
||||
|
||||
def pre_execute(self):
|
||||
self._pre_execute()
|
||||
|
||||
@@ -80,13 +80,13 @@ class TestService(base.TestCase):
|
||||
super(TestService, self).setUp()
|
||||
|
||||
@mock.patch.object(om.rpc.server, "RPCServer")
|
||||
def _test_start(self, m_handler):
|
||||
def test_start(self, m_handler):
|
||||
dummy_service = service.Service(DummyManager)
|
||||
dummy_service.start()
|
||||
self.assertEqual(1, m_handler.call_count)
|
||||
|
||||
@mock.patch.object(om.rpc.server, "RPCServer")
|
||||
def _test_stop(self, m_handler):
|
||||
def test_stop(self, m_handler):
|
||||
dummy_service = service.Service(DummyManager)
|
||||
dummy_service.stop()
|
||||
self.assertEqual(1, m_handler.call_count)
|
||||
|
||||
Reference in New Issue
Block a user