+ def get_transport_url(self):
+ client = SSHClient(self.controllers[0], self.node_user_name,
+ key_filename=self.key_file)
+ if self.use_containers:
+ ncbase = "/var/lib/config-data/puppet-generated/nova"
+ else:
+ ncbase = ""
+ command = 'sudo grep "^transport_url" %s/etc/nova/nova.conf' % ncbase
+
+ ret, url = client.ssh(command)
+ if ret:
+ raise Exception('Exec command to get host ip from controller(%s)'
+ 'in Apex installer failed, ret=%s, output=%s'
+ % (self.controllers[0], ret, url))
+ # need to use ip instead of hostname
+ ret = (re.sub("@.*:", "@%s:" % self.controllers[0],
+ url[0].split("=", 1)[1]))
+ self.log.debug('get_transport_url %s' % ret)
+ return ret
+
+ def _set_docker_restart_cmd(self, service):
+ # There can be multiple instances running so need to restart all
+ cmd = "for container in `sudo docker ps | grep "
+ cmd += service
+ cmd += " | awk '{print $1}'`; do sudo docker restart $container; \
+ done;"
+ return cmd
+