Giter VIP home page Giter VIP logo

cm's People

Contributors

aandryashin avatar bincyber avatar dependabot[bot] avatar fvbommel avatar lanwen avatar rmerkushin avatar robot-bucket avatar vania-pooh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cm's Issues

Make CM using a private docker registry

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

docker.sock for Windows support

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

Selenoid can not start with aruments --args

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.

Ability to automatically configure Ggr

  1. User specified hosts with Selenoid and quota name.
  2. Cm requests /status, determines available browsers and generates quota files.
  3. Cm downloads Ggr binary \ container and runs it.

Failed to pull image: Error response from daemon: client is newer than server

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

Configure using --browsers-json

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

Failed create configDir

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 --vnc flag

Ability to download VNC images instead of usual ones.

selenoid in docker won't start correctly if run with --args

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

Download command support

The following command downloads latest release of Selenoid to ~/.aerokube/selenoid:

$ cm selenoid download

Add status command

Should show current state - whether Selenoid is downloaded, configured and running.

Stop Selenoid process before overwriting binary

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

Change Selenoid Port

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.

Selenoid image is not downloaded

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.