summaryrefslogtreecommitdiffstats
path: root/snaps/openstack/create_stack.py
diff options
context:
space:
mode:
Diffstat (limited to 'snaps/openstack/create_stack.py')
-rw-r--r--snaps/openstack/create_stack.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/snaps/openstack/create_stack.py b/snaps/openstack/create_stack.py
index 1820e2a..0ff24d6 100644
--- a/snaps/openstack/create_stack.py
+++ b/snaps/openstack/create_stack.py
@@ -21,6 +21,7 @@ from heatclient.exc import HTTPNotFound
from snaps.openstack.create_flavor import OpenStackFlavor
from snaps.openstack.create_instance import OpenStackVmInstance
from snaps.openstack.create_keypairs import OpenStackKeypair
+from snaps.openstack.create_router import OpenStackRouter
from snaps.openstack.create_volume import OpenStackVolume
from snaps.openstack.create_volume_type import OpenStackVolumeType
from snaps.openstack.openstack_creator import OpenStackCloudObject
@@ -234,6 +235,28 @@ class OpenStackHeatStack(OpenStackCloudObject, object):
return out
+ def get_router_creators(self):
+ """
+ Returns a list of router creator objects as configured by the heat
+ template
+ :return: list() of OpenStackRouter objects
+ """
+
+ neutron = neutron_utils.neutron_client(self._os_creds)
+
+ out = list()
+ stack_routers = heat_utils.get_stack_routers(
+ self.__heat_cli, neutron, self.__stack)
+
+ for routers in stack_routers:
+ settings = settings_utils.create_router_settings(
+ neutron, routers)
+ creator = OpenStackRouter(self._os_creds, settings)
+ out.append(creator)
+ creator.initialize()
+
+ return out
+
def get_vm_inst_creators(self, heat_keypair_option=None):
"""
Returns a list of VM Instance creator objects as configured by the heat