Update DEB-specs to 2013.2 version
authorDmitry Burmistrov <dburmistrov@mirantis.com>
Thu, 26 Sep 2013 08:26:49 +0000 (12:26 +0400)
committerDmitry Burmistrov <dburmistrov@mirantis.com>
Thu, 26 Sep 2013 12:13:54 +0000 (16:13 +0400)
Change-Id: Idc4e903510ad612559a61c777251eeed95c571f8

14 files changed:
debian/ceilometer-collector.install
debian/ceilometer-common.install
debian/changelog
debian/control
debian/copyright
debian/docs
debian/patches/default-dbconnection-sqlite.patch
debian/patches/fix-setup-requirements.patch [new file with mode: 0644]
debian/patches/remove-hbase-support.patch [deleted file]
debian/patches/requests-dep.patch [deleted file]
debian/patches/series
debian/patches/skip-database-tests.patch [new file with mode: 0644]
debian/pydist-overrides
debian/rules

index 9a114b91068a602893df407c2fb0abe67d08f219..ef60911dd23eafb6be6441496afb49bb789e87d3 100644 (file)
@@ -1 +1,2 @@
 usr/bin/ceilometer-collector
+usr/bin/ceilometer-collector-udp
index 9e451fcac34e1d0dd41b31c39dbae4e3ab252d40..a70f296ee9256505e7e3c4454fcc2de0c24b17c8 100644 (file)
@@ -1,6 +1,9 @@
-tools/show_data.py usr/share/doc/ceilometer
 etc/ceilometer/ceilometer.conf etc/ceilometer
+etc/ceilometer/pipeline.yaml etc/ceilometer
 etc/ceilometer/policy.json etc/ceilometer
 etc/ceilometer/sources.json etc/ceilometer
-etc/ceilometer/pipeline.yaml etc/ceilometer
+tools/show_data.py usr/share/doc/ceilometer
+usr/bin/ceilometer-alarm-notifier
+usr/bin/ceilometer-alarm-evaluator
 usr/bin/ceilometer-dbsync
+usr/bin/ceilometer-expirer
index 39611f612566fada092a2d22a6fb9eb63c6cbb48..4b1f421d1ab68d6f4243a3776d09b236e9798265 100644 (file)
@@ -1,8 +1,76 @@
-ceilometer (2013.1-0ubuntu1~cloud0) precise-grizzly; urgency=low
+ceilometer (2013.2~b2-0ubuntu4~cloud0) precise-havana; urgency=low
 
-  * New upstream release for the Ubuntu Cloud Archive. 
+  * New upsream release for the Ubuntu Cloud Archive. 
 
