Merge branch 'master' of ssh://git.planet-lab.org/git/plstackapi
authorScott Baker <smbaker@gmail.com>
Sat, 15 Nov 2014 00:13:53 +0000 (16:13 -0800)
committerScott Baker <smbaker@gmail.com>
Sat, 15 Nov 2014 00:13:53 +0000 (16:13 -0800)
opencloud.spec
planetstack/model-deps [new file with mode: 0644]
planetstack/model_autodeletion.py [new file with mode: 0644]
planetstack/openstack/driver.py

index 6d79ed5..e67b63b 100644 (file)
@@ -104,13 +104,6 @@ comm -13 %{_tmppath}/config-files.sorted %{_tmppath}/tmp-filelist.sorted > %{_tm
 
 cp %{_tmppath}/tmp-filelist /tmp/tmp-filelist
 
-# Clone ansible with latest openstack modules
-git clone --recursive git://github.com/ansible/ansible.git /opt/ansible
-mkdir -p /etc/ansible
-echo > /etc/ansible/hosts << "EOF"
-[localhost]
-127.0.0.1
-EOF
 
 %clean
 rm -rf %{buildroot}
@@ -119,6 +112,7 @@ rm -rf %{buildroot}
 %defattr(-,root,root,-)
 %config /opt/planetstack/plstackapi_config
 %config /opt/planetstack/deployment_auth.py
+%config /opt/planetstack/model-deps
 
 %post
 ln -s ec2_observer /opt/planetstack/observer
@@ -138,6 +132,15 @@ else
     /opt/planetstack/scripts/opencloud evolvedb
 fi
 
+# Clone ansible with latest openstack modules
+git clone --recursive git://github.com/ansible/ansible.git /opt/ansible
+mkdir -p /etc/ansible
+echo > /etc/ansible/hosts << "EOF"
+[localhost]
+127.0.0.1
+EOF
+
+
 # start the server
 /opt/planetstack/scripts/opencloud runserver
 
diff --git a/planetstack/model-deps b/planetstack/model-deps
new file mode 100644 (file)
index 0000000..68a4889
--- /dev/null
@@ -0,0 +1,104 @@
+{
+    "Slice": [
+        "Site", 
+        "Service", 
+        "ServiceClass"
+    ], 
+    "ImageDeployments": [
+        "Image", 
+        "Deployment"
+    ], 
+    "ReservedResource": [
+        "Sliver"
+    ], 
+    "NetworkSlice": [
+        "Network", 
+        "Slice"
+    ], 
+    "Charge": [
+        "Account", 
+        "Slice", 
+        "Invoice"
+    ], 
+    "SliceDeployments": [
+        "Slice", 
+        "Deployment"
+    ], 
+    "Sliver": [
+        "Image", 
+        "Slice", 
+        "Node"
+    ], 
+    "Node": [
+        "Site", 
+        "Deployment"
+    ], 
+    "UserDashboardView": [
+        "User", 
+        "DashboardView"
+    ], 
+    "Tag": [
+        "Service"
+    ], 
+    "User": [
+        "Site"
+    ], 
+    "SliceTag": [
+        "Slice"
+    ], 
+    "Reservation": [
+        "Slice"
+    ], 
+    "ServiceResource": [
+        "ServiceClass"
+    ], 
+    "Payment": [
+        "Account"
+    ], 
+    "UserDeployments": [
+        "User", 
+        "Deployment"
+    ], 
+    "Account": [
+        "Site"
+    ], 
+    "ServiceAttribute": [
+        "Service"
+    ], 
+    "SlicePrivilege": [
+        "User", 
+        "Slice", 
+        "Role"
+    ], 
+    "NetworkSliver": [
+        "Network", 
+        "Sliver"
+    ], 
+    "SitePrivilege": [
+        "User", 
+        "Site", 
+        "Role"
+    ], 
+    "NetworkDeployments": [
+        "Network", 
+        "Deployment",
+               "SliceDeployments"
+    ], 
+    "SiteDeployments": [
+        "Site", 
+        "Deployment"
+    ], 
+    "DeploymentPrivilege": [
+        "User", 
+        "Deployment", 
+        "Role"
+    ], 
+    "PlanetStackPrivilege": [
+        "User", 
+        "PlanetStack", 
+        "Role"
+    ], 
+    "Invoice": [
+        "Account"
+    ]
+}
diff --git a/planetstack/model_autodeletion.py b/planetstack/model_autodeletion.py
new file mode 100644 (file)
index 0000000..3cdefad
--- /dev/null
@@ -0,0 +1 @@
+ephemeral_models = ['ReservedResource','Sliver','Image','Network','NetworkSliver','Tag','SitePrivilege','SliceMembership','SliceTag','Reservation','Slice']
index 6fb81a5..5506ca6 100644 (file)
@@ -433,12 +433,12 @@ class OpenStackDriver:
         
         # determine availability zone and compute host 
         availability_zone_filter = None
-        if not availability_zone:
+        if availability_zone is None or not availability_zone:
             availability_zone_filter = 'nova'
         else: 
             availability_zone_filter = availability_zone
         if hostname:
-            availability_zone_filter += ':%s' % hostname.split('.')[0]
+            availability_zone_filter += ':%s' % hostname
 
         server = self.shell.nova.servers.create(
                                             name=name,