Giter Club home page Giter Club logo

Comments (13)

mgogoulos avatar mgogoulos commented on May 25, 2024

Hi,
rabbitmq is needed for mist.io and it cannot run without it. The version of gocept seems correct. Can you re-run the buildout (with rabbitmq section) and let us know if it finishes?

Cheers

from mist-ce.

jaychris avatar jaychris commented on May 25, 2024

Hey Markos-

The output I provided is actually from the buildout running WITH the rabbitmq section. You can see that it errors out on "Installing rabbitmq". It does not finish successfully. I only noted that the buildout continues on if rabbitmq is commented out as a troubleshooting note (i.e., narrowed down the issue to just the rabbitmq section).

from mist-ce.

mgogoulos avatar mgogoulos commented on May 25, 2024

Ok, let me have a good sleep (getting late here in Athens!) and I will perform an installation in CentOS tomorrow and will let you know!

from mist-ce.

jaychris avatar jaychris commented on May 25, 2024

awesome, thanks so much! Have a good night.

from mist-ce.

mgogoulos avatar mgogoulos commented on May 25, 2024

Hi,

I've installed mist.io on a vanilla CentOS 7 64bit (CentOS Linux release 7.0.1406) VM on Digital Ocean. It didn't fail on the buildout, and here's what I did. Yope it will be helpful to you.

#First I installed these packages
yum install python-devel build-essential git erlang libpcre3-dev python-virtualenv git pcre python-lxml gcc libxml2 libxml2-python libxml2-devel
yum install libvirt-python # this is needed for libvirt support (kvm), I installed it as well

yum update; yum upgrade # just to be up to date

Then I've followed the instruction on mist.io doc

#adduser mist
#su mist
$git clone https://github.com/mistio/mist.io.git
$cd mist.io
$virtualenv --no-site-packages .
$./bin/pip install ansible
$./bin/python bootstrap.py
$./bin/buildout -v

buildout finishes without problems, I run ./bin/supervisord and ./bin/supervisorctl and expect everything to be running

[mist@centos7 mist.io]$ ./bin/supervisord
[mist@centos7 mist.io]$ ./bin/supervisorctl status
celery                           RUNNING   pid 14982, uptime 0:01:44
haproxy                          RUNNING   pid 14979, uptime 0:01:44
memcache                         RUNNING   pid 14985, uptime 0:01:44
rabbitmq                         FATAL     Exited too quickly (process log may have details)
socketio                         RUNNING   pid 14980, uptime 0:01:44
uwsgi                            FATAL     Exited too quickly (process log may have details)