- -- Chuck Short <zulcss@ubuntu.com>  Mon, 08 Apr 2013 07:50:35 -0500
+ -- Chuck Short <zulcss@ubuntu.com>  Sun, 28 Jul 2013 22:01:48 -0400
+
+ceilometer (2013.2~b2-0ubuntu4) saucy; urgency=low
+
+  * debian/patches/skip-database-tests.patch: Refreshed due to precise failures. 
+
+ -- Chuck Short <zulcss@ubuntu.com>  Sun, 28 Jul 2013 21:58:31 -0400
+
+ceilometer (2013.2~b2-0ubuntu3) saucy; urgency=low
+
+  * debian/rules: Enable testsuite.
+  * debian/control: Fix up run time dependencies.
+  * debian/patches/fix-setup-requirements.patch: Refreshed
+  * debian/patches/skip-database-tests.patch: Refreshed
+
+ -- Chuck Short <zulcss@ubuntu.com>  Mon, 22 Jul 2013 15:17:35 -0400
+
+ceilometer (2013.2~b2-0ubuntu2) saucy; urgency=low
+
+  * debian/control: Fix sqlalchemy dependency. 
+
+ -- Chuck Short <zulcss@ubuntu.com>  Fri, 19 Jul 2013 14:51:18 -0400
+
+ceilometer (2013.2~b2-0ubuntu1) saucy; urgency=low
+
+  [ Yolanda Robla ]
+  * debian/patches/default-dbconnection-sqlite.patch: updated db section
+
+  [ Chuck Short ]
+  * New upstream version.
+  * debian/patches/default-dbconnection-sqlite.patch: Refreshed.
+  * debian/control: Bump requirements for stevedore to 0.9.
+  * debian/control: Add python-simplejson
+  * debian/control: Drop python-keystoneclient hardcoded version.
+  * debian/control: Add python-testscenarios as a build depends.
+  * debian/control: Add python-cinderclient as a build depends.
+  * debian/control: Add python-ceilometerclient as a build depends.
+  * debian/control: Add python-alembic as build depends.
+  * debian/control: Add python-oslo.sphinx as build-depends.
+  * debian/control: Update runtime depends.
+  * debian/control: Add python-happybase.
+  * debian/ceilometer-common.install: Add ceilometer-alarm-singleton,
+    ceilometer-alarm-notifier, and ceilometer-expirer.
+  * debian/patches/skip-database-tests.patch: Skip database tests
+    if the database is not installed.
+
+  [ James Page ]
+  * d/control: Update VCS fields for new branch locations.
+
+ -- Chuck Short <zulcss@ubuntu.com>  Fri, 19 Jul 2013 10:04:36 -0400
+
+ceilometer (2013.2~b1-0ubuntu1) saucy; urgency=low
+
+  * New upstream release.
+  * debian/rules: Add fail-missing if binaries are missing 
+    from the packages.
+  * debian/control: Add python-happybase as build-dependencies.
+  * debian/control: Add python-pbr and python-d2to1 as build-dependencies
+  * debian/control: Add python-fixtures as build-dependencies.
+  * debian/control: Add python-nova as build-dependencies.
+  * debian/control: Add python-testtools
+  * debian/control: Add msgpack-python.
+  * debian/patches/requests-dep.patch: Dropped no longer needed.
+  * debian/patches/remove-hbase-support.patch: Dropped no longer neded.
+  * debian/patches/default-dbconnection-sqlite.patch: Refreshed.
+  * debian/rules: Use testr instead of nosetests to run tests.
+  * debian/ceilometer-collector.install: Added usr/bin/ceilometer-collector-udp.
+
+ -- Chuck Short <zulcss@ubuntu.com>  Fri, 31 May 2013 10:29:16 -0500
 
 ceilometer (2013.1-0ubuntu1) raring; urgency=low
 
index 3dc8f6c5a5e917899f335559de6bb4113c497b89..7c71f72aaba34307d11fbec0d2e864d44507cb97 100644 (file)
@@ -3,21 +3,26 @@ Section: python
 Priority: optional
 Maintainer: Chuck Short <zulcss@ubuntu.com>
 Build-Depends:
+ alembic,
  debhelper (>= 8.0.0),
+ msgpack-python,
  python-all (>= 2.6),
- python-nose,
- python-anyjson (>= 0.2.4),
- python-argparse,
+ python-anyjson (>= 0.3.3),
  python-babel (>= 0.9.6),
+ python-ceilometerclient (>= 1.0.1),
+ python-cinderclient,
  python-coverage,
+ python-d2to1,
  python-docutils,
  python-eventlet,
  python-extras,
+ python-fixtures (>= 0.3.12),
  python-flask (>= 0.9),
  python-glanceclient,
+ python-happybase,
  python-iso8601,
- python-keystoneclient (<< 1:0.3),
- python-kombu,
+ python-keystoneclient (>= 0.2),
+ python-kombu (>= 2.4.7),
  python-lockfile,
  python-lxml,
  python-migrate,
@@ -25,26 +30,62 @@ Build-Depends:
  python-mox,
  python-netaddr,
  python-netifaces,
+ python-nova,
  python-novaclient (>= 2.6.10),
- python-oslo.config,
+ python-oslo.config (>= 1:1.2.0a3),
+ python-oslo.sphinx,
+ python-pbr,
  python-pecan (>= 0.2.0),
  python-pymongo (>= 2.2),
- python-requests,
+ python-requests (>= 1.1),
  python-setuptools-git (>= 0.4),
+ python-simplejson,
  python-sphinx,
  python-sqlalchemy,
- python-stevedore (>= 0.6),
+ python-stevedore (>= 0.9),
+ python-subunit,
  python-swift,
  python-swiftclient,
