UtahDave / salt-vagrant-demo

Demo of Salt in Vagrant. 1 master and 2 minions
Apache License 2.0
247 stars 191 forks source link

Cannot create environment in vagrant #1

Closed konradstarzyk closed 8 years ago

konradstarzyk commented 9 years ago

I cloned the repository and did "vagrant up". I am getting the following error:

Processing triggers for python-support ...

Stderr from the command: stdin: is not a tty

makensi commented 9 years ago

Hello,

I don't know if it is the same issue but in my case the error trace install_ubuntu_git_deps means:

 ...
 warning: failed to exec 'man': No such file or directory
 fatal: no man viewer handled the request
 github.com[0: 192.30.252.129]: errno=Connection refused
 fatal: unable to connect a socket (Connection refused)
 Initialized empty Git repository in /tmp/git/salt/.git/
 ...

Which is related to an untrusted SSL key. To fix it, i just i've added the public ssh key to my known_hosts (~/.ssh/known_hosts) file:

 $ ssh git@192.30.252.129
 The authenticity of host '192.30.252.129 (192.30.252.129)' can't be established.
 RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
 Are you sure you want to continue connecting (yes/no)? yes 
 Warning: Permanently added '192.30.252.129' (RSA) to the list of known hosts.
 Permission denied (publickey).

Once done, modify the Vagrantfile and add these lines to copy your known_hosts file into VM (if you like you can use your own a template file):

 [ master | minion ]_config.vm.provision :file do |file|
   file.source = '/home/yoursystemuser/.ssh/known_hosts'
   file.destination = '/home/vagrant/.ssh/known_hosts'
 end

And that's all, you are ready to execute vagrant up

Note: you must do same steps for every host which is not working.

HTH

UtahDave commented 9 years ago

Is this still an issue?

makensi commented 9 years ago

I am a bit busy now and I didn't tried after my last answer. Maybe @konradstarzyk could give you some feedback.

rosstimson commented 9 years ago

I'm hoping to try out SaltStack and just encountered a similar issue when following the Getting Started Guide. It doesn't seem to be on install_ubuntu_git_deps() but I do get stdin: is not a tty and the repo/Vagrantfile doesn't work out of the box.

Error I see when doing vagrant up is:

