Repository navigation
Conversation
…runner-farm - ./zebrunner.sh doctor checks the host, the settings, the deployment, the network to the MCloud server (the NAT hairpin of STF_PROVIDER_HOST, AGENT_HOSTS of stf-proxy) and the devices, and tells what to fix - the setup ends with the numbered next steps, curve-key prints the STF_ZMQ_CURVE_CLIENT_KEY_<HOST> line of mcloud - ansible offers to remove the running containers of the devices before the deploy - zebrunner-farm: several devices, groups and patterns, -x to exclude, the list and the question in a terminal (filter, exclude, run, cancel), -q; one line per container: running, started, created or the error Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s of the devices - zebrunner-farm restart --batch (default: all the containers removed, then created) or --rolling (device by device), s of the question switches it - REMOTE_CONNECT_HOST goes to the STF containers (adb connect through the adb relay of mcloud), doctor checks the relay on the ports of the devices and prints the ADB_RELAY_HOSTS entry of the host - proxy_port and server_proxy_port of the devices are dropped: not in mcloud-devices.txt, not passed to appium; doctor reads the list of the earlier format too Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…db relay The relay forwards min_port + 1 of every Android device only: min_port is the screen, it has no login of its own. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…d device - connect_port of a device (optional, Android): STF_PROVIDER_CONNECT_PORT of its STF container (zebrunner/stf fixed connect port), published when it is out of min_port-max_port, validated with the other host ports; appium gets it as ADB_PORT - adb_port is no longer obligatory: unused on Linux, the host port of a USB Android device on macOS - mcloud-devices.txt: connect_port is the 15th field - doctor: the remote debug ports from connect_port (min_port + 1 without it), ADB_RELAY=true of mcloud as the fix Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
./zebrunner.sh doctor: host, settings, deployment (zebrunner-farm / containers rendered with other settings), network to MCloud (endpoints, NAT hairpin ofSTF_PROVIDER_HOSTwith the LAN address to use,AGENT_HOSTSof stf-proxy via 403/401), devices (refused grid registration, refused CURVE key). Never prints secrets, exits 1 on a problem. Network probes inpatch/netcheck.py(stdlib Python)../zebrunner.sh setupends with numbered next steps (lists the host addresses forSTF_PROVIDER_HOST)../zebrunner.sh curve-keyprints theSTF_ZMQ_CURVE_CLIENT_KEY_<HOST>=<key>line for mcloud (feat(zmq): allow one client key per STF_ZMQ_CURVE_CLIENT_KEY_<HOST> variable stf#1114, feat(curve): one STF_ZMQ_CURVE_CLIENT_KEY_<HOST> variable per device host mcloud#276)../zebrunner.sh ansiblelists the running device containers and offers to remove them first [Y/n].zebrunner-farm: several devices, groups (ios,android,usb,wireless, ...), patterns,-x/--exclude,-q; in a terminal a numbered list with container states and the question run / cancel / filter (f) / exclude (x); udev, launchd and scripts are never asked. One line per container:running,started,created <id>or the docker error; restart is per device.Found on a LAN setup (agent registering with its public IP, hub in the same LAN without hairpin); related: zebrunner/appium#472.
Tests:
make lint,make teston macOS;tests/run_all.shon Ubuntu (incl. the flock lock); doctor and the new zebrunner-farm tried on a real agent.Follow-up commits
zebrunner-farm restart --batch(default: the containers of all the selected devices removed, then created) /--rolling(device by device),sin the question switches it.REMOTE_CONNECT_HOSTgoes to the STF containers (needs feat: REMOTE_CONNECT_HOST and STF_PROVIDER_CONNECT_PORT for the remote debug of STF mcloud-device#230): with the adb relay of mcloud (feat: optional adb relay of the device hosts in a private network mcloud#277) the remote debug works for device hosts in a private network.doctorchecks the relay onmin_port + 1of the Android devices (the screenmin_portis never relayed) and prints theADB_RELAY_HOSTSentries of the host.proxy_port/server_proxy_portof the devices are dropped (mcloud-devices.txthas 14 fields; appium: refactor: drop the proxy ports of the device appium#473);doctoralso reads the list deployed in the earlier format.-e/-x=are aliases of--exclude.make lint,make test(macOS) andmake docker(Linux image) pass.connect_port(optional, Android): the explicit remote debug port of STF (STF_PROVIDER_CONNECT_PORT, feat(provider): fixed connect port of the device and its ports in the database stf#1115, feat: REMOTE_CONNECT_HOST and STF_PROVIDER_CONNECT_PORT for the remote debug of STF mcloud-device#230), published when out ofmin_port-max_port, validated with the host ports;adb_portis no longer obligatory (unused on Linux, the USB Android host port on macOS). The adb relay of mcloud takes these ports from STF automatically (ADB_RELAY=true, feat: optional adb relay of the device hosts in a private network mcloud#277).mcloud-devices.txt:connect_portis the 15th field.