"installation_support" directory is supposed to hold a collection
of tools useful during a server install, so move firewalld_add_service
there. Also, name it in such a way that it can be installed on the system
and obvious to a user that wants to setup an autotest server.

Signed-off-by: Cleber Rosa <[email protected]>
---
 contrib/firewalld_add_service                      | 124 ---------------------
 contrib/install-autotest-server.sh                 |   2 +-
 .../autotest-firewalld-add-service                 | 124 +++++++++++++++++++++
 3 files changed, 125 insertions(+), 125 deletions(-)
 delete mode 100755 contrib/firewalld_add_service
 create mode 100755 installation_support/autotest-firewalld-add-service

diff --git a/contrib/firewalld_add_service b/contrib/firewalld_add_service
deleted file mode 100755
index 4be42f6..0000000
--- a/contrib/firewalld_add_service
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/usr/bin/env python
-
-"""
-This tool adds a service to firewalld's permanent configuration
-
-We don't expect this tool be run, and thus firewalld to be present on a system
-that does not have quite recent software, such as Python 2.7
-"""
-
-import os
-import sys
-import logging
-import argparse
-import commands
-import xml.etree.ElementTree
-
-
-DEFAULT_ZONE_SRC_BASE_PATH = '/usr/lib/firewalld/zones'
-DEFAULT_ZONE_DST_BASE_PATH = '/etc/firewalld/zones'
-
-
-class ArgumentParser(argparse.ArgumentParser):
-    def __init__(self):
-        super(ArgumentParser, self).__init__(
-            description=("This tool adds a service to firewalld's permanent "
-                         "configuration"))
-
-        self.add_argument('-z', '--zone', default=self._get_default_zone(),
-                          help='Zone name, using default path')
-
-        self.add_argument('-s', '--service', default='http',
-                          help='Service name, default is "http"')
-
-
-    def _get_default_zone(self):
-        try:
-            s, o = commands.getstatusoutput('firewall-cmd --get-default-zone')
-            if s != 0:
-                return ''
-            else:
-                return o
-        except:
-            return ''
-
-
-class App(object):
-    def __init__(self):
-        self.argument_parser = ArgumentParser()
-        self.parsed_arguments = None
-
-
-    def get_src_file_from_zone(self, zone):
-        zone_filename = "%s.xml" % zone
-        return os.path.join(DEFAULT_ZONE_SRC_BASE_PATH,
-                            zone_filename)
-
-
-    def get_dst_file_from_zone(self, zone):
-        zone_filename = "%s.xml" % zone
-        return os.path.join(DEFAULT_ZONE_DST_BASE_PATH,
-                            zone_filename)
-
-
-    def is_service_enabled(self, path, service):
-        if not os.path.exists(path):
-            return False
-
-        tree = xml.etree.ElementTree.parse(path)
-        root = tree.getroot()
-
-        for child in root:
-            if child.tag == 'service':
-                if child.attrib['name'] == service:
-                    return True
-
-        return False
-
-
-    def add_service(self, zone, service):
-        src_file_path = self.get_src_file_from_zone(zone)
-        if not os.path.exists(src_file_path):
-            logging.error('Could not find default zone file: %s',
-                          src_file_path)
-            raise SystemExit
-
-        src_tree = xml.etree.ElementTree.parse(src_file_path)
-        src_root = src_tree.getroot()
-        dst_file_path = self.get_dst_file_from_zone(zone)
-
-        if self.is_service_enabled(dst_file_path, service):
-            return True
-
-        attrib = {'name': service}
-        new_service = xml.etree.ElementTree.SubElement(src_root,
-                                                       'service',
-                                                       attrib)
-        src_tree.write(dst_file_path)
-
-        # Now, double check the write was successfull
-        return self.is_service_enabled(dst_file_path, service)
-
-
-    def run(self):
-        self.parsed_arguments = self.argument_parser.parse_args()
-
-        if not self.parsed_arguments.zone:
-            logging.error("A zone name is a required argument")
-            raise SystemExit
-
-        if not self.parsed_arguments.service:
-            logging.error("A service name is a required argument")
-            raise SystemExit
-
-        result = self.add_service(self.parsed_arguments.zone,
-                                  self.parsed_arguments.service)
-        if result:
-            raise SystemExit(0)
-        else:
-            raise SystemExit(-1)
-
-
-if __name__ == '__main__':
-    app = App()
-    app.run()
diff --git a/contrib/install-autotest-server.sh 
b/contrib/install-autotest-server.sh
index 1c2d8c3..7100cc0 100755
--- a/contrib/install-autotest-server.sh
+++ b/contrib/install-autotest-server.sh
@@ -478,7 +478,7 @@ setup_firewall_firewalld() {
     echo "Opening firewall for http traffic" >> $LOG
     echo "Opening firewall for http traffic"
 
-    $ATHOME/contrib/firewalld_add_service -s http
+    $ATHOME/installation_support/autotest-firewalld-add-service -s http
     firewall-cmd --reload
 }
 