+ python-testscenarios,
+ python-testtools,
  python-unittest2,
  python-webob (>= 1.2),
- python-wsme (>= 0.5b1),
- python-yaml
+ python-wsme (>= 0.5b2),
+ python-yaml,
+ testrepository (>= 0.0.13)
 Standards-Version: 3.9.4
+Vcs-Browser: http://bazaar.launchpad.net/~ubuntu-server-dev/ceilometer/havana/files
+Vcs-Bzr: https://code.launchpad.net/~ubuntu-server-dev/ceilometer/havana
 
 Package: python-ceilometer
 Architecture: all
-Depends: ${misc:Depends}, ${python:Depends}
+Depends:
+ alembic,
+ msgpack-python,
+ python-anyjson,
+ python-ceilometerclient,
+ python-eventlet,
+ python-flask,
+ python-glanceclient,
+ python-happybase,
+ python-iso8601,
+ python-keystoneclient,
+ python-kombu,
+ python-lxml,
+ python-migrate,
+ python-novaclient,
+ python-oslo.config,
+ python-pecan,
+ python-pymongo,
+ python-yaml,
+ python-requests,
+ python-sqlalchemy,
+ python-stevedore,
+ python-swiftclient,
+ python-webob,
+ python-wsme,
+ ${misc:Depends},
+ ${python:Depends}
 Description: ceilometer python libraries
  Ceilometer aims to deliver a unique point of contact for billing systems to
  aquire all counters they need to establish  customer billing, accross all
index e9c1ee7d77e199dfa46cac7bdf47435b76fed6c7..b113394e040f0cd1cef20ea25c7e5922f24486c2 100644 (file)
@@ -4,9 +4,9 @@ Source: https://github.com/stackforge/ceilometer
 
 Files: *
 Copyright: 2012 New Dream Network, LLC (DreamHost)
-           2012 eNovance 
+           2012 eNovance
            2012 Red Hat Inc.
-           2010 United States Government 
+           2010 United States Government
            2011 Cloudscaling Group, Inc
            2011 OpenStack LLC.
            2012 Nicolas Barcet for Canonical
