from sfa.rspecs.elements.node import Node
from sfa.rspecs.elements.sliver import Sliver
from sfa.rspecs.elements.login import Login
+from sfa.rspecs.elements.disk_image import DiskImage
from sfa.rspecs.elements.services import Services
from sfa.util.xrn import Xrn
from sfa.util.osxrn import OSXrn
else:
zones = [zone.name for zone in zones]
+ # available sliver/instance/vm types
+ instances = self.driver.shell.db.instance_type_get_all().values()
+ # available images
+ images = self.driver.shell.image_manager.detail()
+ disk_images = []
+ for image in images:
+ if image['container_format'] == 'ami':
+ img = DiskImage()
+ img['name'] = image['name']
+ img['description'] = image['name']
+ img['os'] = image['name']
+ img['version'] = image['name']
+ disk_images.append(img)
+
rspec_nodes = []
for zone in zones:
rspec_node = Node()
rspec_node['exclusive'] = 'false'
rspec_node['hardware_types'] = [HardwareType({'name': 'plos-pc'}),
HardwareType({'name': 'pc'})]
- instances = self.driver.shell.db.instance_type_get_all().values()
- slivers = [self.instance_to_sliver(inst) for inst in instances]
+ slivers = []
+ for instance in instances:
+ sliver = self.instance_to_sliver(instance)
+ sliver['disk_images'] = disk_images
+ slivers.append(sliver)
+
rspec_node['slivers'] = slivers
rspec_nodes.append(rspec_node)