def run_wget(self, vm, vip): response = '' out = '' result = False cmd1 = 'rm -f index.html && wget http://%s' % vip cmd2 = 'cat index.html' result = remote_cmd( host_string='%s@%s' % (vm.vm_username, vm.local_ip), password=vm.vm_password, cmd=cmd1, gateway='@'.join([self.inputs.username, vm.vm_node_ip]), gateway_password=self.inputs.password, logger=self.logger) if result and (result.count('200 OK') or result.count('100%')): result = True self.logger.info("connections to vip %s successful" % (vip)) response = remote_cmd( host_string='%s@%s' % (vm.vm_username, vm.local_ip), password=vm.vm_password, cmd=cmd2, gateway='@'.join([self.inputs.username, vm.vm_node_ip]), gateway_password=self.inputs.password, logger=self.logger) self.logger.info("Request went to server: %s" % (response)) else: self.logger.error( "Error in response on connecting to vip %s. Error is %s" % (vip, result)) result = False return (result, response)
def start_simpleHTTPserver(self, servers): webserver_script = '/tmp/webserver.sh' for server in servers: # unable to launch webserver as daemon with cirros image # hence the workaround of writing to temporary script which # launches the web server webserver_cmd = ''' echo '#!/bin/sh while true; do echo -e "HTTP/1.0 200 OK\\r\\n\\r\\n%s" | nc -l -p 80 done' > /tmp/test.sh; chmod 777 /tmp/test.sh; echo '#!/bin/sh /tmp/test.sh' > %s; chmod 777 %s''' % (server.vm_ip, webserver_script, webserver_script) webserver_cmd = "%s; chmod +x %s" % (webserver_cmd, webserver_script) remote_cmd( host_string='%s@%s' % (server.vm_username, server.local_ip), password=server.vm_password, gateway='@'.join([self.inputs.username, server.vm_node_ip]), gateway_password=self.inputs.password, cmd=webserver_cmd, logger=self.logger) remote_cmd( host_string='%s@%s' % (server.vm_username, server.local_ip), password=server.vm_password, cmd=webserver_script, gateway='@'.join([self.inputs.username, server.vm_node_ip]), gateway_password=self.inputs.password, with_sudo=True, as_daemon=True, logger=self.logger) return
def start_simpleHTTPserver(self, servers): output = '' for server in servers: cmd1 = 'hostname > index.html' cmd2 = 'python -m SimpleHTTPServer 80 &> /tmp/http.log' remote_cmd( host_string='%s@%s' % (server.vm_username, server.local_ip), password=server.vm_password, cmd=cmd1, gateway='@'.join([self.inputs.username, server.vm_node_ip]), gateway_password=self.inputs.password, cwd='/tmp', logger=self.logger) try: remote_cmd(host_string='%s@%s' % (server.vm_username, server.local_ip), password=server.vm_password, cmd=cmd2, gateway='@'.join( [self.inputs.username, server.vm_node_ip]), gateway_password=self.inputs.password, with_sudo=True, timeout=1, cwd='/tmp', logger=self.logger) except CommandTimeout: pass return
def run_wget(self, vm, vip): response = '' out = '' result = False cmd1 = 'rm -f index.html && wget http://%s' % vip cmd2 = 'cat index.html' result = remote_cmd( host_string='%s@%s'%(vm.vm_username, vm.local_ip), password=vm.vm_password, cmd=cmd1, gateway='@'.join([self.inputs.username, vm.vm_node_ip]), gateway_password=self.inputs.password, logger=self.logger ) if result and (result.count('200 OK') or result.count('100%')): result = True self.logger.info("connections to vip %s successful" % (vip)) response = remote_cmd( host_string='%s@%s'%(vm.vm_username, vm.local_ip), password=vm.vm_password, cmd=cmd2, gateway='@'.join([self.inputs.username, vm.vm_node_ip]), gateway_password=self.inputs.password, logger=self.logger ) self.logger.info("Request went to server: %s" % (response)) else: self.logger.error("Error in response on connecting to vip %s. Error is %s" % (vip, result)) result = False return (result, response)
def start_simpleHTTPserver(self, servers): webserver_script = '/tmp/webserver.sh' for server in servers: # unable to launch webserver as daemon with cirros image # hence the workaround of writing to temporary script which # launches the web server webserver_cmd = ''' echo '#!/bin/sh while true; do echo -e "HTTP/1.0 200 OK\\r\\n\\r\\n%s" | nc -l -p 80 done' > /tmp/test.sh; chmod 777 /tmp/test.sh; echo '#!/bin/sh /tmp/test.sh' > %s; chmod 777 %s'''%(server.vm_ip, webserver_script, webserver_script) webserver_cmd = "%s; chmod +x %s"%(webserver_cmd, webserver_script) remote_cmd(host_string='%s@%s'%(server.vm_username, server.local_ip), password=server.vm_password, gateway='@'.join([self.inputs.username, server.vm_node_ip]), gateway_password=self.inputs.password, cmd=webserver_cmd, logger=self.logger) remote_cmd(host_string = '%s@%s'%(server.vm_username, server.local_ip), password=server.vm_password, cmd=webserver_script, gateway='@'.join([self.inputs.username, server.vm_node_ip]), gateway_password=self.inputs.password, with_sudo=True, as_daemon=True, logger=self.logger) return
def start_simpleHTTPserver(self, servers): output = '' for server in servers: cmd1 = 'hostname > index.html' cmd2 = 'python -m SimpleHTTPServer 80 &> /tmp/http.log' remote_cmd(host_string='%s@%s'%(server.vm_username, server.local_ip), password=server.vm_password, cmd=cmd1, gateway='@'.join([self.inputs.username, server.vm_node_ip]), gateway_password=self.inputs.password, cwd='/tmp') try: remote_cmd(host_string = '%s@%s'%(server.vm_username, server.local_ip), password=server.vm_password, cmd=cmd2, gateway='@'.join([self.inputs.username, server.vm_node_ip]), gateway_password=self.inputs.password, with_sudo=True, timeout=1, cwd='/tmp') except CommandTimeout: pass return