• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Vagrant - błąd

VPS Starter Arubacloud
0 głosów
159 wizyt
pytanie zadane 10 czerwca 2017 w Systemy operacyjne, programy przez niezalogowany

Witam, chciałbym zainstalować jedną aplikację przy użyciu polecenia

vagrant up

Wyskakuje mi błąd:

No usable default provider could be found for your system.

Vagrant relies on interactions with 3rd party systems, known as
"providers", to provide Vagrant with resources to run development
environments. Examples are VirtualBox, VMware, Hyper-V.

The easiest solution to this message is to install VirtualBox, which
is available for free on all major platforms.

If you believe you already have a provider available, make sure it
is properly installed and configured. You can see more details about
why a particular provider isn't working by forcing usage with
`vagrant up --provider=PROVIDER`, which should give you a more specific
error message for that particular provider.

Na moje oko to nie ma pliku Vagrantfile, ale on jest. Jego zawartość:

# -*- mode: ruby -*-
# vi: set ft=ruby :

require 'yaml'

def default(id, fallback)
  return (if id.nil? then fallback else id end)
end

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.box_check_update = false


  CFG_FILE = 'vagrant.yml'
  settings =
    if File.file? CFG_FILE
    then YAML.load_file CFG_FILE
    else {}
    end

  oioioi_port = default(settings['port'], 8000)
  runserver_cmd = default(settings['runserver_cmd'], 'runserver')

  config.vm.network "forwarded_port", guest: oioioi_port, host: oioioi_port
  config.vm.synced_folder ".", "/sio2/oioioi/"

  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--nictype1", "Am79C973"]
    vb.gui    = false
    vb.memory = 2048
    vb.cpus   = 1
  end

  config.ssh.username = "vagrant"
  config.ssh.password = "vagrant"
  config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"

  config.vm.provision "shell", privileged: true, inline: <<-SHELL
    mkdir -pv /sio2/logs
    chown vagrant:vagrant /sio2
    useradd -U worker -m -d /home/worker
    chmod a+rw -R /sio2/logs
  SHELL

  config.vm.provision "shell", privileged: false, inline: <<-SHELL
    echo "* configuring .bashrc"
    echo "source /sio2/venv/bin/activate" >> ~/.bashrc
    echo "cd /sio2" >> ~/.bashrc


    echo "* installing dependencies"
    sudo apt-get update
    sudo apt-get install -y git
    sudo apt-get install -y python-pip
    sudo apt-get install -y python-dev
    sudo apt-get install -y libpq-dev
    sudo apt-get install -y postgresql
    sudo apt-get install -y postgresql-contrib
    sudo apt-get install -y postgresql-client
    sudo apt-get install -y rabbitmq-server
    sudo apt-get install -y lighttpd
    sudo apt-get install -y fpc
    sudo apt-get install -y texlive-latex-base
    sudo apt-get install -y texlive-lang-polish
    sudo apt-get install -y texlive-latex-extra
    sudo apt-get install -y texlive-fonts-recommended
    sudo apt-get install -y gcc-multilib

    sudo dpkg --add-architecture i386

    sudo apt-get update
    sudo apt-get install -y libstdc++6:i386
    sudo apt-get install -y zlib1g:i386

    echo "* configuring rabbitmq-server"
    echo "[{rabbit, [{tcp_listeners, [5672]}, {loopback_users, []}]}]." | \
        sudo tee /etc/rabbitmq/rabbitmq.config
    echo "\"SERVER_ERL_ARGS="+K true +A 4 +P 1048576 -kernel\" | \
        sudo tee /etc/rabbitmq/rabbitmq-env.conf


    echo "* configuring postgresql"
    sudo -u postgres psql --command='create user "vagrant"'
    sudo -u postgres psql --command='alter user "vagrant" with superuser'
    sudo -u postgres psql --command='create database "vagrant" with owner "vagrant"'
    sudo -u postgres psql --command='create user "oioioi" with password '"'development'"
    sudo -u postgres psql --command='create database "oioioi" with owner "oioioi"'


    echo "* installing python dependencies"
    cd /sio2

    sudo pip install virtualenv
    virtualenv venv
    source venv/bin/activate

    cd oioioi
    easy_install distribute
    pip install -r requirements.txt
    pip install psycopg2
    cd ..


    echo "* configuring deployment"
    oioioi-create-config deployment
    cd deployment

    sed -i -e "s/django.db.backends./django.db.backends.postgresql_psycopg2/g;\
               s/'NAME': ''/'NAME': 'oioioi'/g;\
               s/'USER': ''/'USER': 'oioioi'/g;\
               s/'HOST': '',/'HOST': 'localhost',/g;\
               s/'PASSWORD': ''/'PASSWORD': 'development'/g;\
               s/#BROKER_URL/BROKER_URL/g;\
               s/USE_UNSAFE_EXEC/#USE_UNSAFE_EXEC/g;\
               s/USE_LOCAL_COMPILERS/#USE_LOCAL_COMPILERS/g;\
               s/#FILETRACKER_SERVER_ENABLED/FILETRACKER_SERVER_ENABLED/g;\
               s/#FILETRACKER_LISTEN_ADDR/FILETRACKER_LISTEN_ADDR/g;\
               s/#FILETRACKER_LISTEN_PORT/FILETRACKER_LISTEN_PORT/g;\
               s/#FILETRACKER_LISTEN_URL/FILETRACKER_LISTEN_URL/g;\
               s/#SIOWORKERS_LISTEN_ADDR/SIOWORKERS_LISTEN_ADDR/g;\
               s/#SIOWORKERS_LISTEN_PORT/SIOWORKERS_LISTEN_PORT/g;\
               s/#RUN_SIOWORKERSD.*$/RUN_SIOWORKERSD = True/g;\
               s/#USE_UNSAFE_EXEC = True/USE_UNSAFE_EXEC = False/g;\
               s/#USE_LOCAL_COMPILERS = True/USE_LOCAL_COMPILERS = False/g;\
               s/#USE_UNSAFE_CHECKER = True/USE_UNSAFE_CHECKER = False/g;\
               s/.*RUN_LOCAL_WORKERS = True/RUN_LOCAL_WORKERS = False/g"\
            -e "/INSTALLED_APPS =/a'oioioi.workers',"\
            settings.py

    echo "SIOWORKERS_BACKEND = 'oioioi.sioworkers.backends.SioworkersdBackend'" \
        >> settings.py
    echo "CELERY_RESULT_BACKEND = None" >> settings.py

    # otherwise the Debug Toolbar won't work: http://blog.joshcrompton.com/2014/01/how-to-make-django-debug-toolbar-display-when-using-vagrant/
    echo "INTERNAL_IPS = ('127.0.0.1', '10.0.2.2')" >> settings.py


    echo "* migrating databases"
    ./manage.py migrate auth
    ./manage.py migrate


    echo "* downloading sandboxes"
    cd ..
    mkdir sandboxes
    cd sandboxes

    sandboxes=$(curl -s https://downloads.sio2project.mimuw.edu.pl/sandboxes/Manifest)
    for sandbox in $sandboxes; do
      curl -s -O https://downloads.sio2project.mimuw.edu.pl/sandboxes/${sandbox}.tar.gz
    done

    cd ../deployment/
    ./manage.py download_sandboxes -q -y -c /sio2/sandboxes
    cd ..


    echo "* done, please remember to createsuperuser"

  SHELL

  config.vm.provision "shell", privileged: false, run: "always", inline: <<-SHELL
    echo "Launching OIOIOI"

    sudo /etc/init.d/rabbitmq-server start
    sudo /etc/init.d/postgresql start

    cd /sio2/deployment
    source ../venv/bin/activate

    mkdir -p ../logs/{supervisor,runserver}

    nohup ./manage.py #{runserver_cmd} 0.0.0.0:#{oioioi_port} \
        >../logs/runserver/out.log 2>../logs/runserver/err.log &
    nohup ./manage.py supervisor \
        >../logs/supervisor/out.log 2>../logs/supervisor/err.log &

    cd ..

    sudo -u worker -i bash -c "\
        source /sio2/venv/bin/activate; \
        export FILETRACKER_URL=\"http://127.0.0.1:9999\"; \
        twistd --pidfile=/home/worker/worker.pid \
            -l /sio2/logs/worker.log worker -n worker -c 2 127.0.0.1"

    echo "Done!"
  SHELL
end

Dodaje, że to nie moja aplikacja.

Pozdrawiam i z góry dziękuję za każdą pomoc.

1 odpowiedź

0 głosów
odpowiedź 10 czerwca 2017 przez Ehlert Ekspert (212,630 p.)
apt-get install nfs-kernel-server
apt-get install virtualbox
komentarz 10 czerwca 2017 przez niezalogowany

No ok, ale teraz napotkałem kolejny błąd:

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "6f7374c7-c883-442b-b1de-68ee6ca4641f", "--type", "headless"]

