[PATCH] ResourceCache: Fixing cache inconsistency resolution
by Radek Pazdera
lnst-slave crashed every time an inconsistency between cache index
and the actual cached files happened. More precisely when a file
existed but an appropriate record was not in the index.
It will now be deleted and replaced with a new file from the controller
issuing the request.
Signed-off-by: Radek Pazdera <rpazdera(a)redhat.com>
---
lnst/Common/ResourceCache.py | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/lnst/Common/ResourceCache.py b/lnst/Common/ResourceCache.py
index 7cf2f0e..9563d8c 100644
--- a/lnst/Common/ResourceCache.py
+++ b/lnst/Common/ResourceCache.py
@@ -88,7 +88,13 @@ class ResourceCache(object):
raise ResourceCacheError("File already in cache")
entry_dir = "%s/%s" % (self._root, entry_hash)
- os.mkdir(entry_dir)
+ if os.path.exists(entry_dir):
+ try:
+ shutil.rmtree(entry_dir)
+ except OSError as e:
+ if e.errno != 2:
+ raise
+ os.makedirs(entry_dir)
shutil.move(filepath, entry_dir)
entry_path = "%s/%s" % (entry_dir, os.path.basename(filepath))
--
1.7.7.6
11 years, 4 months
[lnst] nettestrecipe renaming to lnstrecipe
by Jiří Pírko
commit 28a7dc3d8542803eda3a756119412ae0881945b3
Author: Ondrej Lichtner <olichtne(a)redhat.com>
Date: Thu Nov 29 22:04:38 2012 +0100
nettestrecipe renaming to lnstrecipe
This patch renames the nettestrecipe tag to lnstrecipe as we discussed
in the meeting. I also renamed the corresponding method in
NetTestParse.py so that it reflects this change.
Please remember to change your custom recipes to reflect this change as
the old recipes will not work after application of this patch.
Signed-off-by: Ondrej Lichtner <olichtne(a)redhat.com>
lnst/Controller/NetTestParse.py | 8 ++++----
recipes/examples/quick_guides/ping_check.xml | 4 ++--
recipes/multicast/multicast-all.xml | 4 ++--
recipes/team/recipex_ab_001.xml | 4 ++--
recipes/team/recipex_ab_002.xml | 4 ++--
recipes/team/recipex_ab_003.xml | 4 ++--
recipes/team/recipex_ab_004.xml | 4 ++--
recipes/team/recipex_bcast_001.xml | 4 ++--
recipes/team/recipex_bcast_002.xml | 4 ++--
recipes/team/recipex_bcast_003.xml | 4 ++--
recipes/team/recipex_bcast_004.xml | 4 ++--
recipes/team/recipex_lacp_001.xml | 4 ++--
recipes/team/recipex_lacp_002.xml | 4 ++--
recipes/team/recipex_lacp_003.xml | 4 ++--
recipes/team/recipex_lacp_004.xml | 4 ++--
recipes/team/recipex_lacp_act_001.xml | 4 ++--
recipes/team/recipex_lacp_act_002.xml | 4 ++--
recipes/team/recipex_lacp_act_003.xml | 4 ++--
recipes/team/recipex_lacp_act_004.xml | 4 ++--
recipes/team/recipex_lb_001.xml | 4 ++--
recipes/team/recipex_lb_002.xml | 4 ++--
recipes/team/recipex_lb_003.xml | 4 ++--
recipes/team/recipex_lb_004.xml | 4 ++--
recipes/team/recipex_lb_act_001.xml | 4 ++--
recipes/team/recipex_lb_act_002.xml | 4 ++--
recipes/team/recipex_lb_act_003.xml | 4 ++--
recipes/team/recipex_lb_act_004.xml | 4 ++--
recipes/team/recipex_rr_001.xml | 4 ++--
recipes/team/recipex_rr_002.xml | 4 ++--
recipes/team/recipex_rr_003.xml | 4 ++--
recipes/team/recipex_rr_004.xml | 4 ++--
recipes/team/recipey_ab_lw_001.xml | 4 ++--
recipes/team/recipey_ab_lw_002.xml | 4 ++--
recipes/team/recipey_ab_lw_003.xml | 4 ++--
recipes/team/recipey_ab_lw_004.xml | 4 ++--
recipes/team/recipey_ab_lw_005.xml | 4 ++--
recipes/team/recipey_ab_lw_006.xml | 4 ++--
recipes/team/recipey_ab_lw_007.xml | 4 ++--
recipes/team/recipey_ab_lw_008.xml | 4 ++--
recipes/team/recipey_lacp_act_flows.xml | 4 ++--
recipes/team/recipey_lacp_hashes.xml | 4 ++--
recipes/team/recipey_lacp_passive.xml | 4 ++--
recipes/team/recipey_lacp_slowrate.xml | 4 ++--
recipes/team/recipey_lb_act_flows.xml | 4 ++--
recipes/team/recipey_lb_hashes.xml | 4 ++--
recipes/team/recipey_rr_queue_mapping.xml | 4 ++--
46 files changed, 94 insertions(+), 94 deletions(-)
---
diff --git a/lnst/Controller/NetTestParse.py b/lnst/Controller/NetTestParse.py
index 2f77284..3a24faf 100644
--- a/lnst/Controller/NetTestParse.py
+++ b/lnst/Controller/NetTestParse.py
@@ -82,13 +82,13 @@ class FirstPass(RecipeParser):
self._recipe["provisioning"]["setup_requirements"] = {}
if node.nodeType == node.DOCUMENT_NODE:
- scheme = {"nettestrecipe": self._nettestrecipe}
+ scheme = {"lnstrecipe": self._lnstrecipe}
self._process_child_nodes(node, scheme,
default_handler=self._ignore_tag)
else:
raise XmlProcessingError("Passed object is not a XML document")
- def _nettestrecipe(self, node, params):
+ def _lnstrecipe(self, node, params):
scheme = {"machines": self._machines}
self._process_child_nodes(node, scheme,
default_handler=self._ignore_tag)
@@ -146,12 +146,12 @@ class SecondPass(RecipeParser):
def parse(self, xml_dom):
if xml_dom.nodeType == xml_dom.DOCUMENT_NODE:
- scheme = {"nettestrecipe": self._nettestrecipe}
+ scheme = {"lnstrecipe": self._lnstrecipe}
self._process_child_nodes(xml_dom, scheme)
else:
raise XmlProcessingError("Passed object is not a XML document")
- def _nettestrecipe(self, node, params):
+ def _lnstrecipe(self, node, params):
scheme = {"machines": self._machines,
"switches": self._switches,
"command_sequence": self._command_sequence}
diff --git a/recipes/examples/quick_guides/ping_check.xml b/recipes/examples/quick_guides/ping_check.xml
index 9a0022c..64e2fa3 100644
--- a/recipes/examples/quick_guides/ping_check.xml
+++ b/recipes/examples/quick_guides/ping_check.xml
@@ -4,7 +4,7 @@ is available on LNST wiki page:
https://fedorahosted.org/lnst/wiki/QuickGuides/QuickGuidePingCheck
-->
-<nettestrecipe>
+<lnstrecipe>
<machines>
<machine id="testmachine1">
<machineconfig>
@@ -53,4 +53,4 @@ is available on LNST wiki page:
</options>
</command>
</command_sequence>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/multicast/multicast-all.xml b/recipes/multicast/multicast-all.xml
index cd8da19..bdd22d7 100644
--- a/recipes/multicast/multicast-all.xml
+++ b/recipes/multicast/multicast-all.xml
@@ -1,5 +1,5 @@
<!-- Execute all tests for multicast -->
-<nettestrecipe>
+<lnstrecipe>
<!-- Change these parameters to match your test environment setup -->
<define>
<alias name="hostname1" value="192.168.122.11"/>
@@ -67,4 +67,4 @@
<command_sequence source="cmd_sequences/multicast/ttl.xml"/>
<command_sequence source="cmd_sequences/multicast/loop.xml"/>
<command_sequence source="cmd_sequences/multicast/simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_ab_001.xml b/recipes/team/recipex_ab_001.xml
index 0176df1..f329131 100644
--- a/recipes/team/recipex_ab_001.xml
+++ b/recipes/team/recipex_ab_001.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_ab_002.xml b/recipes/team/recipex_ab_002.xml
index aec1644..f4c954d 100644
--- a/recipes/team/recipex_ab_002.xml
+++ b/recipes/team/recipex_ab_002.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -33,4 +33,4 @@
<command_sequence source="../multicast/cmd_sequences/ttl.xml"/>
<command_sequence source="../multicast/cmd_sequences/loop.xml"/>
<command_sequence source="../multicast/cmd_sequences/simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_ab_003.xml b/recipes/team/recipex_ab_003.xml
index 7796ec9..97b62ef 100644
--- a/recipes/team/recipex_ab_003.xml
+++ b/recipes/team/recipex_ab_003.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_ab_004.xml b/recipes/team/recipex_ab_004.xml
index d74113e..70727e3 100644
--- a/recipes/team/recipex_ab_004.xml
+++ b/recipes/team/recipex_ab_004.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_iperf.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_bcast_001.xml b/recipes/team/recipex_bcast_001.xml
index 7e10cbc..6eea76d 100644
--- a/recipes/team/recipex_bcast_001.xml
+++ b/recipes/team/recipex_bcast_001.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_bcast_002.xml b/recipes/team/recipex_bcast_002.xml
index ad3e893..d1b352c 100644
--- a/recipes/team/recipex_bcast_002.xml
+++ b/recipes/team/recipex_bcast_002.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -33,4 +33,4 @@
<command_sequence source="../multicast/cmd_sequences/ttl.xml"/>
<command_sequence source="../multicast/cmd_sequences/loop.xml"/>
<command_sequence source="../multicast/cmd_sequences/simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_bcast_003.xml b/recipes/team/recipex_bcast_003.xml
index acaad20..2874a81 100644
--- a/recipes/team/recipex_bcast_003.xml
+++ b/recipes/team/recipex_bcast_003.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_bcast_004.xml b/recipes/team/recipex_bcast_004.xml
index b857b99..2f34a26 100644
--- a/recipes/team/recipex_bcast_004.xml
+++ b/recipes/team/recipex_bcast_004.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_iperf.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lacp_001.xml b/recipes/team/recipex_lacp_001.xml
index 3e70ece..fe116ed 100644
--- a/recipes/team/recipex_lacp_001.xml
+++ b/recipes/team/recipex_lacp_001.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lacp_002.xml b/recipes/team/recipex_lacp_002.xml
index ddae1d0..189b22e 100644
--- a/recipes/team/recipex_lacp_002.xml
+++ b/recipes/team/recipex_lacp_002.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -33,4 +33,4 @@
<command_sequence source="../multicast/cmd_sequences/ttl.xml"/>
<command_sequence source="../multicast/cmd_sequences/loop.xml"/>
<command_sequence source="../multicast/cmd_sequences/simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lacp_003.xml b/recipes/team/recipex_lacp_003.xml
index 82ba25f..130caad 100644
--- a/recipes/team/recipex_lacp_003.xml
+++ b/recipes/team/recipex_lacp_003.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen_lacp.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lacp_004.xml b/recipes/team/recipex_lacp_004.xml
index aae1ef8..758036c 100644
--- a/recipes/team/recipex_lacp_004.xml
+++ b/recipes/team/recipex_lacp_004.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_iperf.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lacp_act_001.xml b/recipes/team/recipex_lacp_act_001.xml
index 8fcbe2a..d48cbac 100644
--- a/recipes/team/recipex_lacp_act_001.xml
+++ b/recipes/team/recipex_lacp_act_001.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lacp_act_002.xml b/recipes/team/recipex_lacp_act_002.xml
index c338571..f4e5c6e 100644
--- a/recipes/team/recipex_lacp_act_002.xml
+++ b/recipes/team/recipex_lacp_act_002.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -33,4 +33,4 @@
<command_sequence source="../multicast/cmd_sequences/ttl.xml"/>
<command_sequence source="../multicast/cmd_sequences/loop.xml"/>
<command_sequence source="../multicast/cmd_sequences/simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lacp_act_003.xml b/recipes/team/recipex_lacp_act_003.xml
index a1bc09c..cfa62ea 100644
--- a/recipes/team/recipex_lacp_act_003.xml
+++ b/recipes/team/recipex_lacp_act_003.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen_lacp.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lacp_act_004.xml b/recipes/team/recipex_lacp_act_004.xml
index e3b5d05..26ee907 100644
--- a/recipes/team/recipex_lacp_act_004.xml
+++ b/recipes/team/recipex_lacp_act_004.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_iperf.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lb_001.xml b/recipes/team/recipex_lb_001.xml
index b680b4b..84f64c0 100644
--- a/recipes/team/recipex_lb_001.xml
+++ b/recipes/team/recipex_lb_001.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lb_002.xml b/recipes/team/recipex_lb_002.xml
index 2519716..9145b74 100644
--- a/recipes/team/recipex_lb_002.xml
+++ b/recipes/team/recipex_lb_002.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -33,4 +33,4 @@
<command_sequence source="../multicast/cmd_sequences/ttl.xml"/>
<command_sequence source="../multicast/cmd_sequences/loop.xml"/>
<command_sequence source="../multicast/cmd_sequences/simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lb_003.xml b/recipes/team/recipex_lb_003.xml
index 87c9538..dfab190 100644
--- a/recipes/team/recipex_lb_003.xml
+++ b/recipes/team/recipex_lb_003.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lb_004.xml b/recipes/team/recipex_lb_004.xml
index e3a9632..3b84288 100644
--- a/recipes/team/recipex_lb_004.xml
+++ b/recipes/team/recipex_lb_004.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_iperf.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lb_act_001.xml b/recipes/team/recipex_lb_act_001.xml
index 24ec354..1efd3a7 100644
--- a/recipes/team/recipex_lb_act_001.xml
+++ b/recipes/team/recipex_lb_act_001.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lb_act_002.xml b/recipes/team/recipex_lb_act_002.xml
index bdc5e7e..37c7d0f 100644
--- a/recipes/team/recipex_lb_act_002.xml
+++ b/recipes/team/recipex_lb_act_002.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -33,4 +33,4 @@
<command_sequence source="../multicast/cmd_sequences/ttl.xml"/>
<command_sequence source="../multicast/cmd_sequences/loop.xml"/>
<command_sequence source="../multicast/cmd_sequences/simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lb_act_003.xml b/recipes/team/recipex_lb_act_003.xml
index 1383240..c28393d 100644
--- a/recipes/team/recipex_lb_act_003.xml
+++ b/recipes/team/recipex_lb_act_003.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_lb_act_004.xml b/recipes/team/recipex_lb_act_004.xml
index b436dc4..0cba207 100644
--- a/recipes/team/recipex_lb_act_004.xml
+++ b/recipes/team/recipex_lb_act_004.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_iperf.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_rr_001.xml b/recipes/team/recipex_rr_001.xml
index 7fde885..2b5b129 100644
--- a/recipes/team/recipex_rr_001.xml
+++ b/recipes/team/recipex_rr_001.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_rr_002.xml b/recipes/team/recipex_rr_002.xml
index e8caa42..cdf4611 100644
--- a/recipes/team/recipex_rr_002.xml
+++ b/recipes/team/recipex_rr_002.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -33,4 +33,4 @@
<command_sequence source="../multicast/cmd_sequences/ttl.xml"/>
<command_sequence source="../multicast/cmd_sequences/loop.xml"/>
<command_sequence source="../multicast/cmd_sequences/simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_rr_003.xml b/recipes/team/recipex_rr_003.xml
index c5fec2d..99b0d21 100644
--- a/recipes/team/recipex_rr_003.xml
+++ b/recipes/team/recipex_rr_003.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipex_rr_004.xml b/recipes/team/recipex_rr_004.xml
index 299016e..4b379c2 100644
--- a/recipes/team/recipex_rr_004.xml
+++ b/recipes/team/recipex_rr_004.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_iperf.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_ab_lw_001.xml b/recipes/team/recipey_ab_lw_001.xml
index 36eb419..23a0e38 100644
--- a/recipes/team/recipey_ab_lw_001.xml
+++ b/recipes/team/recipey_ab_lw_001.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_ab_lw_002.xml b/recipes/team/recipey_ab_lw_002.xml
index 697addd..75e96b4 100644
--- a/recipes/team/recipey_ab_lw_002.xml
+++ b/recipes/team/recipey_ab_lw_002.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_ab_lw_003.xml b/recipes/team/recipey_ab_lw_003.xml
index e375ccf..fbe4446 100644
--- a/recipes/team/recipey_ab_lw_003.xml
+++ b/recipes/team/recipey_ab_lw_003.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_ab_lw_004.xml b/recipes/team/recipey_ab_lw_004.xml
index 885b31f..bb0b5d0 100644
--- a/recipes/team/recipey_ab_lw_004.xml
+++ b/recipes/team/recipey_ab_lw_004.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_ab_lw_005.xml b/recipes/team/recipey_ab_lw_005.xml
index 2fe4276..b3d507e 100644
--- a/recipes/team/recipey_ab_lw_005.xml
+++ b/recipes/team/recipey_ab_lw_005.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_ab_lw_006.xml b/recipes/team/recipey_ab_lw_006.xml
index c0bf973..e6380a9 100644
--- a/recipes/team/recipey_ab_lw_006.xml
+++ b/recipes/team/recipey_ab_lw_006.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_ab_lw_007.xml b/recipes/team/recipey_ab_lw_007.xml
index 170f3b0..32fe454 100644
--- a/recipes/team/recipey_ab_lw_007.xml
+++ b/recipes/team/recipey_ab_lw_007.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_ab_lw_008.xml b/recipes/team/recipey_ab_lw_008.xml
index 0b1b261..a3ed494 100644
--- a/recipes/team/recipey_ab_lw_008.xml
+++ b/recipes/team/recipey_ab_lw_008.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_lacp_act_flows.xml b/recipes/team/recipey_lacp_act_flows.xml
index 82c4166..0926aeb 100644
--- a/recipes/team/recipey_lacp_act_flows.xml
+++ b/recipes/team/recipey_lacp_act_flows.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen_flows.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_lacp_hashes.xml b/recipes/team/recipey_lacp_hashes.xml
index 8e648d6..aaf25e7 100644
--- a/recipes/team/recipey_lacp_hashes.xml
+++ b/recipes/team/recipey_lacp_hashes.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen_hashes.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_lacp_passive.xml b/recipes/team/recipey_lacp_passive.xml
index 5e88fdf..53f43a4 100644
--- a/recipes/team/recipey_lacp_passive.xml
+++ b/recipes/team/recipey_lacp_passive.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_lacp_slowrate.xml b/recipes/team/recipey_lacp_slowrate.xml
index 1daead2..6681bc2 100644
--- a/recipes/team/recipey_lacp_slowrate.xml
+++ b/recipes/team/recipey_lacp_slowrate.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_ping_simple.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_lb_act_flows.xml b/recipes/team/recipey_lb_act_flows.xml
index c2f6abd..ef02b4c 100644
--- a/recipes/team/recipey_lb_act_flows.xml
+++ b/recipes/team/recipey_lb_act_flows.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen_flows.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_lb_hashes.xml b/recipes/team/recipey_lb_hashes.xml
index 4180aa4..433ed06 100644
--- a/recipes/team/recipey_lb_hashes.xml
+++ b/recipes/team/recipey_lb_hashes.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_pktgen_hashes.xml"/>
-</nettestrecipe>
+</lnstrecipe>
diff --git a/recipes/team/recipey_rr_queue_mapping.xml b/recipes/team/recipey_rr_queue_mapping.xml
index 4250837..6893f9e 100644
--- a/recipes/team/recipey_rr_queue_mapping.xml
+++ b/recipes/team/recipey_rr_queue_mapping.xml
@@ -1,4 +1,4 @@
-<nettestrecipe>
+<lnstrecipe>
<machines>
<define>
<alias name="testip" value="192.168.111.1/24"/>
@@ -18,4 +18,4 @@
</machine>
</machines>
<command_sequence source="sequence_queue_mapping.xml"/>
-</nettestrecipe>
+</lnstrecipe>
11 years, 4 months
[lnst] PacketCapture: Making pcap dump files temporary
by Jiří Pírko
commit 71cd8e9580e36ce5ade0bccfc695459413fa3e81
Author: Radek Pazdera <rpazdera(a)redhat.com>
Date: Thu Nov 29 16:18:37 2012 +0100
PacketCapture: Making pcap dump files temporary
Due to problems with SELinux and a general reconsideration of packet
capture, this patch makes all the dumps saved temporary.
They will be transfered to the controller as soon as the recipe finishes
and removed imediately to avoid disk usage issues on slave side.
Signed-off-by: Radek Pazdera <rpazdera(a)redhat.com>
lnst/Controller/NetTestController.py | 11 +++++++----
lnst/Slave/NetTestSlave.py | 18 +++++++++++++-----
2 files changed, 20 insertions(+), 9 deletions(-)
---
diff --git a/lnst/Controller/NetTestController.py b/lnst/Controller/NetTestController.py
index 5e899be..1fcc496 100644
--- a/lnst/Controller/NetTestController.py
+++ b/lnst/Controller/NetTestController.py
@@ -507,7 +507,7 @@ class NetTestController:
for machine_id in self._recipe["machines"]:
hostname = self._recipe["machines"][machine_id]['info']['hostname']
- slave_logging_dir = os.path.join(logging_root, hostname)
+ slave_logging_dir = os.path.join(logging_root, hostname + "/")
try:
os.mkdir(slave_logging_dir)
except OSError as err:
@@ -517,11 +517,14 @@ class NetTestController:
raise NetTestError(msg)
capture_files = self._remote_capture_files[machine_id]
- for remote_path in capture_files:
- filename = os.path.basename(remote_path)
+ for dev_id, remote_path in capture_files.iteritems():
+ filename = "%s.pcap" % dev_id
local_path = os.path.join(slave_logging_dir, filename)
self._copy_from_slave(machine_id, remote_path, local_path)
+ logging.info("pcap files from machine %s stored at %s",
+ machine_id, slave_logging_dir)
+
def _update_system_config(self, machine_id, res_data, persistent=False):
info = self._get_machineinfo(machine_id)
system_config = info["system_config"]
@@ -595,7 +598,7 @@ class NetTestController:
status = self._rpc_call(machine_id, "start_copy_from", remote_path)
if not status:
raise NetTestError("The requested file cannot be transfered." \
- "It file does not exist on machine %d" % machine_id)
+ "It does not exist on machine %s" % machine_id)
local_file = open(local_path, "wb")
diff --git a/lnst/Slave/NetTestSlave.py b/lnst/Slave/NetTestSlave.py
index 9d3a9d8..63f1f10 100644
--- a/lnst/Slave/NetTestSlave.py
+++ b/lnst/Slave/NetTestSlave.py
@@ -66,6 +66,7 @@ class NetTestSlaveXMLRPC:
self.clear_resource_table()
self._cache.del_old_entries()
self.reset_file_transfers()
+ self._remove_capture_files()
return "bye"
def get_new_logs(self):
@@ -117,14 +118,15 @@ class NetTestSlaveXMLRPC:
return self._netconfig.dump_config().items()
def start_packet_capture(self, filt):
- logging_dir = Logs.get_logging_root_path()
- logging_dir = os.path.abspath(logging_dir)
netconfig = self._netconfig.dump_config()
- files = []
+ files = {}
for dev_id, dev_spec in netconfig.iteritems():
- dump_file = os.path.join(logging_dir, "%s.pcap" % dev_id)
- files.append(dump_file)
+ df_handle = NamedTemporaryFile(delete=False)
+ dump_file = df_handle.name
+ df_handle.close()
+
+ files[dev_id] = dump_file
pcap = PacketCapture()
pcap.set_interface(dev_spec["name"])
@@ -134,6 +136,7 @@ class NetTestSlaveXMLRPC:
self._packet_captures[dev_id] = pcap
+ self._capture_files = files
return files
def stop_packet_capture(self):
@@ -144,6 +147,11 @@ class NetTestSlaveXMLRPC:
return True
+ def _remove_capture_files(self):
+ for name in self._capture_files.itervalues():
+ logging.debug("Removing temporary packet capture file %s", name)
+ os.unlink(name)
+
def run_command(self, command):
try:
cmd_cls = NetTestCommand(self._command_context, command,
11 years, 4 months
[lnst] configuration: Always load user configuration
by Jiří Pírko
commit 183853d435cd9c850e86e4f117f7ba5eec798d4c
Author: Radek Pazdera <rpazdera(a)redhat.com>
Date: Thu Nov 29 16:14:05 2012 +0100
configuration: Always load user configuration
User configuration was ignored when a config was found in the same
directory as the executable (we also call it the 'gitconfig').
This patch makes lnst-ctl read user configuration everytime. So we
don't have to modify the 'gitconfig' directly, but use the user
configuration instead.
Signed-off-by: Radek Pazdera <rpazdera(a)redhat.com>
lnst-ctl | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
---
diff --git a/lnst-ctl b/lnst-ctl
index 8504ae1..c15e9af 100755
--- a/lnst-ctl
+++ b/lnst-ctl
@@ -101,14 +101,15 @@ def main():
config.load_config(gitcfg)
else:
config.load_config('/etc/lnst-ctl.conf')
- usr_cfg = os.path.expanduser('~/.lnst/lnst-ctl.conf')
- if os.path.isfile(usr_cfg):
- config.load_config(usr_cfg)
- else:
- if not os.path.isdir(os.path.dirname(usr_cfg)):
- os.makedirs(os.path.dirname(usr_cfg))
- with open(usr_cfg, 'w') as f:
- f.write(config.dump_config())
+
+ usr_cfg = os.path.expanduser('~/.lnst/lnst-ctl.conf')
+ if os.path.isfile(usr_cfg):
+ config.load_config(usr_cfg)
+ else:
+ if not os.path.isdir(os.path.dirname(usr_cfg)):
+ os.makedirs(os.path.dirname(usr_cfg))
+ with open(usr_cfg, 'w') as f:
+ f.write(config.dump_config())
debug = 0
11 years, 4 months
[lnst] Logging: fix for logs from bg processes
by Jiří Pírko
commit a9d1ef7b21c3bc1280aab487e25e547b9f21b9fe
Author: Ondrej Lichtner <olichtne(a)redhat.com>
Date: Thu Nov 29 16:06:43 2012 +0100
Logging: fix for logs from bg processes
This commit fixes a bug in logging where there would be logs from
background commands. The bug is another one of bugs that were introduced
when we started retrieving logs through rpc. After this commit the logs
from background processes are retrieved through the result object that
we send through the created pipe.
This fix is not perfect because the logs from background commands will
be retrieved through their corresponding wait/intr/kill command. This
will result in logs from these commands not arriving at the moment of
their creation and if more than one background command was running then
the logs will not be in the "correct" order. However this fix is the
easiest and most "clean" of ways to fix this. We might consider better a
better way to do this when we redo the logging infrastructure.
Signed-off-by: Ondrej Lichtner <olichtne(a)redhat.com>
lnst/Common/LoggingHandler.py | 4 ++++
lnst/Common/NetTestCommand.py | 16 ++++++++++++++++
2 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/lnst/Common/LoggingHandler.py b/lnst/Common/LoggingHandler.py
index 7b7174e..cea0529 100644
--- a/lnst/Common/LoggingHandler.py
+++ b/lnst/Common/LoggingHandler.py
@@ -40,6 +40,10 @@ class LogBuffer(logging.Handler):
s = pickle.dumps(d, 1)
return xmlrpclib.Binary(s)
+ def add_buffer(self, buf):
+ for i in buf:
+ self.buffer.append(i)
+
def emit(self, record):
s = self.makePickle(record)
self.buffer.append(s)
diff --git a/lnst/Common/NetTestCommand.py b/lnst/Common/NetTestCommand.py
index a41cc2f..671fe36 100644
--- a/lnst/Common/NetTestCommand.py
+++ b/lnst/Common/NetTestCommand.py
@@ -16,6 +16,7 @@ import sys
import signal
import imp
import pickle, traceback
+from lnst.Common.Logs import Logs
from lnst.Common.ExecCmd import exec_cmd, ExecCmdFail
def str_command(command):
@@ -64,6 +65,7 @@ class BgCommand:
" id \"%s\", pid \"%d\"" % (self._bg_id, self._pid))
self._read_pipe = read_pipe
return {"passed": True}
+ Logs.get_buffer().flush()
os.close(read_pipe)
os.setpgrp()
self._cmd_cls.set_handle_intr()
@@ -75,6 +77,8 @@ class BgCommand:
except:
type, value, tb = sys.exc_info()
result = {"Exception": ''.join(traceback.format_exception(type, value, tb))}
+ buf = Logs.get_buffer()
+ result["logs"] = buf.flush()
tmp = pickle.dumps(result)
os.write(write_pipe, tmp)
os.close(write_pipe)
@@ -255,6 +259,10 @@ class NetTestCommandWait(NetTestCommandControl):
bg_cmd.wait_for()
result = bg_cmd.get_result()
self._command_context.del_bg_cmd(bg_cmd)
+ buf = Logs.get_buffer()
+ logs = result["logs"]
+ buf.add_buffer(logs)
+ del result["logs"]
self.set_result(result)
class NetTestCommandIntr(NetTestCommandControl):
@@ -264,6 +272,10 @@ class NetTestCommandIntr(NetTestCommandControl):
bg_cmd.interrupt()
result = bg_cmd.get_result()
self._command_context.del_bg_cmd(bg_cmd)
+ buf = Logs.get_buffer()
+ logs = result["logs"]
+ buf.add_buffer(logs)
+ del result["logs"]
self.set_result(result)
class NetTestCommandKill(NetTestCommandControl):
@@ -271,7 +283,11 @@ class NetTestCommandKill(NetTestCommandControl):
bg_id = self._command["value"]
bg_cmd = self._command_context.get_bg_cmd(bg_id)
bg_cmd.kill()
+ result = bg_cmd.get_result()
self._command_context.del_bg_cmd(bg_cmd)
+ buf = Logs.get_buffer()
+ logs = result["logs"]
+ buf.add_buffer(logs)
self.set_result({"passed": True})
def get_command_class(command_context, command, resource_table):
11 years, 4 months
Re: [lnst trac] #46: Remove all references to nettestctl and nettestslave
by fedora-badges
#46: Remove all references to nettestctl and nettestslave
-------------------------+------------------------------------------------
Reporter: rpazdera | Owner: rpazdera
Type: defect | Status: new
Priority: major | Milestone: Push LNST as a package into Fedora
Component: component1 | Version:
Resolution: | Keywords:
Blocked By: | Blocking: 27
-------------------------+------------------------------------------------
Comment (by olichtne):
A patch was posted [1] that renames the recipe tag <nettestrecipe> to
<lnstrecipe>. I will make the corresponding changes to the wiki pages
after it is applied.
I also made a few changes to the quick guides which were still using the
old script names ./nettestctl and changed them to ./lnst-ctl.
[1] https://lists.fedorahosted.org/pipermail/lnst-
developers/2012-November/000858.html
--
Ticket URL: <https://fedorahosted.org/lnst/ticket/46#comment:3>
lnst <https://fedorahosted.org/lnst/>
Linux Network Stack Test
11 years, 4 months