Preparing to unpack .../python-requests_2.3.0-1chl1~trusty1_all.deb ...
Unpacking python-requests (2.3.0-1chl1~trusty1) over (2.2.1-1ubuntu0.2) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up python-chardet (2.2.1-4chl1~trusty1) ...
Setting up python-requests (2.3.0-1chl1~trusty1) ...
gpg: keyring `/tmp/tmpb7t5_a0y/secring.gpg' created
gpg: keyring `/tmp/tmpb7t5_a0y/pubring.gpg' created
gpg: requesting key 0E27C0A6 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpb7t5_a0y/trustdb.gpg: trustdb created
gpg: key 0E27C0A6: public key "Launchpad PPA for Salt Stack" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK
 * ERROR: You need to allow pip based installations (-P) in order to install the python package 'tornado >= 4.0'

  Usage :  bootstrap-salt.sh [options] <install-type> <install-type-args>

  Installation types:
    - stable (default)
    - stable [version] (ubuntu specific)
    - daily  (ubuntu specific)
    - testing (redhat specific)
    - git

  Examples:
    - bootstrap-salt.sh
    - bootstrap-salt.sh stable
    - bootstrap-salt.sh stable 2014.7
    - bootstrap-salt.sh daily
    - bootstrap-salt.sh testing
    - bootstrap-salt.sh git
    - bootstrap-salt.sh git develop
    - bootstrap-salt.sh git v0.17.0
    - bootstrap-salt.sh git 8c3fadf15ec183e5ce8c63739850d543617e4357

  Options:
  -h  Display this message
  -v  Display script version
  -n  No colours.
  -D  Show debug output.
  -c  Temporary configuration directory
  -g  Salt repository URL. (default: git://github.com/saltstack/salt.git)
  -G  Instead of cloning from git://github.com/saltstack/salt.git, clone from https://github.com/saltstack/salt.git (Usually necessary on systems which have the regular git protocol port blocked, where https usually is not)
  -k  Temporary directory holding the minion keys which will pre-seed
      the master.
  -s  Sleep time used when waiting for daemons to start, restart and when checking
      for the services running. Default: 10
  -M  Also install salt-master
  -S  Also install salt-syndic
  -N  Do not install salt-minion
  -X  Do not start daemons after installation
  -C  Only run the configuration function. This option automatically
      bypasses any installation.
  -P  Allow pip based installations. On some distributions the required salt
      packages or its dependencies are not available as a package for that
      distribution. Using this flag allows the script to use pip as a last
      resort method. NOTE: This only works for functions which actually
      implement pip based installations.
  -F  Allow copied files to overwrite existing(config, init.d, etc)
  -U  If set, fully upgrade the system prior to bootstrapping salt
  -K  If set, keep the temporary files in the temporary directories specified
      with -c and -k.
  -I  If set, allow insecure connections while downloading any files. For
      example, pass '--no-check-certificate' to 'wget' or '--insecure' to 'curl'
  -A  Pass the salt-master DNS name or IP. This will be stored under
      /etc/salt/minion.d/99-master-address.conf
  -i  Pass the salt-minion id. This will be stored under
      /etc/salt/minion_id
  -L  Install the Apache Libcloud package if possible(required for salt-cloud)
  -p  Extra-package to install while installing salt dependencies. One package
      per -p flag. You're responsible for providing the proper package name.
  -d  Disable check_service functions. Setting this flag disables the
      'install_<distro>_check_services' checks. You can also do this by
      touching /tmp/disable_salt_checks on the target host. Defaults ${BS_FALSE}
  -H  Use the specified http proxy for the installation
  -Z  Enable external software source for newer ZeroMQ(Only available for RHEL/CentOS/Fedora based distributions)

Stderr from the command:

stdin: is not a tty
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  204k  100  204k    0     0   197k      0  0:00:01  0:00:01 --:--:--  197k
rosstimson commented 9 years ago

I've managed to make a little progress by incorporating the PR: https://github.com/UtahDave/salt-vagrant-demo/pull/8

I now get the following error:

Processing triggers for ufw (0.34~rc-0ubuntu2) ...
Setting up salt-minion (2015.5.2+ds-1trusty1) ...
salt-minion start/running, process 6983
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
Processing triggers for ureadahead (0.100.0-16) ...
 *  INFO: Running install_ubuntu_check_services()
 *  INFO: Running install_ubuntu_restart_daemons()
salt-minion stop/waiting
salt-minion start/running, process 7040
 *  INFO: Running daemons_running()
 *  INFO: Salt installed!
Salt successfully configured and installed!
run_overstate set to false. Not running state.overstate.
Copying salt minion config to /etc/salt
Failed to upload a file to the guest VM via SCP due to a permissions
error. This is normally because the SSH user doesn't have permission
to write to the destination location. Alternately, the user running
Vagrant on the host machine may not have permission to read the file.

Source: /Users/ross.timson/Code/salt/salt-vagrant-demo/saltstack/etc/minion1
Dest: /etc/salt/minion
vagrant up --provider=virtualbox  12.92s user 5.54s system 6% cpu 4:33.59 total

I could create a separate issue if desired/necessary but this seems a good place to discuss general Vagrant issues. This demo should work out of the box as it is the recommended (easy) way to learn Salt.

rosstimson commented 9 years ago

Had some time to look at this some more. My last issue seems to be a known issue: https://github.com/mitchellh/vagrant/issues/5973

I'm now giving on this Vagrant setup as I'm spending way too much time troubleshooting Vagrant rather than learning Salt itself - I'll probably try a manual install instead.

sdesbure commented 9 years ago

Hello, same issue here

RobWC commented 9 years ago

I replaced

salt.install_type = "stable"

with

salt.install_command = "-P stable"

in the VagrantFile. That solved the issue for me.

UtahDave commented 8 years ago

This has been fixed.

erewok commented 7 years ago

I get this on Ubuntu 16.10 (not inside a Vagrant VM) and this is the only link that shows up when I google for help. Does anyone know what the root cause for this issue is?