glidergun icon indicating copy to clipboard operation
glidergun copied to clipboard

Installing dependencies on CoreOS fails

Open coop opened this issue 9 years ago • 5 comments

Locally (osx) gun installs fine and gun env returns the current environment but when using the same Gunfile in production the initial dependency install fails silently.

local

~$ rm -rf .gun
~$ gun env
* Dependency required, installing aws latest ...
* Dependency required, installing jq 1.4 ...
AWS_DEFAULT_REGION    = us-east-1
AWS_ACCESS_KEY_ID     = xxxxxx
AWS_SECRET_ACCESS_KEY = xxxxxx
CONSUL_URL            = http://localhost:8500
CONSUL_AUTH           =
DOCKER_USERNAME       = everydayhero+deployer
DOCKER_PASSWORD       = xxxxxx
DOCKER_EMAIL          = .
DOCKER_SERVER         = quay.io
EC2_VPC               = production
SSH_USER              = core
SSH_BASTION_USER      = timc

coreos

timc@production-a-admin-75898aa3 ~/wat $ gun env
* Dependency required, installing aws latest ...
timc@production-a-admin-75898aa3 ~/wat $ ls -l .gun
total 8
drwxr-xr-x 2 timc timc 4096 May 29 03:33 bin
drwxr-xr-x 3 timc timc 4096 May 29 03:33 tmp

The problems seems to be when downloading the aws dependency from https://github.com/gliderlabs/glidergun-rack/blob/master/index/aws which looks like:

# install: ./awscli-bundle/install -i $PREFIX
latest * https://s3.amazonaws.com/aws-cli/awscli-bundle.zip

All I can think of is that the * in the curl payload is not being properly escaped?

Let me know if you need more information.

coop avatar May 29 '15 03:05 coop

Interesting. Hopefully I can look into it soon. What is the use case running from production?

progrium avatar May 29 '15 04:05 progrium

I'll write up the use case in a little but our CI is running CoreOS too so it's something that we're going to have to solve.

coop avatar May 29 '15 04:05 coop

Ah, CI is a good use case. We'd talked about running gun from a container in situations like that. But I'd like to see it working on CoreOS too.

progrium avatar May 29 '15 04:05 progrium

Do you plan to use glidergun directly on cores, to with /usr/bin/toolbox, or in a specific container?

I just started a core os instance on google cloud, and tried a simple Gunfire with deps-require aws

$ ./gun 
* Dependency required, installing aws latest ...
/usr/bin/env: python: No such file or directory

I did find python in /usr/share/oem/python/bin, but if i put it into the PATH, it fails with pip ..

Other tip is to start gun in trace mode:

TRACE=1 gun

So you can see exactly which bash line fails

lalyos avatar May 29 '15 09:05 lalyos

He did have Python because Ansible installed it, but it wrapped it to run inside a container. So after talking more it sounds like they're just going to get glidergun working in a container.

progrium avatar May 29 '15 14:05 progrium