description: DNS zone
value: { get_param: zone }
diff --git a/ellis.yaml b/ellis.yaml
-index 963352d..a7ce50b 100644
+index 963352d..ee7e505 100644
--- a/ellis.yaml
+++ b/ellis.yaml
@@ -44,9 +44,6 @@ parameters:
echo 'RESOLV_CONF=/etc/dnsmasq.resolv.conf' >> /etc/default/dnsmasq
service dnsmasq force-reload
-+ sleep 60
++ sleep 180
+ monit summary
+ clearwater-etcdctl cluster-health
+ clearwater-etcdctl member list
console = self.cloud.get_server_console(name)
self.__logger.debug("console: \n%s", console)
if re.search(regex, console):
- self.__logger.debug("regex found: ''%s' in console", regex)
+ self.__logger.debug(
+ "regex found: '%s' in console\n%s", regex, console)
return True
else:
self.__logger.debug(
- "try %s: cannot find regex '%s' in console",
- iloop + 1, regex)
+ "try %s: cannot find regex '%s' in console\n%s",
+ iloop + 1, regex, console)
time.sleep(10)
self.__logger.error("cannot find regex '%s' in console", regex)
return False
import os
import re
import time
+import tempfile
+import paramiko
import pkg_resources
from xtesting.core import testcase
self.stack = None
self.clearwater = None
self.role = None
+ (_, self.key_filename) = tempfile.mkstemp()
def create_network_resources(self):
pass
self.keypair = self.cloud.create_keypair(
'{}-kp_{}'.format(self.case_name, self.guid))
self.__logger.info("keypair:\n%s", self.keypair.private_key)
+ with open(self.key_filename, 'w') as private_key_file:
+ private_key_file.write(self.keypair.private_key)
if self.deploy_vnf() and self.test_vnf():
self.result = 100
self.stop_time = time.time()
return status
+ def _monit(self, username="ubuntu", timeout=60):
+ servers = self.cloud.list_servers(detailed=True)
+ self.__logger.debug("servers: %s", servers)
+ for server in servers:
+ if 'ns' in server.name:
+ break
+ self.__logger.info("server:\n%s", server.name)
+ ssh = paramiko.SSHClient()
+ ssh.set_missing_host_key_policy(paramiko.client.AutoAddPolicy())
+ ssh.connect(
+ server.public_v4, username=username,
+ key_filename=self.key_filename, timeout=timeout)
+ (_, stdout, _) = ssh.exec_command('sudo monit summary')
+ self.__logger.info("output:\n%s", stdout.read())
+ ssh.close()
+
def deploy_vnf(self):
"""Deploy Clearwater IMS."""
start_time = time.time()
self.__logger.debug("servers: %s", servers)
for server in servers:
if not self.check_regex_in_console(
- server.name, regex='Cloud-init .* finished at ', loop=1):
+ server.name, regex='Cloud-init .* finished at ', loop=60):
return False
if 'ellis' in server.name:
self.__logger.debug("server: %s", server)
if not dns_ip:
return False
+ self._monit()
+
short_result = self.clearwater.run_clearwater_live_test(
dns_ip=dns_ip,
public_domain=self.vnf['parameters']["zone"])