Merge branch 'master' of ssh://git.planet-lab.org/git/plstackapi
diff --git a/planetstack/observer/steps/garbage_collector.py b/planetstack/observer/steps/garbage_collector.py
index 4e0a865..495469f 100644
--- a/planetstack/observer/steps/garbage_collector.py
+++ b/planetstack/observer/steps/garbage_collector.py
@@ -21,7 +21,7 @@
#self.gc_tenants()
#self.gc_users()
#self.gc_user_tenant_roles()
- #self.gc_slivers()
+ self.gc_slivers()
#self.gc_sliver_ips()
#self.gc_external_routes()
pass
@@ -184,6 +184,8 @@
sliver_dict[sliver.instance_id] = sliver
for tenant in self.driver.shell.keystone.tenants.list():
+ if tenant.name in ['admin', 'services']:
+ continue
# delete sliver that don't have a sliver record
tenant_driver = self.driver.client_driver(tenant=tenant.name, deployment=sliver.node.deployment)
for instance in tenant_driver.nova.servers.list():
diff --git a/planetstack/observer/steps/sync_network_deployments.py b/planetstack/observer/steps/sync_network_deployments.py
index f9a4bc0..d1b51d5 100644
--- a/planetstack/observer/steps/sync_network_deployments.py
+++ b/planetstack/observer/steps/sync_network_deployments.py
@@ -7,13 +7,14 @@
from observer.openstacksyncstep import OpenStackSyncStep
from core.models.network import *
from core.models.slice import *
+from core.models.slice import Sliver
from util.logger import Logger, logging
logger = Logger(level=logging.INFO)
class SyncNetworkDeployments(OpenStackSyncStep):
requested_interval = 0
- provides=[NetworkDeployments]
+ provides=[Networ, NetworkDeployments, Sliver]
def fetch_pending(self):
# network deployments are not visible to users. We must ensure
diff --git a/planetstack/observer/steps/sync_sliver_ips.py b/planetstack/observer/steps/sync_sliver_ips.py
index 83e33eb..e2212d1 100644
--- a/planetstack/observer/steps/sync_sliver_ips.py
+++ b/planetstack/observer/steps/sync_sliver_ips.py
@@ -24,5 +24,6 @@
if not ips:
return
sliver.ip = ips[0]['addr']
- sliver.save()
- logger.info("saved sliver ip: %s %s" % (sliver, ips[0]))
+ if sliver.ip:
+ sliver.save()
+ logger.info("saved sliver ip: %s %s" % (sliver, ips[0]))
diff --git a/planetstack/observer/steps/sync_slivers.py b/planetstack/observer/steps/sync_slivers.py
index 473b3ac..b576bbc 100644
--- a/planetstack/observer/steps/sync_slivers.py
+++ b/planetstack/observer/steps/sync_slivers.py
@@ -76,13 +76,6 @@
'public_key': sliver.creator.public_key}
driver.create_keypair(**key_fields)
- slice_deployments = SliceDeployments.objects.filter(slice = sliver.slice,
- deployment = sliver.deploymentNetwork)
- for slice_deployment in slice_deployments:
- if slice_deployment.keyname:
- keyname = slice_deployment.keyname
- break
-
instance = driver.spawn_instance(name=sliver.name,
key_name = keyname,
image_id = image_id,