diff --git a/installation_support/autotest-firewalld-add-service 
b/installation_support/autotest-firewalld-add-service
new file mode 100755
index 0000000..4be42f6
--- /dev/null
+++ b/installation_support/autotest-firewalld-add-service
@@ -0,0 +1,124 @@
+#!/usr/bin/env python
+
+"""
+This tool adds a service to firewalld's permanent configuration
+
+We don't expect this tool be run, and thus firewalld to be present on a system
+that does not have quite recent software, such as Python 2.7
+"""
+
+import os
+import sys
+import logging
+import argparse
+import commands
+import xml.etree.ElementTree
+
+
+DEFAULT_ZONE_SRC_BASE_PATH = '/usr/lib/firewalld/zones'
+DEFAULT_ZONE_DST_BASE_PATH = '/etc/firewalld/zones'
+
+
+class ArgumentParser(argparse.ArgumentParser):
+    def __init__(self):
+        super(ArgumentParser, self).__init__(
+            description=("This tool adds a service to firewalld's permanent "
+                         "configuration"))
+
+        self.add_argument('-z', '--zone', default=self._get_default_zone(),
+                          help='Zone name, using default path')
+
+        self.add_argument('-s', '--service', default='http',
+                          help='Service name, default is "http"')
+
+
+    def _get_default_zone(self):
+        try:
+            s, o = commands.getstatusoutput('firewall-cmd --get-default-zone')
+            if s != 0:
+                return ''
+            else:
+                return o
+        except:
+            return ''
+
+
+class App(object):
+    def __init__(self):
+        self.argument_parser = ArgumentParser()
+        self.parsed_arguments = None
+
+
+    def get_src_file_from_zone(self, zone):
+        zone_filename = "%s.xml" % zone
+        return os.path.join(DEFAULT_ZONE_SRC_BASE_PATH,
+                            zone_filename)
+
+
+    def get_dst_file_from_zone(self, zone):
+        zone_filename = "%s.xml" % zone
+        return os.path.join(DEFAULT_ZONE_DST_BASE_PATH,
+                            zone_filename)
+
+
+    def is_service_enabled(self, path, service):
+        if not os.path.exists(path):
+            return False
+
+        tree = xml.etree.ElementTree.parse(path)
+        root = tree.getroot()
+
+        for child in root:
+            if child.tag == 'service':
+                if child.attrib['name'] == service:
+                    return True
+
+        return False
+
+
+    def add_service(self, zone, service):
+        src_file_path = self.get_src_file_from_zone(zone)
+        if not os.path.exists(src_file_path):
+            logging.error('Could not find default zone file: %s',
+                          src_file_path)
+            raise SystemExit
+
+        src_tree = xml.etree.ElementTree.parse(src_file_path)
+        src_root = src_tree.getroot()
+        dst_file_path = self.get_dst_file_from_zone(zone)
+
+        if self.is_service_enabled(dst_file_path, service):
+            return True
+
+        attrib = {'name': service}
+        new_service = xml.etree.ElementTree.SubElement(src_root,
+                                                       'service',
+                                                       attrib)
+        src_tree.write(dst_file_path)
+
+        # Now, double check the write was successfull
+        return self.is_service_enabled(dst_file_path, service)
+
+
+    def run(self):
+        self.parsed_arguments = self.argument_parser.parse_args()
+
+        if not self.parsed_arguments.zone:
+            logging.error("A zone name is a required argument")
+            raise SystemExit
+
+        if not self.parsed_arguments.service:
+            logging.error("A service name is a required argument")
+            raise SystemExit
+
+        result = self.add_service(self.parsed_arguments.zone,
+                                  self.parsed_arguments.service)
+        if result:
+            raise SystemExit(0)
+        else:
+            raise SystemExit(-1)
+
+
+if __name__ == '__main__':
+    app = App()
+    app.run()
-- 
1.7.11.7

_______________________________________________
Autotest-kernel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/autotest-kernel

Reply via email to