summaryrefslogtreecommitdiffstats
path: root/tools/upgrade/1.4
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-06-27 10:36:17 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-06-27 10:42:32 -0400
commitcd14868d4db8eaa7e9421e1d5fe8653294ac1e38 (patch)
tree52ad2955c9d81a979d5242262a0209eafd3a12d4 /tools/upgrade/1.4
parent02783685f003b740b2ced28566833a46d3da07f1 (diff)
downloadbcfg2-cd14868d4db8eaa7e9421e1d5fe8653294ac1e38.tar.gz
bcfg2-cd14868d4db8eaa7e9421e1d5fe8653294ac1e38.tar.bz2
bcfg2-cd14868d4db8eaa7e9421e1d5fe8653294ac1e38.zip
Options: migrated tools to new parser
Diffstat (limited to 'tools/upgrade/1.4')
-rw-r--r--tools/upgrade/1.4/README3
-rwxr-xr-xtools/upgrade/1.4/convert_bundles.py32
-rwxr-xr-xtools/upgrade/1.4/migrate_decisions.py12
3 files changed, 41 insertions, 6 deletions
diff --git a/tools/upgrade/1.4/README b/tools/upgrade/1.4/README
index b6ff8d8c8..58786966b 100644
--- a/tools/upgrade/1.4/README
+++ b/tools/upgrade/1.4/README
@@ -4,3 +4,6 @@ to 1.4.
migrate_decisions.py
- Convert old group- and host-specific whitelist and blacklist
files into structured XML
+
+remove_bundle_names.py
+ - Remove deprecated explicit bundle names
diff --git a/tools/upgrade/1.4/convert_bundles.py b/tools/upgrade/1.4/convert_bundles.py
new file mode 100755
index 000000000..b9cb483f2
--- /dev/null
+++ b/tools/upgrade/1.4/convert_bundles.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+
+import os
+import sys
+import lxml.etree
+import Bcfg2.Options
+
+
+def main():
+ parser = Bcfg2.Options.get_parser("Tool to remove bundle names")
+ parser.add_options([Bcfg2.Options.Common.repository])
+ parser.parse()
+
+ bundler_dir = os.path.join(Bcfg2.Options.setup.repository, "Bundler")
+ if os.path.exists(bundler_dir):
+ for root, _, files in os.walk(bundler_dir):
+ for fname in files:
+ bpath = os.path.join(root, fname)
+ newpath = bpath
+ if newpath.endswith(".genshi"):
+ newpath = newpath[:-6] + "xml"
+ print("Converting %s to %s" % (bpath, newpath))
+ else:
+ print("Converting %s" % bpath)
+ xroot = lxml.etree.parse(bpath)
+ xdata = xroot.getroot()
+ if 'name' in xdata.attrib:
+ del xdata.attrib['name']
+ xroot.write(bpath)
+
+if __name__ == '__main__':
+ sys.exit(main())
diff --git a/tools/upgrade/1.4/migrate_decisions.py b/tools/upgrade/1.4/migrate_decisions.py
index f7072783a..d0915f202 100755
--- a/tools/upgrade/1.4/migrate_decisions.py
+++ b/tools/upgrade/1.4/migrate_decisions.py
@@ -6,7 +6,6 @@ import sys
import glob
import lxml.etree
import Bcfg2.Options
-from Bcfg2.Server import XMLParser
SPECIFIC = re.compile(r'.*\/(white|black)list'
@@ -56,12 +55,13 @@ def convert(files, xdata):
def main():
- opts = dict(repo=Bcfg2.Options.SERVER_REPOSITORY,
- configfile=Bcfg2.Options.CFILE)
- setup = Bcfg2.Options.load_option_parser(opts)
- setup.parse(sys.argv[1:])
+ parser = Bcfg2.Options.get_parser(
+ description="Migrate from Bcfg2 1.3 Decisions list format to 1.4 "
+ "format")
+ parser.add_options([Bcfg2.Options.Common.repository])
+ parser.parse()
- datadir = os.path.join(setup['repo'], 'Decisions')
+ datadir = os.path.join(Bcfg2.Options.setup.repository, 'Decisions')
whitelist = lxml.etree.Element("Decisions")
blacklist = lxml.etree.Element("Decisions")
if os.path.exists(datadir):