Hopefully get OpenVPN working
diff --git a/xos/vpn/admin.py b/xos/vpn/admin.py
index 4010e0f..4640de2 100644
--- a/xos/vpn/admin.py
+++ b/xos/vpn/admin.py
@@ -4,6 +4,7 @@
 from core.models import User
 from django import forms
 from django.contrib import admin
+from subprocess import Popen, PIPE
 from vpn.models import VPNService, VPNTenant, VPN_KIND
 
 class VPNServiceAdmin(ReadOnlyAwareAdmin):
@@ -45,8 +46,8 @@
     def __init__(self, *args, **kwargs):
         super(VPNTenantForm, self).__init__(*args, **kwargs)
         self.fields['kind'].widget.attrs['readonly'] = True
-        # Make the server_key read only
-        self.fields['server_key'].widget.attrs['readonly'] = True
+        # Make the server_key disabled
+        self.fields['server_key'].widget.attrs['disabled'] = True
 
         self.fields[
             'provider_service'].queryset = VPNService.get_service_objects().all()
@@ -60,14 +61,20 @@
         # If there is not an instance then we need to set initial values.
         if (not self.instance) or (not self.instance.pk):
             self.fields['creator'].initial = get_request().user
-            self.fields['server_key'].initial = "hello world!"
+            self.fields['server_key'].initial = generate_VPN_Key()
             if VPNService.get_service_objects().exists():
                 self.fields["provider_service"].initial = VPNService.get_service_objects().all()[0]
 
     def save(self, commit=True):
         self.instance.creator = self.cleaned_data.get("creator")
+        self.instance.servery_key = self.cleaned_data.get("sever_key")
         return super(VPNTenantForm, self).save(commit=commit)
 
+    def generate_VPN_Key():
+        proc = Popen("openvpn --genkey --secret /dev/stdout", shell=True, stdout=PIPE)
+        (stdout, stderr) = proc.communicate()
+        return stdout
+
     class Meta:
         model = VPNTenant