def verify_port_status(step, port, closed, serv_as): server = getattr(world, serv_as) if port.isdigit(): port = int(port) else: port = SERVICES_PORTS_MAP[port] if isinstance(port, collections.Iterable): port = port[0] closed = True if closed else False LOG.info('Verify port %s is %s on server %s' % (port, 'closed' if closed else 'open', server.id)) node = world.cloud.get_node(server) if not CONF.feature.dist.is_windows: world.set_iptables_rule(server, port) if CONF.feature.driver.cloud_family == Platform.CLOUDSTACK and world.cloud._driver.use_port_forwarding( ): port = world.cloud.open_port(node, port, ip=server.public_ip) results = [] for attempt in range(3): results.append(world.check_open_port(server, port)) time.sleep(5) if closed and results[-1]: raise AssertionError('Port %s is open on server %s (attempts: %s)' % (port, server.id, results)) elif not closed and not results[-1]: raise AssertionError('Port %s is closed on server %s (attempts: %s)' % (port, server.id, results))
def _verify_open_port(server, port): for i in range(5): opened = world.check_open_port(server, port) if opened: return True time.sleep(15) return False
def listen_only(step, port, serv_as): world.farm.servers.reload() servers = [s for s in world.farm.servers if s.status == 'Running'] server = getattr(world, serv_as) port = port.strip() wait_until(world.check_open_port, args=(server, port.strip()), timeout=600, error_text="Port %s is not open" % port) for serv in servers: if serv.id == server.id: continue time.sleep(60) res = world.check_open_port(serv, port.strip()) world.assert_exist(res, 'Port %s is open, but must be closed in server %s' % (port, serv.id))
def assert_port(step, port, state, serv_as): if serv_as == 'all': world.farm.servers.reload() servers = [s for s in world.farm.servers if s.status == 'Running'] else: servers = [getattr(world, serv_as), ] state = state.strip() state = False if state == 'not' else True for serv in servers: time.sleep(60) if state: res = wait_until(world.check_open_port, args=(serv, port.strip()), timeout=600, error_text="Port %s is not open" % port) else: res = world.check_open_port(serv, port.strip()) world.assert_not_equal(state, res, 'Port %s is %s, but must %s in server %s' % (port, res, state, serv.id))
def listen_only(step, port, serv_as): world.farm.servers.reload() servers = [s for s in world.farm.servers if s.status == 'Running'] server = getattr(world, serv_as) port = port.strip() wait_until(world.check_open_port, args=(server, port.strip()), timeout=600, error_text="Port %s is not open" % port) for serv in servers: if serv.id == server.id: continue time.sleep(60) res = world.check_open_port(serv, port.strip()) world.assert_exist( res, 'Port %s is open, but must be closed in server %s' % (port, serv.id))
def assert_port(step, port, state, serv_as): if serv_as == 'all': world.farm.servers.reload() servers = [s for s in world.farm.servers if s.status == 'Running'] else: servers = [ getattr(world, serv_as), ] state = state.strip() state = False if state == 'not' else True for serv in servers: time.sleep(60) if state: res = wait_until(world.check_open_port, args=(serv, port.strip()), timeout=600, error_text="Port %s is not open" % port) else: res = world.check_open_port(serv, port.strip()) world.assert_not_equal( state, res, 'Port %s is %s, but must %s in server %s' % (port, res, state, serv.id))