@@ -43,4 +43,3 @@ License: Apache-2
  .
  On Debian-based systems the full text of the Apache version 2.0 license
  can be found in `/usr/share/common-licenses/Apache-2.0'.
-
index b43bf86b50fd8d3529a0dc062c30006ed38f309e..a1320b1b4ab22e9be9bbc9d5777c0e31aa4011d5 100644 (file)
@@ -1 +1 @@
-README.md
+README.rst
index 0c7e007862659bf994d03856a2b898655db5bca1..3e5eef375725877a2aa9c12167cdcc28244544a7 100644 (file)
@@ -1,11 +1,12 @@
---- a/etc/ceilometer/ceilometer.conf.sample
-+++ b/etc/ceilometer/ceilometer.conf.sample
-@@ -262,7 +262,7 @@
- ######## defined in ceilometer.storage ########
--# database_connection=mongodb://localhost:27017/ceilometer
-+database_connection=sqlite:////var/lib/ceilometer/ceilometer.sqlite
- #### (StrOpt) Database connection string
+diff -Naurp ceilometer-2013.2.a76.g1d13c31.orig/etc/ceilometer/ceilometer.conf.sample ceilometer-2013.2.a76.g1d13c31/etc/ceilometer/ceilometer.conf.sample
+--- ceilometer-2013.2.a76.g1d13c31.orig/etc/ceilometer/ceilometer.conf.sample  2013-06-17 07:37:03.000000000 -0500
++++ ceilometer-2013.2.a76.g1d13c31/etc/ceilometer/ceilometer.conf.sample       2013-06-17 07:48:41.024448351 -0500
+@@ -88,7 +88,7 @@
+ #
+ # the filename to use with sqlite (string value)
+-#sqlite_db=ceilometer.sqlite
++sqlite_db=sqlite:////var/lib/ceilometer/ceilometer.sqlite
+ # If true, use synchronous mode for sqlite (boolean value)
+ #sqlite_synchronous=true
diff --git a/debian/patches/fix-setup-requirements.patch b/debian/patches/fix-setup-requirements.patch
new file mode 100644 (file)
index 0000000..2c77665
--- /dev/null
@@ -0,0 +1,8 @@
+diff -Naurp ceilometer-2013.2.b2.orig/requirements.txt ceilometer-2013.2.b2/requirements.txt
+--- ceilometer-2013.2.b2.orig/requirements.txt 2013-07-18 15:34:33.000000000 +0000
++++ ceilometer-2013.2.b2/requirements.txt      2013-07-22 17:46:30.067010706 +0000
+@@ -26,4 +26,3 @@ WSME>=0.5b5
+ PyYAML>=3.1.0
+ -f http://tarballs.openstack.org/oslo.config/oslo.config-1.2.0a3.tar.gz#egg=oslo.config-1.2.0a3
+ oslo.config>=1.2.0a3
+-happybase>=0.4
diff --git a/debian/patches/remove-hbase-support.patch b/debian/patches/remove-hbase-support.patch
deleted file mode 100644 (file)
index e8c98e2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-Description: Drop unpackaged happybase from dependencies
- This avoids breaking stevedore extensions via endpoints.
-Author: James Page <james.page@ubuntu.com>
-Forwarded: not-needed
-
---- a/tools/pip-requires
-+++ b/tools/pip-requires
-@@ -20,4 +20,3 @@ extras
- wsme>=0.5b1
- pyyaml
- oslo.config>=1.1.0
--happybase>=0.4
diff --git a/debian/patches/requests-dep.patch b/debian/patches/requests-dep.patch
deleted file mode 100644 (file)
index 128bafe..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-Description: Remove upper bound on requests
-Author: James Page <james.page@ubuntu.com>
-Forwarded: no
-
---- a/tools/pip-requires
-+++ b/tools/pip-requires
-@@ -15,7 +15,7 @@ python-novaclient>=2.6.10
- python-keystoneclient>=0.2.3
- python-swiftclient
- lxml
--requests<1.0
-+requests
- extras
- wsme>=0.5b1
- pyyaml
index 201075b046bb8e9896efefc1ad0f5e60c060111e..a2a54f0e9eca4c7ad2696dd36325de393c3371d6 100644 (file)
@@ -1,3 +1,3 @@
-remove-hbase-support.patch
-requests-dep.patch
 default-dbconnection-sqlite.patch
+fix-setup-requirements.patch
+#skip-database-tests.patch
diff --git a/debian/patches/skip-database-tests.patch b/debian/patches/skip-database-tests.patch
new file mode 100644 (file)
index 0000000..9633fa8
--- /dev/null
@@ -0,0 +1,340 @@
+diff -Naurp ceilometer-2013.2.b2.orig/ceilometer/tests/db.py ceilometer-2013.2.b2/ceilometer/tests/db.py
+--- ceilometer-2013.2.b2.orig/ceilometer/tests/db.py   2013-07-28 21:53:30.290056699 -0400
++++ ceilometer-2013.2.b2/ceilometer/tests/db.py        2013-07-28 21:53:42.798056996 -0400
+@@ -31,6 +31,9 @@ class TestBase(test_base.TestCase):
+         super(TestBase, self).setUp()
+         cfg.CONF.set_override('connection', self.database_connection,
+                               group='database')
+-        self.conn = storage.get_connection(cfg.CONF)
++        try:
++            self.conn = storage.get_connection(cfg.CONF)
++        except:
++            self.skipTest('Unable to connect to database')
+         self.conn.upgrade()
+         self.conn.clear()
+diff -Naurp ceilometer-2013.2.b2.orig/tests/api/v2/acl.py ceilometer-2013.2.b2/tests/api/v2/acl.py
+--- ceilometer-2013.2.b2.orig/tests/api/v2/acl.py      2013-07-28 21:53:30.282056699 -0400
++++ ceilometer-2013.2.b2/tests/api/v2/acl.py   2013-07-28 21:53:42.798056996 -0400
+@@ -148,60 +148,75 @@ class TestAPIACL(FunctionalTest):
+     #     self.assertEqual(response.status_int, 401)
+     def test_authenticated(self):
+-        data = self.get_json('/meters',
+-                             headers={"X-Auth-Token": VALID_TOKEN,
+-                                      "X-Roles": "admin",
+-                                      "X-Tenant-Name": "admin",
+-                                      "X-Tenant-Id":
+-                                      "bc23a9d531064583ace8f67dad60f6bb",
+-                                      })
++        try:
++            data = self.get_json('/meters',
++                                 headers={"X-Auth-Token": VALID_TOKEN,
++                                          "X-Roles": "admin",
++                                          "X-Tenant-Name": "admin",
++                                          "X-Tenant-Id":
++                                          "bc23a9d531064583ace8f67dad60f6bb",
++                                          })
++        except:
++            self.skipTest('Skipped by Ubuntu')
+         ids = set(r['resource_id'] for r in data)
+         self.assertEquals(set(['resource-good', 'resource-56']), ids)
+     def test_with_non_admin_missing_project_query(self):
+-        data = self.get_json('/meters',
+-                             headers={"X-Roles": "Member",
+-                                      "X-Auth-Token": VALID_TOKEN2,
+-                                      "X-Tenant-Id": "project-good"})
++        try:
++            data = self.get_json('/meters',
++                                 headers={"X-Roles": "Member",
++                                          "X-Auth-Token": VALID_TOKEN2,
++                                          "X-Tenant-Id": "project-good"})
++        except:
++            self.skipTest('Skipped by Ubuntu')
+         ids = set(r['resource_id'] for r in data)
+         self.assertEquals(set(['resource-good', 'resource-56']), ids)
+     def test_with_non_admin(self):
+-        data = self.get_json('/meters',
+-                             headers={"X-Roles": "Member",
+-                                      "X-Auth-Token": VALID_TOKEN2,
+-                                      "X-Tenant-Id": "project-good"},
+-                             q=[{'field': 'project_id',
+-                                 'value': 'project-good',
+-                                 }])
++        try:
++            data = self.get_json('/meters',
++                                 headers={"X-Roles": "Member",
++                                          "X-Auth-Token": VALID_TOKEN2,
++                                          "X-Tenant-Id": "project-good"},
++                                 q=[{'field': 'project_id',
++                                     'value': 'project-good',
++                                     }])
++        except:
++            self.skipTest('Skipped by Ubuntu')
+         ids = set(r['resource_id'] for r in data)
+         self.assertEquals(set(['resource-good', 'resource-56']), ids)
+     def test_non_admin_wrong_project(self):
+-        data = self.get_json('/meters',
+-                             expect_errors=True,
+-                             headers={"X-Roles": "Member",
+-                                      "X-Auth-Token": VALID_TOKEN2,
+-                                      "X-Tenant-Id": "project-good"},
+-                             q=[{'field': 'project_id',
+-                                 'value': 'project-wrong',
+-                                 }])
++        try:
++            data = self.get_json('/meters',
++                                 expect_errors=True,
++                                 headers={"X-Roles": "Member",
++                                          "X-Auth-Token": VALID_TOKEN2,
++                                          "X-Tenant-Id": "project-good"},
++                                 q=[{'field': 'project_id',
++                                     'value': 'project-wrong',
++                                     }])
+         #TODO(asalkeld) revert this with wsme-0.5b3+
+ #        self.assertEqual(data.status_int, 401)
+-        self.assertEqual(data.status_int, 400)
++            self.assertEqual(data.status_int, 400)
++        except:
++            self.skipTest('Skipped by Ubuntu')
+     def test_non_admin_two_projects(self):
+-        data = self.get_json('/meters',
+-                             expect_errors=True,
+-                             headers={"X-Roles": "Member",
+-                                      "X-Auth-Token": VALID_TOKEN2,
+-                                      "X-Tenant-Id": "project-good"},
+-                             q=[{'field': 'project_id',
+-                                 'value': 'project-good',
+-                                 },
+-                                {'field': 'project_id',
+-                                 'value': 'project-naughty',
+-                                 }])
++        try:
++            data = self.get_json('/meters',
++                                 expect_errors=True,
++                                 headers={"X-Roles": "Member",
++                                          "X-Auth-Token": VALID_TOKEN2,
++                                          "X-Tenant-Id": "project-good"},
++                                 q=[{'field': 'project_id',
++                                     'value': 'project-good',
++                                    },
++                                    {'field': 'project_id',
++                                    'value': 'project-naughty',
++                                    }])
+         #TODO(asalkeld) revert this with wsme-0.5b3+
+ #        self.assertEqual(data.status_int, 401)
+-        self.assertEqual(data.status_int, 400)
++            self.assertEqual(data.status_int, 400)
++        except:
++            self.skipTest('Skipped by Ubuntu')
+diff -Naurp ceilometer-2013.2.b2.orig/tests/api/v2/alarm.py ceilometer-2013.2.b2/tests/api/v2/alarm.py
+--- ceilometer-2013.2.b2.orig/tests/api/v2/alarm.py    2013-07-28 21:53:30.282056699 -0400
++++ ceilometer-2013.2.b2/tests/api/v2/alarm.py 2013-07-28 21:56:26.934060898 -0400
+@@ -97,9 +97,12 @@ class TestAlarms(FunctionalTest):
+             'threshold': 2.0,
+             'statistic': 'magic',
+         }
+-        self.post_json('/alarms', params=json, expect_errors=True, status=400,
+-                       headers=self.auth_headers)
+-        alarms = list(self.conn.get_alarms())
++        try:
++           self.post_json('/alarms', params=json, expect_errors=True, status=400,
++                         headers=self.auth_headers)
++           alarms = list(self.conn.get_alarms())
++        except:
++           self.skipTest('skipped by ubuntu')
+         self.assertEquals(3, len(alarms))
+     def test_post_alarm(self):
+diff -Naurp ceilometer-2013.2.b2.orig/tests/api/v2/list_events.py ceilometer-2013.2.b2/tests/api/v2/list_events.py
+--- ceilometer-2013.2.b2.orig/tests/api/v2/list_events.py      2013-07-28 21:53:30.282056699 -0400
++++ ceilometer-2013.2.b2/tests/api/v2/list_events.py   2013-07-28 21:56:26.934060898 -0400
+@@ -87,9 +87,12 @@ class TestListEvents(FunctionalTest):
+         self.assertEquals(1, len(data))
+     def test_all_limit_negative(self):
+-        self.assertRaises(webtest.app.AppError,
+-                          self.get_json,
+-                          '/meters/instance?limit=-2')
++      try:
++           self.assertRaises(webtest.app.AppError,
++                            self.get_json,
++                           '/meters/instance?limit=-2')
++        except:
++            self.skipTest('skipped by ubuntu')
+     def test_all_limit_bigger(self):
+         data = self.get_json('/meters/instance?limit=42')
+diff -Naurp ceilometer-2013.2.b2.orig/tests/api/v2/list_resources.py ceilometer-2013.2.b2/tests/api/v2/list_resources.py
+--- ceilometer-2013.2.b2.orig/tests/api/v2/list_resources.py   2013-07-28 21:53:30.282056699 -0400
++++ ceilometer-2013.2.b2/tests/api/v2/list_resources.py        2013-07-28 21:56:26.934060898 -0400
+@@ -243,8 +243,11 @@ class TestListResources(FunctionalTest):
+         resp2 = self.get_json('/resources/resource-id-2')
+         self.assertEquals(resp2["resource_id"], "resource-id-2")
+-        resp3 = self.get_json('/resources/resource-id-3', expect_errors=True)
+-        self.assertEquals(resp3.status_code, 400)
++        try:
++           resp3 = self.get_json('/resources/resource-id-3', expect_errors=True)
++           self.assertEquals(resp3.status_code, 400)
++        except:
++           self.skipTest('Skipped by Ubuntu')
+     def test_with_user(self):
+         counter1 = counter.Counter(
+diff -Naurp ceilometer-2013.2.b2.orig/tests/api/v2/post_samples.py ceilometer-2013.2.b2/tests/api/v2/post_samples.py
+--- ceilometer-2013.2.b2.orig/tests/api/v2/post_samples.py     2013-07-28 21:53:30.282056699 -0400
++++ ceilometer-2013.2.b2/tests/api/v2/post_samples.py  2013-07-28 21:56:26.934060898 -0400
+@@ -73,16 +73,18 @@ class TestPostSamples(FunctionalTest):
+                'resource_metadata': {'name1': 'value1',
+                                      'name2': 'value2'}}]
+-        data = self.post_json('/meters/my_counter_name/', s1,
+-                              expect_errors=True,
+-                              headers={
++        try:
++           data = self.post_json('/meters/my_counter_name/', s1,
++                                expect_errors=True,
++                                headers={
+                                   "X-Roles": "Member",
+                                   "X-Tenant-Name": "lu-tenant",
+                                   "X-Tenant-Id":
+                                   "bc23a9d531064583ace8f67dad60f6bb",
+-                              })
+-
+-        self.assertEquals(data.status_int, 400)
++                                })
++           self.assertEquals(data.status_int, 400)
++        except:
++           self.skipTest('skipped by ubuntu')
+     def test_multiple_samples(self):
+         """Send multiple samples.
+@@ -142,8 +144,11 @@ class TestPostSamples(FunctionalTest):
+             s_broke = copy.copy(s1)
+             del s_broke[0][m]
+             print('posting without %s' % m)
+-            data = self.post_json('/meters/my_counter_name/', s_broke,
+-                                  expect_errors=True)
++          try:
++                data = self.post_json('/meters/my_counter_name/', s_broke,
++                                     expect_errors=True)
++            except:
++                 self.skipTest('skipped by ubuntu')
+             self.assertEquals(data.status_int, 400)
+     def test_multiple_sources(self):
+@@ -167,8 +172,11 @@ class TestPostSamples(FunctionalTest):
+                'resource_id': 'bd9431c1-8d69-4ad3-803a-8d4a6b89fd36',
+                'resource_metadata': {'name1': 'value1',
+                                      'name2': 'value2'}}]
+-        data = self.post_json('/meters/my_counter_name/', s1,
+-                              expect_errors=True)
++      try:
++           data = self.post_json('/meters/my_counter_name/', s1,
++                             expect_errors=True)
++        except:
++            self.skipTest('skipped by Ubuntu')
+         self.assertEquals(data.status_int, 400)
+     def test_multiple_samples_some_null_sources(self):
+diff -Naurp ceilometer-2013.2.b2.orig/tests/api/v2/test_app.py ceilometer-2013.2.b2/tests/api/v2/test_app.py
+--- ceilometer-2013.2.b2.orig/tests/api/v2/test_app.py 2013-07-28 21:53:30.282056699 -0400
++++ ceilometer-2013.2.b2/tests/api/v2/test_app.py      2013-07-28 21:53:42.798056996 -0400
+@@ -40,7 +40,10 @@ class TestApp(base.TestCase):
+         cfg.CONF.set_override("auth_version", "v2.0", group=acl.OPT_GROUP_NAME)
+         cfg.CONF.set_override("pipeline_cfg_file",
+                               self.path_get("etc/ceilometer/pipeline.yaml"))
+-        api_app = app.setup_app()
++        try:
++            api_app = app.setup_app()
++        except:
++            self.skipTest('Disabled on ubuntu buildds')
+         self.assertEqual(api_app.auth_protocol, 'foottp')
+     def test_keystone_middleware_parse_conffile(self):
+diff -Naurp ceilometer-2013.2.b2.orig/tests/collector/test_service.py ceilometer-2013.2.b2/tests/collector/test_service.py
+--- ceilometer-2013.2.b2.orig/tests/collector/test_service.py  2013-07-28 21:53:30.282056699 -0400
++++ ceilometer-2013.2.b2/tests/collector/test_service.py       2013-07-28 21:56:26.934060898 -0400
+@@ -332,9 +332,12 @@ class TestCollectorService(TestCollector
+         modified = now + datetime.timedelta(minutes=1)
+         timeutils.set_time_override(now)
+-        body = {"timestamp": str(modified)}
+-        self.assertEquals(service.CollectorService._extract_when(body),
+-                          modified)
++        try:
++          body = {"timestamp": str(modified)}
++          self.assertEquals(service.CollectorService._extract_when(body),
++                            modified)
++        except:
++            self.skipTest('skipped by ubuntu')
+         body = {"_context_timestamp": str(modified)}
+         self.assertEquals(service.CollectorService._extract_when(body),
+diff -Naurp ceilometer-2013.2.b2.orig/tests/test_bin.py ceilometer-2013.2.b2/tests/test_bin.py
+--- ceilometer-2013.2.b2.orig/tests/test_bin.py        2013-07-28 21:53:30.278056699 -0400
++++ ceilometer-2013.2.b2/tests/test_bin.py     2013-07-28 21:53:42.802056996 -0400
+@@ -36,13 +36,19 @@ class BinTestCase(base.TestCase):
+             tmp.write("connection=log://localhost\n")
+     def test_dbsync_run(self):
+-        subp = subprocess.Popen(['ceilometer-dbsync',
+-                                 "--config-file=%s" % self.tempfile])
++        try:
++            subp = subprocess.Popen(['ceilometer-dbsync',
++                                     "--config-file=%s" % self.tempfile])
++        except:
++            self.skipTest('Skipped by Ubuntu')
+         self.assertEqual(subp.wait(), 0)
+     def test_run_expirer(self):
+-        subp = subprocess.Popen(['ceilometer-expirer',
+-                                 "--config-file=%s" % self.tempfile])
++        try:
++            subp = subprocess.Popen(['ceilometer-expirer',
++                                     "--config-file=%s" % self.tempfile])
++        except:
++            self.skipTest('Skipped by Ubuntu')
+         self.assertEqual(subp.wait(), 0)
+@@ -59,11 +65,14 @@ class BinSendCounterTestCase(base.TestCa
+                 "pipeline_cfg_file=%s\n" % pipeline_cfg_file)
+     def test_send_counter_run(self):
+-        subp = subprocess.Popen([self.path_get('bin/ceilometer-send-counter'),
+-                                 "--config-file=%s" % self.tempfile,
+-                                 "--counter-resource=someuuid",
+-                                 "--counter-name=mycounter"])
+-        self.assertEqual(subp.wait(), 0)
++        try:
++            subp = subprocess.Popen([self.path_get('bin/ceilometer-send-counter'),
++                                    "--config-file=%s" % self.tempfile,
++                                    "--counter-resource=someuuid",
++                                    "--counter-name=mycounter"])
++                  self.assertEqual(subp.wait(), 0)
++        except:
++            self.skipTest('Skipped by Ubuntu')
+ class BinApiTestCase(base.TestCase):
+@@ -92,9 +101,12 @@ class BinApiTestCase(base.TestCase):
+                 "port=%s\n" % self.api_port)
+             tmp.write("[database]\n")
+             tmp.write("connection=log://localhost\n")
+-        self.subp = subprocess.Popen(['ceilometer-api',
+-                                      "--config-file=%s" % self.tempfile])
+-
++        try:
++            self.subp = subprocess.Popen(['ceilometer-api',
++                                          "--config-file=%s" % self.tempfile])
++        except:
++            self.skipTest('Skipped by Ubuntu')
++    
+     def tearDown(self):
+         super(BinApiTestCase, self).tearDown()
+         self.subp.kill()
index 796952664e4aaa26423a4003fbc67414715e3adb..14ce6f5f5cdcccad45398ac2c7ae1abe379400e2 100644 (file)
@@ -1 +1,2 @@
 pymongo python-pymongo
+happybase
index 789ab93f633d5f9e4c3ad4883f7285ab862929cc..a44d7e1693f3769a53842561d162a8b7ba388920 100755 (executable)
@@ -13,15 +13,14 @@ get-orig-source:
 
 ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
 override_dh_auto_test:
-       mkdir -p ${HOME}
-       PYTHONPATH=$(CURDIR) nosetests || true
+       testr init && testr run
 endif
 
 override_dh_install:
        cp etc/ceilometer/ceilometer.conf.sample etc/ceilometer/ceilometer.conf
-       dh_install
+       dh_install --fail-missing
 
 override_dh_auto_clean:
        rm -f etc/ceilometer/ceilometer.conf
-       rm -f ${HOME}
+       rm -rf .testrepository
        dh_auto_clean