Stderr: VBoxManage: error: Failed to load R0 module /usr/lib/virtualbox/VMMR0.r0: World writable: '/usr' (VERR_SUPLIB_WORLD_WRITABLE).
VBoxManage: error: Failed to load VMMR0.r0 (VERR_SUPLIB_WORLD_WRITABLE)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole

 

komentarz 10 czerwca 2017 przez Ehlert Ekspert (212,630 p.)
Masz jeszcze jakieś maszyny wirtualne?
komentarz 11 czerwca 2017 przez niezalogowany

No jak odpaliłem te:

vagrant up

to coś pisało, że tworzenie bazy danych i ubuntu instalowanie, coś takiego. Chcesz cały "przebieg" komendy?

komentarz 11 czerwca 2017 przez Ehlert Ekspert (212,630 p.)
Tak wstaw. I daj treść Vagrantfilea.
komentarz 11 czerwca 2017 przez niezalogowany

Ok, przebieg:

/usr/bin/vagrant:57: warning: Insecure world writable dir /usr in PATH, mode 040747
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/trusty64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: oioioi-master_default_1497170071721_85239
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 8000 (guest) => 8000 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "0ed630e8-6ea8-4a8c-ab67-8f3223a4bb32", "--type", "headless"]

Stderr: VBoxManage: error: Failed to load R0 module /usr/lib/virtualbox/VMMR0.r0: World writable: '/usr' (VERR_SUPLIB_WORLD_WRITABLE).
VBoxManage: error: Failed to load VMMR0.r0 (VERR_SUPLIB_WORLD_WRITABLE)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole

Plik Vagrantfile:

# -*- mode: ruby -*-
# vi: set ft=ruby :

require 'yaml'

def default(id, fallback)
  return (if id.nil? then fallback else id end)
end

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.box_check_update = false


  CFG_FILE = 'vagrant.yml'
  settings =
    if File.file? CFG_FILE
    then YAML.load_file CFG_FILE
    else {}
    end

  oioioi_port = default(settings['port'], 8000)
  runserver_cmd = default(settings['runserver_cmd'], 'runserver')

  config.vm.network "forwarded_port", guest: oioioi_port, host: oioioi_port
  config.vm.synced_folder ".", "/sio2/oioioi/"

  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--nictype1", "Am79C973"]
    vb.gui    = false
    vb.memory = 2048
    vb.cpus   = 1
  end

  config.ssh.username = "vagrant"
  config.ssh.password = "vagrant"
  config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"

  config.vm.provision "shell", privileged: true, inline: <<-SHELL
    mkdir -pv /sio2/logs
    chown vagrant:vagrant /sio2
    useradd -U worker -m -d /home/worker
    chmod a+rw -R /sio2/logs
  SHELL

  config.vm.provision "shell", privileged: false, inline: <<-SHELL
    echo "* configuring .bashrc"
    echo "source /sio2/venv/bin/activate" >> ~/.bashrc
    echo "cd /sio2" >> ~/.bashrc


    echo "* installing dependencies"
    sudo apt-get update
    sudo apt-get install -y git
    sudo apt-get install -y python-pip
    sudo apt-get install -y python-dev
    sudo apt-get install -y libpq-dev
    sudo apt-get install -y postgresql
    sudo apt-get install -y postgresql-contrib
    sudo apt-get install -y postgresql-client
    sudo apt-get install -y rabbitmq-server
    sudo apt-get install -y lighttpd
    sudo apt-get install -y fpc
    sudo apt-get install -y texlive-latex-base
    sudo apt-get install -y texlive-lang-polish
    sudo apt-get install -y texlive-latex-extra
    sudo apt-get install -y texlive-fonts-recommended
    sudo apt-get install -y gcc-multilib

    sudo dpkg --add-architecture i386

    sudo apt-get update
    sudo apt-get install -y libstdc++6:i386
    sudo apt-get install -y zlib1g:i386

    echo "* configuring rabbitmq-server"
    echo "[{rabbit, [{tcp_listeners, [5672]}, {loopback_users, []}]}]." | \
        sudo tee /etc/rabbitmq/rabbitmq.config
    echo "\"SERVER_ERL_ARGS="+K true +A 4 +P 1048576 -kernel\" | \
        sudo tee /etc/rabbitmq/rabbitmq-env.conf


    echo "* configuring postgresql"
    sudo -u postgres psql --command='create user "vagrant"'
    sudo -u postgres psql --command='alter user "vagrant" with superuser'
    sudo -u postgres psql --command='create database "vagrant" with owner "vagrant"'
    sudo -u postgres psql --command='create user "oioioi" with password '"'development'"
    sudo -u postgres psql --command='create database "oioioi" with owner "oioioi"'


    echo "* installing python dependencies"
    cd /sio2

    sudo pip install virtualenv
    virtualenv venv
    source venv/bin/activate

    cd oioioi
    easy_install distribute
    pip install -r requirements.txt
    pip install psycopg2
    cd ..


    echo "* configuring deployment"
    oioioi-create-config deployment
    cd deployment

    sed -i -e "s/django.db.backends./django.db.backends.postgresql_psycopg2/g;\
               s/'NAME': ''/'NAME': 'oioioi'/g;\
               s/'USER': ''/'USER': 'oioioi'/g;\
               s/'HOST': '',/'HOST': 'localhost',/g;\
               s/'PASSWORD': ''/'PASSWORD': 'development'/g;\
               s/#BROKER_URL/BROKER_URL/g;\
               s/USE_UNSAFE_EXEC/#USE_UNSAFE_EXEC/g;\
               s/USE_LOCAL_COMPILERS/#USE_LOCAL_COMPILERS/g;\
               s/#FILETRACKER_SERVER_ENABLED/FILETRACKER_SERVER_ENABLED/g;\
               s/#FILETRACKER_LISTEN_ADDR/FILETRACKER_LISTEN_ADDR/g;\
               s/#FILETRACKER_LISTEN_PORT/FILETRACKER_LISTEN_PORT/g;\
               s/#FILETRACKER_LISTEN_URL/FILETRACKER_LISTEN_URL/g;\
               s/#SIOWORKERS_LISTEN_ADDR/SIOWORKERS_LISTEN_ADDR/g;\
               s/#SIOWORKERS_LISTEN_PORT/SIOWORKERS_LISTEN_PORT/g;\
               s/#RUN_SIOWORKERSD.*$/RUN_SIOWORKERSD = True/g;\
               s/#USE_UNSAFE_EXEC = True/USE_UNSAFE_EXEC = False/g;\
               s/#USE_LOCAL_COMPILERS = True/USE_LOCAL_COMPILERS = False/g;\
               s/#USE_UNSAFE_CHECKER = True/USE_UNSAFE_CHECKER = False/g;\
               s/.*RUN_LOCAL_WORKERS = True/RUN_LOCAL_WORKERS = False/g"\
            -e "/INSTALLED_APPS =/a'oioioi.workers',"\
            settings.py

    echo "SIOWORKERS_BACKEND = 'oioioi.sioworkers.backends.SioworkersdBackend'" \
        >> settings.py
    echo "CELERY_RESULT_BACKEND = None" >> settings.py

    # otherwise the Debug Toolbar won't work: http://blog.joshcrompton.com/2014/01/how-to-make-django-debug-toolbar-display-when-using-vagrant/
    echo "INTERNAL_IPS = ('127.0.0.1', '10.0.2.2')" >> settings.py


    echo "* migrating databases"
    ./manage.py migrate auth
    ./manage.py migrate


    echo "* downloading sandboxes"
    cd ..
    mkdir sandboxes
    cd sandboxes

    sandboxes=$(curl -s https://downloads.sio2project.mimuw.edu.pl/sandboxes/Manifest)
    for sandbox in $sandboxes; do
      curl -s -O https://downloads.sio2project.mimuw.edu.pl/sandboxes/${sandbox}.tar.gz
    done

    cd ../deployment/
    ./manage.py download_sandboxes -q -y -c /sio2/sandboxes
    cd ..


    echo "* done, please remember to createsuperuser"

  SHELL

  config.vm.provision "shell", privileged: false, run: "always", inline: <<-SHELL
    echo "Launching OIOIOI"

    sudo /etc/init.d/rabbitmq-server start
    sudo /etc/init.d/postgresql start

    cd /sio2/deployment
    source ../venv/bin/activate

    mkdir -p ../logs/{supervisor,runserver}

    nohup ./manage.py #{runserver_cmd} 0.0.0.0:#{oioioi_port} \
        >../logs/runserver/out.log 2>../logs/runserver/err.log &
    nohup ./manage.py supervisor \
        >../logs/supervisor/out.log 2>../logs/supervisor/err.log &

    cd ..

    sudo -u worker -i bash -c "\
        source /sio2/venv/bin/activate; \
        export FILETRACKER_URL=\"http://127.0.0.1:9999\"; \
        twistd --pidfile=/home/worker/worker.pid \
            -l /sio2/logs/worker.log worker -n worker -c 2 127.0.0.1"

    echo "Done!"
  SHELL
end

 

Podobne pytania

0 głosów
0 odpowiedzi 150 wizyt
pytanie zadane 27 października 2017 w Systemy operacyjne, programy przez niezalogowany
0 głosów
0 odpowiedzi 171 wizyt
pytanie zadane 14 marca 2017 w Python przez anderpy Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 108 wizyt

92,453 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...