summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2008-02-15 14:54:25 -0500
committerMichael DeHaan <mdehaan@redhat.com>2008-02-15 14:54:25 -0500
commita47ee22ab684eed992128b60b136fca90ff9f119 (patch)
treecd55daf8057049368b4aaa6d23c30408eae411d2 /tests
parent70bfc8f5a3150d09cc064a4c46efcaff80b29904 (diff)
parenta7d67f35019af0c25f133c979112fc6035d7e04c (diff)
downloadthird_party-cobbler-a47ee22ab684eed992128b60b136fca90ff9f119.tar.gz
third_party-cobbler-a47ee22ab684eed992128b60b136fca90ff9f119.tar.xz
third_party-cobbler-a47ee22ab684eed992128b60b136fca90ff9f119.zip
Merge branch 'devel'
Merging devel work on 0.7.X/0.8 release with master Conflicts: CHANGELOG cobbler.spec cobbler/action_import.py cobbler/utils.py cobbler/webui/master.py setup.py
Diffstat (limited to 'tests')
-rw-r--r--tests/performance.py75
-rw-r--r--tests/tests.py20
2 files changed, 86 insertions, 9 deletions
diff --git a/tests/performance.py b/tests/performance.py
new file mode 100644
index 0000000..15b9bad
--- /dev/null
+++ b/tests/performance.py
@@ -0,0 +1,75 @@
+# test script to evaluate Cobbler API performance
+#
+# Michael DeHaan <mdehaan@redhat.com>
+
+import os
+import cobbler.api as capi
+import time
+import sys
+import random
+
+N = 200
+print "sample size is %s" % N
+
+api = capi.BootAPI()
+
+# part one ... create our test systems for benchmarking purposes if
+# they do not seem to exist.
+
+if not api.profiles().find("foo"):
+ print "CREATE A PROFILE NAMED 'foo' to be able to run this test"
+ sys.exit(0)
+
+def random_mac():
+ mac = [ 0x00, 0x16, 0x3e,
+ random.randint(0x00, 0x7f),
+ random.randint(0x00, 0xff),
+ random.randint(0x00, 0xff) ]
+ return ':'.join(map(lambda x: "%02x" % x, mac))
+
+print "Deleting autotest entries from a previous run"
+time1 = time.time()
+for x in xrange(0,N):
+ try:
+ sys = api.systems().remove("autotest-%s" % x,with_delete=True)
+ except:
+ pass
+time2 = time.time()
+print "ELAPSED: %s seconds" % (time2 - time1)
+
+print "Creating test systems from scratch"
+time1 = time.time()
+for x in xrange(0,N):
+ sys = api.new_system()
+ sys.set_name("autotest-%s" % x)
+ sys.set_mac_address(random_mac())
+ sys.set_profile("foo") # assumes there is already a foo
+ # print "... adding: %s" % sys.name
+ api.systems().add(sys,save=True,with_sync=False,with_triggers=False)
+time2 = time.time()
+print "ELAPSED %s seconds" % (time2 - time1)
+
+for mode2 in [ "fast", "normal", "full" ]:
+ for mode in [ "on", "off" ]:
+
+ print "Running netboot edit benchmarks (turn %s, %s)" % (mode, mode2)
+ time1 = time.time()
+ for x in xrange(0,N):
+ sys = api.systems().find("autotest-%s" % x)
+ if mode == "off":
+ sys.set_netboot_enabled(0)
+ else:
+ sys.set_netboot_enabled(1)
+ # print "... editing: %s" % sys.name
+ if mode2 == "fast":
+ api.systems().add(sys, save=True, with_sync=False, with_triggers=False, quick_pxe_update=True)
+ if mode2 == "normal":
+ api.systems().add(sys, save=True, with_sync=False, with_triggers=False)
+ if mode2 == "full":
+ api.systems().add(sys, save=True, with_sync=True, with_triggers=True)
+
+ time2 = time.time()
+ print "ELAPSED: %s seconds" % (time2 - time1)
+
+
+
diff --git a/tests/tests.py b/tests/tests.py
index f81d508..99ba0b9 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -83,22 +83,22 @@ class BootTest(unittest.TestCase):
self.assertTrue(distro.set_name("testdistro0"))
self.assertTrue(distro.set_kernel(self.fk_kernel))
self.assertTrue(distro.set_initrd(self.fk_initrd))
- self.assertTrue(self.api.distros().add(distro))
- self.assertTrue(self.api.distros().find(name="testdistro0"))
+ self.assertTrue(self.api.add_distro(distro))
+ self.assertTrue(self.api.find_distro(name="testdistro0"))
profile = self.api.new_profile()
self.assertTrue(profile.set_name("testprofile0"))
self.assertTrue(profile.set_distro("testdistro0"))
self.assertTrue(profile.set_kickstart(FAKE_KICKSTART))
- self.assertTrue(self.api.profiles().add(profile))
- self.assertTrue(self.api.profiles().find(name="testprofile0"))
+ self.assertTrue(self.api.add_profile(profile))
+ self.assertTrue(self.api.find_profile(name="testprofile0"))
system = self.api.new_system()
self.assertTrue(system.set_name("drwily.rdu.redhat.com"))
self.assertTrue(system.set_mac_address("BB:EE:EE:EE:EE:FF","intf0"))
self.assertTrue(system.set_profile("testprofile0"))
- self.assertTrue(self.api.systems().add(system))
- self.assertTrue(self.api.systems().find(name="drwily.rdu.redhat.com"))
+ self.assertTrue(self.api.add_system(system))
+ self.assertTrue(self.api.find_system(name="drwily.rdu.redhat.com"))
class MultiNIC(BootTest):
@@ -121,13 +121,15 @@ class MultiNIC(BootTest):
self.assertTrue(system.set_subnet("255.255.255.0","intf4"))
self.assertTrue(system.set_dhcp_tag("tag2","intf5"))
self.assertTrue(self.api.systems().add(system))
- self.assertTrue(self.api.systems().find(hostname="zero"))
+ # mixing in some higher level API calls with some lower level internal stuff
+ # just to make sure it's all good.
+ self.assertTrue(self.api.find_system(hostname="zero"))
self.assertTrue(self.api.systems().find(mac_address="EE:FF:DD:CC:DD:CC"))
self.assertTrue(self.api.systems().find(ip_address="127.0.0.5"))
- self.assertTrue(self.api.systems().find(virt_bridge="zero"))
+ self.assertTrue(self.api.find_system(virt_bridge="zero"))
self.assertTrue(self.api.systems().find(gateway="192.168.1.25"))
self.assertTrue(self.api.systems().find(subnet="255.255.255.0"))
- self.assertTrue(self.api.systems().find(dhcp_tag="tag2"))
+ self.assertTrue(self.api.find_system(dhcp_tag="tag2"))
self.assertTrue(self.api.systems().find(dhcp_tag="zero"))
# verify that systems has exactly 5 interfaces