aerokube / cm Goto Github PK
View Code? Open in Web Editor NEWConfiguration manager for Aerokube products
Home Page: https://aerokube.com/cm/latest/
License: Apache License 2.0
Configuration manager for Aerokube products
Home Page: https://aerokube.com/cm/latest/
License: Apache License 2.0
Failed to start: failed to create container: Error response from daemon: invalid environment variable: =::=::\
Should show current state - whether Selenoid is downloaded, configured and running.
# DOCKER_API_VERSION=1.24 cm selenoid start
This variable should be set to Selenoid process.
Hi,
I am missing an option to tell cm which docker registry should be used. I am in a private infrastructure which does not allow internet access, so I am ending up pushing all the cm and selenoid image to the private docker registry.
For Browser images for selenoid there is an option but how do I tell cm where to find selenoid?
Regards
The command
./cm selenoid start --args "-limit 10"
from docs http://aerokube.com/cm/latest/ is not work. (Error: unknown flag: --args)
The command
./cm selenoid configure [--limit 2]
is not work (Nothing changed, limit is still 5)
Please, fix it
This is actual for --args
usage.
If i start selenoid with command
C:\selenoid>cm_windows_amd64.exe selenoid start --args "--limit 10"
I get errors:
017/08/26 10:50:09 C:\Users\petrm\.aerokube\selenoid\selenoid_windows_amd64.exe: browsers config: read error: open config/browsers.json: The system cannot find the path specified.
As described.
Currently doing this for every browser type.
Firstly, excellent tools! I've only been using Selenoid for about a day, and I'm really, really impressed.
What I haven't been able to do, is build / configure the aerokube/selenoid
image with my selection of browsers and versions using ./cm selenoid configure ...
.
For example, I have a limited browsers.json
file I want to use:
{
"firefox": {
"default": "28.0",
"versions": {
"28.0": {
"image": "selenoid/vnc:firefox_28.0",
"port": "4444",
"path": "/wd/hub"
}
}
}
}
If I'm understanding the documentation, I should be able to do that with --browsers-json
.
selenoid$./cm selenoid configure --help
Create Selenoid configuration file and download dependencies
Usage:
cm selenoid configure [flags]
Flags:
-j, --browsers-json string browsers JSON data URL (in most cases never need to be set manually) (default "https://raw.githubusercontent.com/aerokube/cm/master/browsers.json")
But running the following command just yields the default configuration (2 of the latest of each browser)
./cm selenoid configure [--browsers-json browsers.json]
# where browsers.json is in the same directory as cm
Docker Version: 17.06.0-ce, build 02c1d87
Cm Version: 1.1.2 & 1.2.0
I installed selenoid 1.4.1 via cm 1.3.1
Ubuntu 16.04 LTS 64bit 4.4.0-103-generic
The issue is- launched with --args "-session-attempt-timeout=1m0s" or -g "-session-attempt-timeout 1m0s" or --args "-session-attempt-timeout 1m0s", same for --args "-limit 5".
the container remains in state Restarting or Exiting (more common the former).
how do I pass these params correctly?
cm always reports Successfully started selenoid but "docker ps -a" shows it in wrong state and inspection shows that it has no IP address.
starting only with -c and --vnc flags works ok
Do this when --vnc
flag is present.
Need to set OVERRIDE_VIDEO_OUTPUT_DIR
variable to ~/.aerokube/selenoid/video
.
Need to start Selenoid automatically so minimal configuration command would be:
# ./cm selenoid
or...
# docker run --rm aerokube/cm:1.1.0 selenoid
Test if this accelerates things and implement.
As described.
Otherwise it does not work. Need to generate config file respectively.
E.g. use -video-output-dir /video or -conf /etc/selenoid/browsers.json
.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
25a977ddd6bc aerokube/selenoid-ui:latest "/selenoid-ui" 4 seconds ago Up 3 seconds 0.0.0.0:4444->4444/tcp, 8080/tcp selenoid
I am trying to use Selenoid + Ggr, but both run on port 4444 by default. Is it possible to change the port of Selenoid via ./cm selenoid start
? I don't see it in the flags:
Flags:
-a, --architecture string target architecture (drivers only) (default "amd64")
-g, --args string additional service arguments (e.g. "-limit 5")
-w, --browser-env string override container or driver environment variables (e.g. "KEY1=value1 KEY2=value2")
-b, --browsers string comma separated list of browser names to process
-j, --browsers-json string browsers JSON data URL (in most cases never need to be set manually) (default "https://raw.githubusercontent.com/aerokube/cm/master/browsers.json")
-c, --config-dir string directory to save files (default "/home/ubuntu/.aerokube/selenoid")
-e, --env string override service environment variables (e.g. "KEY1=value1 KEY2=value2")
-f, --force force action
-l, --last-versions int process only last N versions (Docker only) (default 2)
-n, --no-download only output config file without downloading images or drivers
-o, --operating-system string target operating system (drivers only) (default "linux")
-q, --quiet suppress output
-r, --registry string Docker registry to use (default "https://registry.hub.docker.com")
-t, --tmpfs int add tmpfs volume sized in megabytes (Docker only)
-v, --version string desired version; default is latest release (default "latest")
-s, --vnc
I am using the guide at http://aerokube.com/ggr/latest/ and it uses Selenium Grid with port 4445:
java -jar selenium-server-standalone.jar -port 4445
I want to use the same guide with Selenoid.
--env
passes variables to started service
--browser-env
saves variables to Selenoid config file
E.g. browsers.json is stored somewhere under VCS and we need to pull images from this json.
$ cm selenoid sync --inputFile browsers.json
As described.
/status
, determines available browsers and generates quota files.DOCKER_API_VERSION=1.24 ./cm_1.2.1 version
Git Revision: 1.2.1
UTC Build Time: 2017-07-17_09:51:06AM
[root@localhost ~]# DOCKER_API_VERSION=1.24 ./cm_1.2.1 selenoid start
2017/07/19 09:02:03 Using Docker...
2017/07/19 09:02:03 registry.ping url=https://registry.hub.docker.com/v2/
2017/07/19 09:02:05 Downloading Selenoid...
2017/07/19 09:02:05 Fetching tags for image "aerokube/selenoid"...
2017/07/19 09:02:05 registry.tags url=https://registry.hub.docker.com/v2/aerokube/selenoid/tags/list repository=aerokube/selenoid
2017/07/19 09:02:06 Trying to pull repository docker.io/aerokube/selenoid ... :
2017/07/19 09:02:08 Pulling from docker.io/aerokube/selenoid: latest-release
2017/07/19 09:02:08 Digest: sha256:32f6fb08178398a18f3b19e98b40cd8fb8e49941c527bf74045714f6df10cd66: latest-release
2017/07/19 09:02:08 Selenoid is already configured
2017/07/19 09:02:08 Starting Selenoid...
2017/07/19 09:02:08 Failed to start: Selenoid image is not downloaded: this is probably a bug
2017/08/04 19:17:29 new docker client: could not read CA certificate "C:\\Users\\admin\\.docker\\machine\\machines\\default/ca.pem": open C:\Users\admin\.docker\machine\machines\default/ca.pem: no such file or directory
Otherwise getting:
2017/06/17 13:25:15 Downloading Selenoid release from https://github.com/aerokube/selenoid/releases/download/1.3.2/selenoid_linux_amd64
2017/06/17 13:25:15 Failed to start Selenoid: failed to download Selenoid for arch = amd64 and version = latest: open /root/.aerokube/selenoid/selenoid_linux_amd64: text file busy
As described.
Via --args "-limit 5"
. Remove useless --limit
flag.
Ability to download VNC images instead of usual ones.
Just log the fact.
Do you have PhantomJS support?
As described.
Add ability to mount docker.sock for Windows with double slashes:
-v //var/run/docker.sock:/var/run/docker.sock
Works with Docker for Windows 17.06.
Validated with already configured browsers.json
docker run --rm -p 4444:4444 -v //var/run/docker.sock:/var/run/docker.sock -v "%dir_with_selenoidConfig%:/etc/selenoid" aerokube/selenoid:latest-release start
Before run cm
in docker i have error:
Failed to start Selenoid: failed to create container: Error response from daemon: create .aerokube/selenoid: ".aerokube/selenoid" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intented to pass a host directory, use absolute path
Command:
docker run --rm -e DOCKER_API_VERSION=1.24 -v /var/run/docker.sock:/var/run/docker.sock aerokube/cm:latest selenoid start
Add flag to enable process logs. For Docker it already works.
With 1.2.2:
"Binds": [
"/.aerokube/selenoid:/etc/selenoid:ro",
"/var/run/docker.sock:/var/run/docker.sock"
],
Need to start using it instead of govendor
.
Should show current revision and build date.
When host user is not root - it does not work.
The following command downloads latest release of Selenoid to ~/.aerokube/selenoid
:
$ cm selenoid download
Most of Windows installations are IPv4-only. With :: they does not work. Need to modify browsers.json.
This is needed for local development when user does not want to install Docker. In that case we download latest driver binaries and configure Selenoid to launch them directly as processes.
$ cm selenoid-ui start
OS: Centos 7 minimal + docker
cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
./cm_1.0.0 selenoid download # - I have json with browsers.
All newer versions fails with error:
Failed to pull image "aerokube/selenoid:latest-release": Error response from daemon: client is newer than server (client API version: 1.29, server API version: 1.24)
[root@localhost ~]# ./cm_1.1.0 selenoid download
2017/07/19 07:58:22 Using Docker...
2017/07/19 07:58:22 registry.ping url=https://registry.hub.docker.com/v2/
2017/07/19 07:58:24 Failed to list images: Error response from daemon: client is newer than server (client API version: 1.29, server API version: 1.24)
2017/07/19 07:58:24 Downloading Selenoid...
2017/07/19 07:58:24 Fetching tags for image "aerokube/selenoid"...
2017/07/19 07:58:24 registry.tags url=https://registry.hub.docker.com/v2/aerokube/selenoid/tags/list repository=aerokube/selenoid
2017/07/19 07:58:26 Failed to pull image "aerokube/selenoid:latest-release": Error response from daemon: client is newer than server (client API version: 1.29, server API version: 1.24)
2017/07/19 07:58:26 Failed to download Selenoid release: failed to pull Selenoid image
[root@localhost ~]# ./cm_1.2.1 selenoid download
2017/07/19 07:59:12 Using Docker...
2017/07/19 07:59:12 registry.ping url=https://registry.hub.docker.com/v2/
2017/07/19 07:59:15 Failed to list images: Error response from daemon: client is newer than server (client API version: 1.29, server API version: 1.24)
2017/07/19 07:59:15 Downloading Selenoid...
2017/07/19 07:59:15 Fetching tags for image "aerokube/selenoid"...
2017/07/19 07:59:15 registry.tags url=https://registry.hub.docker.com/v2/aerokube/selenoid/tags/list repository=aerokube/selenoid
2017/07/19 07:59:16 Failed to pull image "aerokube/selenoid:latest-release": Error response from daemon: client is newer than server (client API version: 1.29, server API version: 1.24)
2017/07/19 07:59:16 Failed to download: failed to pull Selenoid image
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.