Revision a5877534
b/Makefile.am | ||
---|---|---|
778 | 778 |
qa/qa_instance.py \ |
779 | 779 |
qa/qa_instance_utils.py \ |
780 | 780 |
qa/qa_job.py \ |
781 |
qa/qa_monitoring.py \ |
|
781 | 782 |
qa/qa_node.py \ |
782 | 783 |
qa/qa_os.py \ |
783 | 784 |
qa/qa_rapi.py \ |
b/qa/ganeti-qa.py | ||
---|---|---|
38 | 38 |
import qa_error |
39 | 39 |
import qa_group |
40 | 40 |
import qa_instance |
41 |
import qa_monitoring |
|
41 | 42 |
import qa_network |
42 | 43 |
import qa_node |
43 | 44 |
import qa_os |
... | ... | |
687 | 688 |
qa_cluster.AssertClusterVerify() |
688 | 689 |
|
689 | 690 |
|
691 |
def RunMonitoringTests(): |
|
692 |
if qa_config.TestEnabled("mon-collector"): |
|
693 |
RunTest(qa_monitoring.TestInstStatusCollector) |
|
694 |
|
|
695 |
|
|
690 | 696 |
def RunQa(): |
691 | 697 |
"""Main QA body. |
692 | 698 |
|
... | ... | |
809 | 815 |
snode.Release() |
810 | 816 |
qa_cluster.AssertClusterVerify() |
811 | 817 |
|
818 |
RunMonitoringTests() |
|
819 |
|
|
812 | 820 |
RunTestIf("create-cluster", qa_node.TestNodeRemoveAll) |
813 | 821 |
|
814 | 822 |
RunTestIf("cluster-destroy", qa_cluster.TestClusterDestroy) |
b/qa/qa-sample.json | ||
---|---|---|
228 | 228 |
|
229 | 229 |
"# Run instance tests with different cluster configurations": null, |
230 | 230 |
"default-instance-tests": true, |
231 |
"exclusive-storage-instance-tests": false |
|
231 |
"exclusive-storage-instance-tests": false, |
|
232 |
|
|
233 |
"mon-collector": true |
|
232 | 234 |
}, |
233 | 235 |
|
234 | 236 |
"options": { |
b/qa/qa_monitoring.py | ||
---|---|---|
1 |
# |
|
2 |
# |
|
3 |
|
|
4 |
# Copyright (C) 2007, 2011, 2012, 2013 Google Inc. |
|
5 |
# |
|
6 |
# This program is free software; you can redistribute it and/or modify |
|
7 |
# it under the terms of the GNU General Public License as published by |
|
8 |
# the Free Software Foundation; either version 2 of the License, or |
|
9 |
# (at your option) any later version. |
|
10 |
# |
|
11 |
# This program is distributed in the hope that it will be useful, but |
|
12 |
# WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
14 |
# General Public License for more details. |
|
15 |
# |
|
16 |
# You should have received a copy of the GNU General Public License |
|
17 |
# along with this program; if not, write to the Free Software |
|
18 |
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
|
19 |
# 02110-1301, USA. |
|
20 |
|
|
21 |
|
|
22 |
"""Monitoring related QA tests. |
|
23 |
|
|
24 |
""" |
|
25 |
|
|
26 |
from ganeti import _autoconf |
|
27 |
|
|
28 |
import qa_config |
|
29 |
|
|
30 |
from qa_utils import AssertCommand |
|
31 |
from qa_instance_utils import CreateInstanceByDiskTemplate, \ |
|
32 |
RemoveInstance |
|
33 |
|
|
34 |
MON_COLLECTOR = _autoconf.PKGLIBDIR + "/mon-collector" |
|
35 |
|
|
36 |
|
|
37 |
def TestInstStatusCollector(): |
|
38 |
"""Test the Xen instance status collector. |
|
39 |
|
|
40 |
""" |
|
41 |
# Execute on master on an empty cluster |
|
42 |
AssertCommand([MON_COLLECTOR, "inst-status-xen"]) |
|
43 |
|
|
44 |
#Execute on cluster with instances |
|
45 |
node1 = qa_config.AcquireNode() |
|
46 |
node2 = qa_config.AcquireNode() |
|
47 |
template = qa_config.GetDefaultDiskTemplate() |
|
48 |
|
|
49 |
instance = CreateInstanceByDiskTemplate([node1, node2], template) |
|
50 |
AssertCommand([MON_COLLECTOR, "inst-status-xen"], node=node1) |
|
51 |
AssertCommand([MON_COLLECTOR, "inst-status-xen"], node=node2) |
|
52 |
RemoveInstance(instance) |
|
53 |
|
|
54 |
node1.Release() |
|
55 |
node2.Release() |
Also available in: Unified diff