git://git.onelab.eu
/
plstackapi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
subnets and slivers work when openstack is disable or unavailable
[plstackapi.git]
/
plstackapi
/
openstack
/
sliveragent.py
diff --git
a/plstackapi/openstack/sliveragent.py
b/plstackapi/openstack/sliveragent.py
index
732a5f1
..
f07f603
100644
(file)
--- a/
plstackapi/openstack/sliveragent.py
+++ b/
plstackapi/openstack/sliveragent.py
@@
-1,22
+1,28
@@
import os
import os
+import sys
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "plstackapi.planetstack.settings")
import time
from plstackapi.core.models.sliver import Sliver
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "plstackapi.planetstack.settings")
import time
from plstackapi.core.models.sliver import Sliver
-from plstackapi.openstack.
client import OpenStackClient
+from plstackapi.openstack.
manager import OpenStackManager
class SliverAgent:
def run(self):
class SliverAgent:
def run(self):
- client = OpenStackClient()
- while True:
+ manager = OpenStackManager()
+ # exit if openstack is disable or unavailable
+ if not manager.enabled or not manager.has_openstack:
+ sys.exit()
+
+ while True :
# fill in null ip addresses
slivers = Sliver.objects.filter(ip=None)
for sliver in slivers:
# update connection
# fill in null ip addresses
slivers = Sliver.objects.filter(ip=None)
for sliver in slivers:
# update connection
-
client.connect(username=
client.keystone.username,
- password=client.keystone.password,
+
manager.client.connect(username=manager.
client.keystone.username,
+ password=
manager.
client.keystone.password,
tenant=sliver.slice.name)
tenant=sliver.slice.name)
- servers = client.nova.servers.findall(id=sliver.instance_id)
+ sliver.os_manager = manager
+ servers = manager.client.nova.servers.findall(id=sliver.instance_id)
if not servers:
continue
server = servers[0]
if not servers:
continue
server = servers[0]