Skip to content

Commit acb7eab

Browse files
authored
Merge pull request #128 from stackhpc/upstream/master-2025-06-09
Synchronise master with upstream
2 parents 220feae + 44345dc commit acb7eab

File tree

4 files changed

+20
-7
lines changed

4 files changed

+20
-7
lines changed

cloudkitty/tests/test_state.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# License for the specific language governing permissions and limitations
1414
# under the License.
1515
#
16-
import datetime
16+
from oslo_utils import timeutils
1717

1818
from cloudkitty import state
1919
from cloudkitty import tests
@@ -29,14 +29,14 @@ def test_gen_name(self):
2929
self.assertEqual(name, 'testuser_osrtf')
3030

3131
def test_state_access(self):
32-
now = datetime.datetime.utcnow()
32+
now = timeutils.utcnow()
3333
self.sm.set_state(now)
3434
result = self.sm.get_state()
3535
self.assertEqual(result, str(now))
3636

3737
def test_metadata_access(self):
3838
metadata = {'foo': 'bar'}
39-
now = datetime.datetime.utcnow()
39+
now = timeutils.utcnow()
4040
self.sm.set_state(now)
4141
self.sm.set_metadata(metadata)
4242
result = self.sm.get_metadata()

contrib/ci/csv_writer.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import sys
2323
import uuid
2424

25+
from oslo_utils import timeutils
26+
2527
from cloudkitty import json_utils as json
2628

2729

@@ -588,7 +590,7 @@ def main():
588590
generators = [compute, image, volume, net_bw, floating]
589591

590592
# Date
591-
now = datetime.datetime.utcnow()
593+
now = timeutils.utcnow()
592594
hour_delta = datetime.timedelta(hours=1)
593595
cur_date = now.replace(day=1, hour=0, minute=0, second=0, microsecond=0)
594596
cur_month = cur_date.month

devstack/plugin.sh

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ function configure_cloudkitty {
110110
iniset $CLOUDKITTY_CONF oslo_policy policy_file 'policy.yaml'
111111

112112
cp $CLOUDKITTY_DIR$CLOUDKITTY_CONF_DIR/api_paste.ini $CLOUDKITTY_CONF_DIR
113-
cp $CLOUDKITTY_DIR$CLOUDKITTY_CONF_DIR/metrics.yml $CLOUDKITTY_CONF_DIR
113+
cp $CLOUDKITTY_METRICS_CONF $CLOUDKITTY_CONF_DIR
114114
iniset_rpc_backend cloudkitty $CLOUDKITTY_CONF DEFAULT
115115

116116
iniset $CLOUDKITTY_CONF DEFAULT notification_topics 'notifications'
@@ -135,6 +135,10 @@ function configure_cloudkitty {
135135
iniset $CLOUDKITTY_CONF "fetcher_$CLOUDKITTY_FETCHER" auth_section authinfos
136136
if [[ "$CLOUDKITTY_FETCHER" == "keystone" ]]; then
137137
iniset $CLOUDKITTY_CONF fetcher_keystone keystone_version 3
138+
elif [ $CLOUDKITTY_FETCHER == 'prometheus' ]; then
139+
iniset $CLOUDKITTY_CONF "fetcher_prometheus" prometheus_url $CLOUDKITTY_PROMETHEUS_URL
140+
iniset $CLOUDKITTY_CONF "fetcher_prometheus" metric $CLOUDKITTY_FETCHER_METRIC
141+
iniset $CLOUDKITTY_CONF "fetcher_prometheus" scope_attribute $CLOUDKITTY_FETCHER_SCOPE_ATTRIBUTE
138142
fi
139143

140144
if [ "$CLOUDKITTY_STORAGE_BACKEND" == "influxdb" ] && [ "$CLOUDKITTY_INFLUX_VERSION" == 1 ]; then
@@ -166,7 +170,10 @@ function configure_cloudkitty {
166170
# collect
167171
iniset $CLOUDKITTY_CONF collect collector $CLOUDKITTY_COLLECTOR
168172
iniset $CLOUDKITTY_CONF "collector_${CLOUDKITTY_COLLECTOR}" auth_section authinfos
169-
iniset $CLOUDKITTY_CONF collect metrics_conf $CLOUDKITTY_CONF_DIR/$CLOUDKITTY_METRICS_CONF
173+
if [ $CLOUDKITTY_COLLECTOR == 'prometheus' ]; then
174+
iniset $CLOUDKITTY_CONF collector_prometheus prometheus_url $CLOUDKITTY_PROMETHEUS_URL
175+
fi
176+
iniset $CLOUDKITTY_CONF collect metrics_conf $CLOUDKITTY_CONF_DIR/$(basename $CLOUDKITTY_METRICS_CONF)
170177
# DO NOT DO THIS IN PRODUCTION! This is done in order to get data quicker
171178
# when starting a devstack installation, but is NOT a recommended setting
172179
iniset $CLOUDKITTY_CONF collect wait_periods 0

devstack/settings

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,14 @@ CLOUDKITTY_PRICING_TENANT=${CLOUDKITTY_PRICING_TENANT:-"demo"}
4141

4242
# Set CloudKitty fetcher info
4343
CLOUDKITTY_FETCHER=${CLOUDKITTY_FETCHER:-gnocchi}
44+
# Prometheus fetcher related setting
45+
CLOUDKITTY_FETCHER_METRIC=${CLOUDKITTY_FETCHER_METRIC:-openstack_identity_projects_info}
46+
CLOUDKITTY_FETCHER_SCOPE_ATTRIBUTE=${CLOUDKITTY_FETCHER_SCOPE_ATTRIBUTE:-id}
4447

4548
# Set CloudKitty collect info
4649
CLOUDKITTY_COLLECTOR=${CLOUDKITTY_COLLECTOR:-gnocchi}
47-
CLOUDKITTY_METRICS_CONF=metrics.yml
50+
CLOUDKITTY_METRICS_CONF=${CLOUDKITTY_METRICS_CONF:-$CLOUDKITTY_DIR$CLOUDKITTY_CONF_DIR/metrics.yml}
51+
CLOUDKITTY_PROMETHEUS_URL=${CLOUDKITTY_PROMETHEUS_URL:-http://localhost:9090/api/v1}
4852

4953
# Set CloudKitty storage info
5054
CLOUDKITTY_STORAGE_BACKEND=${CLOUDKITTY_STORAGE_BACKEND:-"influxdb"}

0 commit comments

Comments
 (0)