Use outputs section for getting ip addresses
Instead of direct call in test we may also test attributes and show good
example of how to use get_attr functions.
Change-Id: I4c2e78fe6c1fc8808f0180592b60c091613a3af9
diff --git a/scenario/templates/test_neutron_loadbalancer.yaml b/scenario/templates/test_neutron_loadbalancer.yaml
index fad7db8..a7e9f9c 100644
--- a/scenario/templates/test_neutron_loadbalancer.yaml
+++ b/scenario/templates/test_neutron_loadbalancer.yaml
@@ -32,7 +32,7 @@
- remote_ip_prefix: 0.0.0.0/0
protocol: icmp
- server1 :
+ server1:
type: OS::Nova::Server
properties:
name: Server1
@@ -52,7 +52,7 @@
- 'python -m SimpleHTTPServer '
- { get_param: port }
- server2 :
+ server2:
type: OS::Nova::Server
properties:
name: Server2
@@ -106,3 +106,12 @@
members:
- { get_resource: server1 }
+outputs:
+ serv1_ip:
+ value: {get_attr: [server1, networks, private, 0]}
+ serv2_ip:
+ value: {get_attr: [server2, networks, private, 0]}
+ vip:
+ value: {get_attr: [test_pool, vip, address]}
+ fip:
+ value: {get_attr: [floating_ip, floating_ip_address]}
diff --git a/scenario/test_neutron_loadbalancer.py b/scenario/test_neutron_loadbalancer.py
index bc2d77c..3f49251 100644
--- a/scenario/test_neutron_loadbalancer.py
+++ b/scenario/test_neutron_loadbalancer.py
@@ -64,23 +64,11 @@
parameters=parameters
)
- server1_id = self.client.resources.get(
- sid, 'server1').physical_resource_id
- server2_id = self.client.resources.get(
- sid, 'server2').physical_resource_id
- floating_ip_id = self.client.resources.get(
- sid, 'floating_ip').physical_resource_id
- floating_ip = self.network_client.show_floatingip(
- floating_ip_id)['floatingip']['floating_ip_address']
- pool_id = self.client.resources.get(
- sid, 'test_pool').physical_resource_id
- vip_id = self.network_client.show_pool(pool_id)['pool']['vip_id']
-
- vip = self.network_client.show_vip(vip_id)['vip']['address']
- server1_ip = self.compute_client.servers.get(
- server1_id).networks['private'][0]
- server2_ip = self.compute_client.servers.get(
- server2_id).networks['private'][0]
+ stack = self.client.stacks.get(sid)
+ floating_ip = self._stack_output(stack, 'fip')
+ vip = self._stack_output(stack, 'vip')
+ server1_ip = self._stack_output(stack, 'serv1_ip')
+ server2_ip = self._stack_output(stack, 'serv2_ip')
# Check connection and info about received responces
self.check_connectivity(server1_ip)