summaryrefslogtreecommitdiffstats
path: root/ipaserver/install/sysupgrade.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipaserver/install/sysupgrade.py')
-rw-r--r--ipaserver/install/sysupgrade.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/ipaserver/install/sysupgrade.py b/ipaserver/install/sysupgrade.py
new file mode 100644
index 000000000..c508d2bbd
--- /dev/null
+++ b/ipaserver/install/sysupgrade.py
@@ -0,0 +1,47 @@
+# Authors: Martin Kosek <mkosek@redhat.com>
+#
+# Copyright (C) 2012 Red Hat
+# see file 'COPYING' for use and warranty information
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+import os
+import os.path
+
+from ipapython import sysrestore
+from ipapython.ipa_log_manager import *
+
+STATEFILE_DIR = '/var/lib/ipa/sysupgrade'
+STATEFILE_FILE = 'sysupgrade.state'
+
+_sstore = sysrestore.StateFile(STATEFILE_DIR, STATEFILE_FILE)
+
+def get_upgrade_state(module, state):
+ global _sstore
+ return _sstore.get_state(module, state)
+
+def set_upgrade_state(module, state, value):
+ global _sstore
+ _sstore.backup_state(module, state, value)
+
+def remove_upgrade_state(module, state):
+ global _sstore
+ _sstore.delete_state(module, state)
+
+def remove_upgrade_file():
+ try:
+ os.remove(os.path.join(STATEFILE_DIR, STATEFILE_FILE))
+ except Exception, e:
+ root_logger.debug('Cannot remove sysupgrade state file: %s', e)