def build_layer(layer): """ Build a layer using its cloud provider. :param layer: a :class:`~api.models.Layer` to build """ provider = import_provider_module(layer.flavor.provider.type) provider.build_layer(layer.flat())
def build_node(node): provider = import_provider_module(node.layer.flavor.provider.type) provider_id, fqdn, metadata = provider.build_node(node.flat()) node.provider_id = provider_id node.fqdn = fqdn node.metadata = metadata node.save() CM.bootstrap_node(node.flat())
def destroy_layer(layer): """ Destroy a layer. :param layer: a :class:`~api.models.Layer` to destroy """ provider = import_provider_module(layer.flavor.provider.type) provider.destroy_layer(layer.flat()) layer.delete()
def seed(self, user, **kwargs): """Seed the database with default Flavors for each cloud region.""" for provider_type in settings.PROVIDER_MODULES: provider = import_provider_module(provider_type) flavors = provider.seed_flavors() p = Provider.objects.get(owner=user, id=provider_type) for flavor in flavors: flavor['provider'] = p Flavor.objects.create(owner=user, **flavor)
def destroy_node(node): """ Destroy a node. :param node: a :class:`~api.models.Node` to destroy """ provider = import_provider_module(node.layer.flavor.provider.type) provider.destroy_node(node.flat()) CM.purge_node(node.flat()) node.delete()
def build_node(node): """ Build a node using its cloud provider. :param node: a :class:`~api.models.Node` to build """ provider = import_provider_module(node.layer.flavor.provider.type) provider_id, fqdn, metadata = provider.build_node(node.flat()) node.provider_id = provider_id node.fqdn = fqdn node.metadata = metadata node.save() try: CM.bootstrap_node(node.flat()) except RuntimeError as err: raise BuildNodeError(str(err))
def destroy_node(node): provider = import_provider_module(node.layer.flavor.provider.type) provider.destroy_node(node.flat()) CM.purge_node(node.flat()) node.delete()
def destroy_layer(layer): provider = import_provider_module(layer.flavor.provider.type) provider.destroy_layer(layer.flat()) layer.delete()
def build_layer(layer): provider = import_provider_module(layer.flavor.provider.type) provider.build_layer(layer.flat())