aboutsummaryrefslogtreecommitdiffstats
path: root/contrail-openstack/hooks/charmhelpers/core/kernel_factory
diff options
context:
space:
mode:
Diffstat (limited to 'contrail-openstack/hooks/charmhelpers/core/kernel_factory')
-rw-r--r--contrail-openstack/hooks/charmhelpers/core/kernel_factory/__init__.py0
-rw-r--r--contrail-openstack/hooks/charmhelpers/core/kernel_factory/centos.py17
-rw-r--r--contrail-openstack/hooks/charmhelpers/core/kernel_factory/ubuntu.py13
3 files changed, 30 insertions, 0 deletions
diff --git a/contrail-openstack/hooks/charmhelpers/core/kernel_factory/__init__.py b/contrail-openstack/hooks/charmhelpers/core/kernel_factory/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/contrail-openstack/hooks/charmhelpers/core/kernel_factory/__init__.py
diff --git a/contrail-openstack/hooks/charmhelpers/core/kernel_factory/centos.py b/contrail-openstack/hooks/charmhelpers/core/kernel_factory/centos.py
new file mode 100644
index 0000000..1c402c1
--- /dev/null
+++ b/contrail-openstack/hooks/charmhelpers/core/kernel_factory/centos.py
@@ -0,0 +1,17 @@
+import subprocess
+import os
+
+
+def persistent_modprobe(module):
+ """Load a kernel module and configure for auto-load on reboot."""
+ if not os.path.exists('/etc/rc.modules'):
+ open('/etc/rc.modules', 'a')
+ os.chmod('/etc/rc.modules', 111)
+ with open('/etc/rc.modules', 'r+') as modules:
+ if module not in modules.read():
+ modules.write('modprobe %s\n' % module)
+
+
+def update_initramfs(version='all'):
+ """Updates an initramfs image."""
+ return subprocess.check_call(["dracut", "-f", version])
diff --git a/contrail-openstack/hooks/charmhelpers/core/kernel_factory/ubuntu.py b/contrail-openstack/hooks/charmhelpers/core/kernel_factory/ubuntu.py
new file mode 100644
index 0000000..3de372f
--- /dev/null
+++ b/contrail-openstack/hooks/charmhelpers/core/kernel_factory/ubuntu.py
@@ -0,0 +1,13 @@
+import subprocess
+
+
+def persistent_modprobe(module):
+ """Load a kernel module and configure for auto-load on reboot."""
+ with open('/etc/modules', 'r+') as modules:
+ if module not in modules.read():
+ modules.write(module + "\n")
+
+
+def update_initramfs(version='all'):
+ """Updates an initramfs image."""
+ return subprocess.check_call(["update-initramfs", "-k", version, "-u"])