Mmm something is wrong. tail -f var/log/*.log shows that erlang cannot be found (ends up it is not installed)
yum search erlang finds no erlang package, so erlang is not in my repos. There are many ways to install it on centos 7 I suppose, I followed instructions on https://m41highway.wordpress.com/2014/09/19/install-rabbit-mq-3-3-on-centos-7/ and got it working very quickly

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -Uvh remi-release-7.rpm  epel-release-7-5.noarch.rpm 
yum install erlang -y

After that I restarted supervisord and run supervisorctl

[mist@centos7 mist.io]$ ./bin/supervisorctl shutdown
[mist@centos7 mist.io]$ ./bin/supervisord
[mist@centos7 mist.io]$ ./bin/supervisorctl status
celery                           RUNNING   pid 15356, uptime 0:00:09
haproxy                          RUNNING   pid 15353, uptime 0:00:09
memcache                         RUNNING   pid 15358, uptime 0:00:09
rabbitmq                         RUNNING   pid 15357, uptime 0:00:09
socketio                         RUNNING   pid 15354, uptime 0:00:09
uwsgi                            FATAL     Exited too quickly (process log may have details)

Now rabbitmq runs, but uwsgi hasn't started. Again a tail -f var/log/* will show what goes wrong

/home/mist/mist.io/bin/uwsgi: unrecognized option '--log-drain'

mmm seems that uwsgi wasn't compiled with this option. This is not required for uwsgi however, so I removed this option by editing parts/supervisor/supervisord.conf file

vi parts/supervisor/supervisord.conf
...

remove the --log-drain mention on the uwsgi command

In order for this to take effect, supervisord needs to be restarted

[mist@centos7 mist.io]$ ./bin/supervisorctl shutdown
[mist@centos7 mist.io]$ ./bin/supervisord 
[mist@centos7 mist.io]$ ./bin/supervisorctl status
celery                           RUNNING   pid 15549, uptime 0:00:08
haproxy                          RUNNING   pid 15546, uptime 0:00:08
memcache                         RUNNING   pid 15551, uptime 0:00:08
rabbitmq                         RUNNING   pid 15550, uptime 0:00:08
socketio                         RUNNING   pid 15547, uptime 0:00:08
uwsgi                            RUNNING   pid 15548, uptime 0:00:08

bingo! I enter http://ip:8000/ and mist.io has loaded

Let me know if this works for you!
Cheers

from mist-ce.

jaychris avatar jaychris commented on May 25, 2024

wow, thanks Markos. I will try this out and let you know how it works.

from mist-ce.

sgov avatar sgov commented on May 25, 2024

Markos, I tried this in centos 7.0.1406. The exact steps that you have mentioned but mine still fails with the same message as jaychris.

CentOS Linux release 7.0.1406 (Core)

Here's the error

Installing rabbitmq.
While:
Installing rabbitmq.

An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
File "/home/mist/mist.io/eggs/zc.buildout-2.3.1-py2.7.egg/zc/buildout/buildout.py", line 1946, in main
getattr(buildout, command)(args)
File "/home/mist/mist.io/eggs/zc.buildout-2.3.1-py2.7.egg/zc/buildout/buildout.py", line 626, in install
installed_files = self[part]._call(recipe.install)
File "/home/mist/mist.io/eggs/zc.buildout-2.3.1-py2.7.egg/zc/buildout/buildout.py", line 1370, in _call
return f()
File "/home/mist/mist.io/eggs/gocept.download-0.9.5-py2.7.egg/gocept/download/init.py", line 93, in install
retcode = subprocess.call(call)
File "/usr/lib64/python2.7/subprocess.py", line 524, in call
return Popen(_popenargs, *_kwargs).wait()
File "/usr/lib64/python2.7/subprocess.py", line 711, in init
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

from mist-ce.

mgogoulos avatar mgogoulos commented on May 25, 2024

Strange, I will try to reproduce the bug on another Centos 7 machine so I can troubleshoot it.

from mist-ce.

mgogoulos avatar mgogoulos commented on May 25, 2024

Btw in what cloud provider do you try? So I will try to use the exact server image...

from mist-ce.

sgov avatar sgov commented on May 25, 2024

docker container

from mist-ce.

mgogoulos avatar mgogoulos commented on May 25, 2024

Hi,
I created 3 Centos 7.0.1406 cloud servers in GCE, DigitalOcean and HostVirtual. I have run the instructions above on all three of them and buildout finishes succesfully in all three cases. So I was unable to reproduce the bug!

Then I tried on the official docker container of Centos

 docker run -i -t centos:latest /bin/bash 

and buildout indeed breaks there.

While troubleshooting the issue I came after the conclusion that the buildout breaks because tar utility is missing from the default container...

Solution: install tar before running the buildout!

 #yum install tar -y

To summarize, for centos 7 docker container this has worked for me:

1)run the centos 7 container on my docker host, and expose port 8000 (since mist.io runs on port 8000 by default)

docker run -i -t -p 8000:8000 centos /bin/bash

then inside the container,

#yum install python-devel build-essential git erlang libpcre3-dev python-virtualenv git pcre python-lxml gcc libxml2 libxml2-python libxml2-devel libvirt-python tar wget -y

#wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
#wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
#rpm -Uvh remi-release-7.rpm  epel-release-7-5.noarch.rpm 
#yum install erlang -y
#yum update; yum upgrade -y

then

#adduser mist
#su mist
$cd
$git clone https://github.com/mistio/mist.io.git
$cd mist.io
$virtualenv --no-site-packages .
$./bin/pip install ansible
$./bin/python bootstrap.py
$./bin/buildout -v

then

vi parts/supervisor/supervisord.conf

and remove the --log-drain mention on the uwsgi command

then start supervisord

[mist@centos7 mist.io]$ ./bin/supervisord 

and this will start mist.io in port 8000

Btw we have already created a docker container, on ubuntu that is up to date (https://registry.hub.docker.com/u/mist/mistio/)

docker pull mist/mistio
docker run -P -d mist/mistio

and

docker ps

to check where port 8000 has been exposed

Cheers,
Markos

from mist-ce.

sgov avatar sgov commented on May 25, 2024

Thanks Markos, its all good now, our docker container with mist-io is up and running...thanks for the quick response.

from mist-ce.

mgogoulos avatar mgogoulos commented on May 25, 2024

No problem, let us know for any issues

from mist-ce.

Related Issues (20)

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.