summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openstack/recipes-devtools/python')
-rw-r--r--meta-openstack/recipes-devtools/python/python-ceilometer/0001-sqlalchemy-fix-grouping-for-postgresql-databases.patch41
-rw-r--r--meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer-builtin-tests-config-location.patch111
-rw-r--r--meta-openstack/recipes-devtools/python/python-ceilometer_git.bb8
3 files changed, 54 insertions, 106 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-ceilometer/0001-sqlalchemy-fix-grouping-for-postgresql-databases.patch b/meta-openstack/recipes-devtools/python/python-ceilometer/0001-sqlalchemy-fix-grouping-for-postgresql-databases.patch
deleted file mode 100644
index 4472ad0..0000000
--- a/meta-openstack/recipes-devtools/python/python-ceilometer/0001-sqlalchemy-fix-grouping-for-postgresql-databases.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From d64999f1eba3db1444f36214bf4be7b8eaffdcb1 Mon Sep 17 00:00:00 2001
2From: Bruce Ashfield <bruce.ashfield@windriver.com>
3Date: Mon, 7 Apr 2014 16:24:18 -0400
4Subject: [PATCH] sqlalchemy: fix grouping for postgresql databases
5
6To avoid horizon errors, and avoid the following query issue:
7
8 ProgrammingError: (ProgrammingError) column "meter.unit" must appear in the GROUP BY clause or be used in an aggregate function
9
10We need to add meter.unit as an explicit group_by attribute
11
12Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
13---
14 ceilometer/storage/impl_sqlalchemy.py | 10 ++++++++--
15 1 file changed, 8 insertions(+), 2 deletions(-)
16
17diff --git a/ceilometer/storage/impl_sqlalchemy.py b/ceilometer/storage/impl_sqlalchemy.py
18index 0e5df7008c5e..697f51136c37 100644
19--- a/ceilometer/storage/impl_sqlalchemy.py
20+++ b/ceilometer/storage/impl_sqlalchemy.py
21@@ -674,8 +674,15 @@ class Connection(base.Connection):
22 group_attributes = [getattr(models.Sample, g) for g in groupby]
23 select.extend(group_attributes)
24
25- query = session.query(*select).filter(
26- models.Meter.id == models.Sample.meter_id)
27+ # Group by Meter.unit for postgresql queries
28+ # In mysql this doesn't change anything because one meter has one unit
29+
30+ # mysql:
31+ # query = session.query(*select).filter(
32+ # models.Meter.id == models.Sample.meter_id)
33+ # postgres:
34+ query = session.query(*select).filter(
35+ models.Meter.id == models.Sample.meter_id).group_by(models.Meter.unit)
36
37 if groupby:
38 query = query.group_by(*group_attributes)
39--
401.7.10.4
41
diff --git a/meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer-builtin-tests-config-location.patch b/meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer-builtin-tests-config-location.patch
index e945735..abb435e 100644
--- a/meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer-builtin-tests-config-location.patch
+++ b/meta-openstack/recipes-devtools/python/python-ceilometer/ceilometer-builtin-tests-config-location.patch
@@ -8,11 +8,11 @@ these configuration file using absolute path.
8 8
9Signed-off-by: Vu Tran <vu.tran@windriver.com> 9Signed-off-by: Vu Tran <vu.tran@windriver.com>
10 10
11diff --git a/ceilometer/tests/agentbase.py b/ceilometer/tests/agentbase.py 11Index: git/ceilometer/tests/agentbase.py
12index 4784037..43b9d6c 100644 12===================================================================
13--- a/ceilometer/tests/agentbase.py 13--- git.orig/ceilometer/tests/agentbase.py
14+++ b/ceilometer/tests/agentbase.py 14+++ git/ceilometer/tests/agentbase.py
15@@ -236,7 +236,7 @@ class BaseAgentManagerTestCase(base.BaseTestCase): 15@@ -234,7 +234,7 @@
16 self.CONF = self.useFixture(config.Config()).conf 16 self.CONF = self.useFixture(config.Config()).conf
17 self.CONF.set_override( 17 self.CONF.set_override(
18 'pipeline_cfg_file', 18 'pipeline_cfg_file',
@@ -21,33 +21,24 @@ index 4784037..43b9d6c 100644
21 ) 21 )
22 self.useFixture(mockpatch.PatchObject( 22 self.useFixture(mockpatch.PatchObject(
23 publisher, 'get_publisher', side_effect=self.get_publisher)) 23 publisher, 'get_publisher', side_effect=self.get_publisher))
24diff --git a/ceilometer/tests/api/__init__.py b/ceilometer/tests/api/__init__.py 24Index: git/ceilometer/tests/api/__init__.py
25index eee701a..06c1ee4 100644 25===================================================================
26--- a/ceilometer/tests/api/__init__.py 26--- git.orig/ceilometer/tests/api/__init__.py
27+++ b/ceilometer/tests/api/__init__.py 27+++ git/ceilometer/tests/api/__init__.py
28@@ -41,7 +41,7 @@ class TestBase(db_test_base.TestBase): 28@@ -46,7 +46,7 @@
29 self.CONF.set_override("auth_version",
30 "v2.0", group=acl.OPT_GROUP_NAME)
31 self.CONF.set_override("policy_file",
32- self.path_get('etc/ceilometer/policy.json'))
33+ self.path_get('/etc/ceilometer/policy.json'))
34 sources_file = self.path_get('ceilometer/tests/sources.json')
35 self.app = v1_app.make_app(self.CONF,
36 enable_acl=False,
37@@ -87,7 +87,7 @@ class FunctionalTest(db_test_base.TestBase):
38 self.CONF.set_override("auth_version", "v2.0", 29 self.CONF.set_override("auth_version", "v2.0",
39 group=acl.OPT_GROUP_NAME) 30 group=OPT_GROUP_NAME)
40 self.CONF.set_override("policy_file", 31 self.CONF.set_override("policy_file",
41- self.path_get('etc/ceilometer/policy.json')) 32- self.path_get('etc/ceilometer/policy.json'))
42+ self.path_get('/etc/ceilometer/policy.json')) 33+ self.path_get('/etc/ceilometer/policy.json'))
43 self.app = self._make_app() 34 self.app = self._make_app()
44 35
45 def _make_app(self, enable_acl=False): 36 def _make_app(self, enable_acl=False):
46diff --git a/ceilometer/tests/api/v2/test_app.py b/ceilometer/tests/api/v2/test_app.py 37Index: git/ceilometer/tests/api/v2/test_app.py
47index d6982b7..0b3ebcf 100644 38===================================================================
48--- a/ceilometer/tests/api/v2/test_app.py 39--- git.orig/ceilometer/tests/api/v2/test_app.py
49+++ b/ceilometer/tests/api/v2/test_app.py 40+++ git/ceilometer/tests/api/v2/test_app.py
50@@ -47,7 +47,7 @@ class TestApp(base.BaseTestCase): 41@@ -45,7 +45,7 @@
51 self.CONF.set_override("auth_version", "v2.0", 42 self.CONF.set_override("auth_version", "v2.0",
52 group=acl.OPT_GROUP_NAME) 43 group=acl.OPT_GROUP_NAME)
53 self.CONF.set_override("pipeline_cfg_file", 44 self.CONF.set_override("pipeline_cfg_file",
@@ -55,22 +46,22 @@ index d6982b7..0b3ebcf 100644
55+ self.path_get("/etc/ceilometer/pipeline.yaml")) 46+ self.path_get("/etc/ceilometer/pipeline.yaml"))
56 self.CONF.set_override('connection', "log://", group="database") 47 self.CONF.set_override('connection', "log://", group="database")
57 self.CONF.set_override("auth_uri", None, group=acl.OPT_GROUP_NAME) 48 self.CONF.set_override("auth_uri", None, group=acl.OPT_GROUP_NAME)
58 49 file_name = self.path_get('etc/ceilometer/api_paste.ini')
59@@ -55,7 +55,7 @@ class TestApp(base.BaseTestCase): 50@@ -55,7 +55,7 @@
60 self.assertTrue(api_app.auth_uri.startswith('foottp')) 51 self.assertTrue(api_app.auth_uri.startswith('file'))
61 52
62 def test_keystone_middleware_parse_conffile(self): 53 def test_keystone_middleware_parse_conffile(self):
63- pipeline_conf = self.path_get("etc/ceilometer/pipeline.yaml") 54- pipeline_conf = self.path_get("etc/ceilometer/pipeline.yaml")
64+ pipeline_conf = self.path_get("/etc/ceilometer/pipeline.yaml") 55+ pipeline_conf = self.path_get("/etc/ceilometer/pipeline.yaml")
65 content = "[DEFAULT]\n"\ 56 api_conf = self.path_get('etc/ceilometer/api_paste.ini')
66 "pipeline_cfg_file = {0}\n"\ 57 content = ("[DEFAULT]\n"
67 "[{1}]\n"\ 58 "rpc_backend = fake\n"
68diff --git a/ceilometer/tests/db.py b/ceilometer/tests/db.py 59Index: git/ceilometer/tests/db.py
69index d0e0e73..293e022 100644 60===================================================================
70--- a/ceilometer/tests/db.py 61--- git.orig/ceilometer/tests/db.py
71+++ b/ceilometer/tests/db.py 62+++ git/ceilometer/tests/db.py
72@@ -62,7 +62,7 @@ class TestBase(test_base.BaseTestCase): 63@@ -137,7 +137,7 @@
73 # the system. 64 self.CONF.import_opt('pipeline_cfg_file', 'ceilometer.pipeline')
74 self.CONF.set_override( 65 self.CONF.set_override(
75 'pipeline_cfg_file', 66 'pipeline_cfg_file',
76- self.path_get('etc/ceilometer/pipeline.yaml') 67- self.path_get('etc/ceilometer/pipeline.yaml')
@@ -78,35 +69,35 @@ index d0e0e73..293e022 100644
78 ) 69 )
79 70
80 def tearDown(self): 71 def tearDown(self):
81diff --git a/ceilometer/tests/test_bin.py b/ceilometer/tests/test_bin.py 72Index: git/ceilometer/tests/test_bin.py
82index 0b9a556..649d603 100644 73===================================================================
83--- a/ceilometer/tests/test_bin.py 74--- git.orig/ceilometer/tests/test_bin.py
84+++ b/ceilometer/tests/test_bin.py 75+++ git/ceilometer/tests/test_bin.py
85@@ -76,7 +76,7 @@ class BinTestCase(base.BaseTestCase): 76@@ -79,7 +79,7 @@
86 class BinSendSampleTestCase(base.BaseTestCase): 77 class BinSendSampleTestCase(base.BaseTestCase):
87 def setUp(self): 78 def setUp(self):
88 super(BinSendSampleTestCase, self).setUp() 79 super(BinSendSampleTestCase, self).setUp()
89- pipeline_cfg_file = self.path_get('etc/ceilometer/pipeline.yaml') 80- pipeline_cfg_file = self.path_get('etc/ceilometer/pipeline.yaml')
90+ pipeline_cfg_file = self.path_get('/etc/ceilometer/pipeline.yaml') 81+ pipeline_cfg_file = self.path_get('/etc/ceilometer/pipeline.yaml')
91 content = "[DEFAULT]\n"\ 82 content = ("[DEFAULT]\n"
92 "rpc_backend=ceilometer.openstack.common.rpc.impl_fake\n"\ 83 "rpc_backend=fake\n"
93 "pipeline_cfg_file={0}\n".format(pipeline_cfg_file) 84 "pipeline_cfg_file={0}\n".format(pipeline_cfg_file))
94@@ -103,8 +103,8 @@ class BinApiTestCase(base.BaseTestCase): 85@@ -116,8 +116,8 @@
95 super(BinApiTestCase, self).setUp() 86 # create ceilometer.conf file
96 self.api_port = random.randint(10000, 11000) 87 self.api_port = random.randint(10000, 11000)
97 self.http = httplib2.Http() 88 self.http = httplib2.Http()
98- pipeline_cfg_file = self.path_get('etc/ceilometer/pipeline.yaml') 89- pipeline_cfg_file = self.path_get('etc/ceilometer/pipeline.yaml')
99- policy_file = self.path_get('etc/ceilometer/policy.json') 90- policy_file = self.path_get('etc/ceilometer/policy.json')
100+ pipeline_cfg_file = self.path_get('/etc/ceilometer/pipeline.yaml') 91+ pipeline_cfg_file = self.path_get('/etc/ceilometer/pipeline.yaml')
101+ policy_file = self.path_get('/etc/ceilometer/policy.json') 92+ policy_file = self.path_get('/etc/ceilometer/policy.json')
102 content = "[DEFAULT]\n"\ 93 content = ("[DEFAULT]\n"
103 "rpc_backend=ceilometer.openstack.common.rpc.impl_fake\n"\ 94 "rpc_backend=fake\n"
104 "auth_strategy=noauth\n"\ 95 "auth_strategy=noauth\n"
105diff --git a/ceilometer/tests/test_decoupled_pipeline.py b/ceilometer/tests/test_decoupled_pipeline.py 96Index: git/ceilometer/tests/test_decoupled_pipeline.py
106index 293adb3..33c0397 100644 97===================================================================
107--- a/ceilometer/tests/test_decoupled_pipeline.py 98--- git.orig/ceilometer/tests/test_decoupled_pipeline.py
108+++ b/ceilometer/tests/test_decoupled_pipeline.py 99+++ git/ceilometer/tests/test_decoupled_pipeline.py
109@@ -210,7 +210,7 @@ class TestDecoupledPipeline(pipeline_base.BasePipelineTestCase): 100@@ -209,7 +209,7 @@
110 101
111 def _do_test_rate_of_change_in_boilerplate_pipeline_cfg(self, index, 102 def _do_test_rate_of_change_in_boilerplate_pipeline_cfg(self, index,
112 meters, units): 103 meters, units):
@@ -115,11 +106,11 @@ index 293adb3..33c0397 100644
115 data = fap.read() 106 data = fap.read()
116 pipeline_cfg = yaml.safe_load(data) 107 pipeline_cfg = yaml.safe_load(data)
117 for s in pipeline_cfg['sinks']: 108 for s in pipeline_cfg['sinks']:
118diff --git a/ceilometer/tests/test_deprecated_pipeline.py b/ceilometer/tests/test_deprecated_pipeline.py 109Index: git/ceilometer/tests/test_deprecated_pipeline.py
119index 606dcad..bbd15b4 100644 110===================================================================
120--- a/ceilometer/tests/test_deprecated_pipeline.py 111--- git.orig/ceilometer/tests/test_deprecated_pipeline.py
121+++ b/ceilometer/tests/test_deprecated_pipeline.py 112+++ git/ceilometer/tests/test_deprecated_pipeline.py
122@@ -76,7 +76,7 @@ class TestDeprecatedPipeline(pipeline_base.BasePipelineTestCase): 113@@ -75,7 +75,7 @@
123 114
124 def _do_test_rate_of_change_in_boilerplate_pipeline_cfg(self, index, 115 def _do_test_rate_of_change_in_boilerplate_pipeline_cfg(self, index,
125 meters, units): 116 meters, units):
diff --git a/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb b/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb
index afa905c..4c94300 100644
--- a/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb
+++ b/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb
@@ -7,17 +7,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
7PR = "r0" 7PR = "r0"
8SRCNAME = "ceilometer" 8SRCNAME = "ceilometer"
9 9
10SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/icehouse \ 10SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=master \
11 file://ceilometer.conf \ 11 file://ceilometer.conf \
12 file://ceilometer.init \ 12 file://ceilometer.init \
13 file://0001-sqlalchemy-fix-grouping-for-postgresql-databases.patch \
14 file://fix_ceilometer_memory_leak.patch \ 13 file://fix_ceilometer_memory_leak.patch \
15 file://ceilometer-builtin-tests-config-location.patch \ 14 file://ceilometer-builtin-tests-config-location.patch \
16 file://skip-failed-unsupported-db-ceilometer-builtin-tests.patch \
17" 15"
18 16
19SRCREV="c8733b2bc1301bc8dd5119a630d855ace1c747bf" 17SRCREV="d4baab8a135b88ccb673b8e6dd35386786b52281"
20PV="2014.1+git${SRCPV}" 18PV="2014.2.b1+git${SRCPV}"
21S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
22 20
23CEILOMETER_SECRET ?= "12121212" 21CEILOMETER_SECRET ?= "12121212"