{"action":"created","issue":{"url":"https://api.github.com/repos/dotless-de/vagrant-vbguest/issues/183","labels_url":"https://api.github.com/repos/dotless-de/vagrant-vbguest/issues/183/labels{/name}","comments_url":"https://api.github.com/repos/dotless-de/vagrant-vbguest/issues/183/comments","events_url":"https://api.github.com/repos/dotless-de/vagrant-vbguest/issues/183/events","html_url":"https://github.com/dotless-de/vagrant-vbguest/issues/183","id":121067659,"number":183,"title":"Virtualbox guest addition not installing on Redhat 7.1","user":{"login":"jeff1evesque","id":2907085,"avatar_url":"https://avatars.githubusercontent.com/u/2907085?v=3","gravatar_id":"","url":"https://api.github.com/users/jeff1evesque","html_url":"https://github.com/jeff1evesque","followers_url":"https://api.github.com/users/jeff1evesque/followers","following_url":"https://api.github.com/users/jeff1evesque/following{/other_user}","gists_url":"https://api.github.com/users/jeff1evesque/gists{/gist_id}","starred_url":"https://api.github.com/users/jeff1evesque/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeff1evesque/subscriptions","organizations_url":"https://api.github.com/users/jeff1evesque/orgs","repos_url":"https://api.github.com/users/jeff1evesque/repos","events_url":"https://api.github.com/users/jeff1evesque/events{/privacy}","received_events_url":"https://api.github.com/users/jeff1evesque/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-12-08T18:21:41Z","updated_at":"2015-12-17T18:30:21Z","closed_at":null,"body":"I am unable to install guest additions on redhat 7.1\r\n\r\n```\r\n# -*- mode: ruby -*-\r\n# vi: set ft=ruby :\r\n\r\n# All Vagrant configuration is done below. The \"2\" in Vagrant.configure\r\n# configures the configuration version (we support older styles for\r\n# backwards compatibility). Please don't change it unless you know what\r\n# you're doing.\r\nVagrant.configure(2) do |config|\r\n  # The most common configuration options are documented and commented below.\r\n  # For a complete reference, please see the online documentation at\r\n  # https://docs.vagrantup.com.\r\n\r\n  ## Variables (ruby syntax)\r\n  required_plugins = %w(vagrant-r10k vagrant-vbguest)\r\n  plugin_installed = false\r\n\r\n  ## Install Vagrant Plugins\r\n  required_plugins.each do |plugin|\r\n    unless Vagrant.has_plugin? plugin\r\n      system \"vagrant plugin install #{plugin}\"\r\n      plugin_installed = true\r\n    end\r\n  end\r\n\r\n  ## Restart Vagrant: if new plugin installed\r\n  if plugin_installed == true\r\n    exec \"vagrant #{ARGV.join(' ')}\"\r\n  end\r\n\r\n  # Every Vagrant development environment requires a box. You can search for\r\n  # boxes at https://atlas.hashicorp.com/search.\r\n  config.vm.box = \"jeff1evesque/rhel7.1\"\r\n\r\n  ## ssh\r\n  config.ssh.private_key_path = '~/.ssh/vagrant'\r\n  config.ssh.username = \"myUser\"\r\n  config.ssh.password = \"myPass\"\r\n\r\n  ## Define fully qualified domain name\r\n  config.vm.hostname = \"my.domain.com\"\r\n\r\n  ## Run r10k\r\n  config.r10k.puppet_dir = 'puppet'\r\n  config.r10k.puppetfile_path = 'puppet/Puppetfile'\r\n\r\n...\r\n\r\n  # Disable automatic box update checking. If you disable this, then\r\n  # boxes will only be checked for updates when the user runs\r\n  # `vagrant box outdated`. This is not recommended.\r\n  # config.vm.box_check_update = false\r\n\r\n  # Create a forwarded port mapping which allows access to a specific port\r\n  # within the machine from a port on the host machine. In the example below,\r\n  # accessing \"localhost:8080\" will access port 80 on the guest machine.\r\n  config.vm.network \"forwarded_port\", guest: 80, host: ****\r\n  config.vm.network \"forwarded_port\", guest: 443, host: ****\r\n\r\n  # allow host machine to ssh into vm\r\n  config.ssh.private_key_path = '~/.ssh/privateKey'\r\n\r\n  # Create a private network, which allows host-only access to the machine\r\n  # using a specific IP.\r\n  # config.vm.network \"private_network\", ip: \"192.168.33.10\"\r\n\r\n  # Create a public network, which generally matched to bridged network.\r\n  # Bridged networks make the machine appear as another physical device on\r\n  # your network.\r\n  # config.vm.network \"public_network\"\r\n\r\n  # Share an additional folder to the guest VM. The first argument is\r\n  # the path on the host to the actual folder. The second argument is\r\n  # the path on the guest to mount the folder. And the optional third\r\n  # argument is a set of non-required options.\r\n  # config.vm.synced_folder \"../data\", \"/vagrant_data\"\r\n\r\n  # Provider-specific configuration so you can fine-tune various\r\n  # backing providers for Vagrant. These expose provider-specific options.\r\n  # Example for VirtualBox:\r\n  #\r\n  # config.vm.provider \"virtualbox\" do |vb|\r\n  #   # Display the VirtualBox GUI when booting the machine\r\n  #   vb.gui = true\r\n  #\r\n  #   # Customize the amount of memory on the VM:\r\n  #   vb.memory = \"1024\"\r\n  # end\r\n  #\r\n  # View the documentation for the provider you are using for more\r\n  # information on available options.\r\n\r\n  # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies\r\n  # such as FTP and Heroku are also available. See the documentation at\r\n  # https://docs.vagrantup.com/v2/push/atlas.html for more information.\r\n  # config.push.define \"atlas\" do |push|\r\n  #   push.app = \"YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME\"\r\n  # end\r\n\r\n  # Enable provisioning with a shell script. Additional provisioners such as\r\n  # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the\r\n  # documentation for more information about their specific syntax and use.\r\n  # config.vm.provision \"shell\", inline: <<-SHELL\r\n  #   sudo apt-get update\r\n  #   sudo apt-get install -y apache2\r\n  # SHELL\r\nend\r\n```\r\n\r\nwhich generates the follow error traceback on `vagrant up`:\r\n\r\n```bash\r\n$ vagrant up\r\nBringing machine 'default' up with 'virtualbox' provider...\r\n==> default: vagrant-r10k: Building the r10k module path with puppet provisioner\r\n module_path \"puppet/modules\". (if module_path is an array, first element is used)\r\n==> default: vagrant-r10k: Beginning r10k deploy of puppet modules into /path/to/myProject/puppet/modules using /path/to/myProject/puppet/Puppetfile\r\n==> default: vagrant-r10k: Deploy finished\r\n==> default: Importing base box 'jeff1evesque/rhel7.1'...\r\n==> default: Matching MAC address for NAT networking...\r\n==> default: Setting the name of the VM: myProject_default_**********_****\r\n==> default: vagrant-r10k: Building the r10k module path with puppet provisioner\r\n module_path \"puppet/modules\". (if module_path is an array, first element is used)\r\n==> default: vagrant-r10k: Beginning r10k deploy of puppet modules into /path/to/myProject/puppet/modules using /path/to/myProject/puppet/Puppetfile\r\n==> default: vagrant-r10k: Deploy finished\r\n==> default: Clearing any previously set network interfaces...\r\n==> default: Preparing network interfaces based on configuration...\r\n    default: Adapter 1: nat\r\n==> default: Forwarding ports...\r\n    default: 80 => **** (adapter 1)\r\n    default: 443 => **** (adapter 1)\r\n    default: 22 => 2222 (adapter 1)\r\n==> default: Booting VM...\r\n==> default: Waiting for machine to boot. This may take a few minutes...\r\n    default: SSH address: 127.0.0.1:2222\r\n    default: SSH username: myUser\r\n    default: SSH auth method: password\r\n    default: Warning: Connection timeout. Retrying...\r\n    default: Warning: Connection timeout. Retrying...\r\n    default:\r\n    default: Inserting generated public key within guest...\r\n    default: Removing insecure key from the guest if it's present...\r\n    default: Key inserted! Disconnecting and reconnecting using new SSH key...\r\n==> default: Machine booted and ready!\r\nNo installation found.\r\nsudo: sorry, you must have a tty to run sudo\r\n==> default: Checking for guest additions in VM...\r\n    default: No guest additions were detected on the base box for this VM! Guest\r\n\r\n    default: additions are required for forwarded ports, shared folders, host only\r\n    default: networking, and more. If SSH fails on this machine, please install\r\n    default: the guest additions and repackage the box to continue.\r\n    default:\r\n    default: This is not an error message; everything may continue to work properly,\r\n    default: in which case you may ignore this message.\r\nThe following SSH command responded with a non-zero exit status.\r\nVagrant assumes that this means the command failed!\r\n\r\nyum install -y kernel-devel-`uname -r` gcc make perl\r\n\r\nStdout from the command:\r\n\r\n\r\n\r\nStderr from the command:\r\n\r\nsudo: sorry, you must have a tty to run sudo\r\n```"},"comment":{"url":"https://api.github.com/repos/dotless-de/vagrant-vbguest/issues/comments/165539950","html_url":"https://github.com/dotless-de/vagrant-vbguest/issues/183#issuecomment-165539950","issue_url":"https://api.github.com/repos/dotless-de/vagrant-vbguest/issues/183","id":165539950,"user":{"login":"jeff1evesque","id":2907085,"avatar_url":"https://avatars.githubusercontent.com/u/2907085?v=3","gravatar_id":"","url":"https://api.github.com/users/jeff1evesque","html_url":"https://github.com/jeff1evesque","followers_url":"https://api.github.com/users/jeff1evesque/followers","following_url":"https://api.github.com/users/jeff1evesque/following{/other_user}","gists_url":"https://api.github.com/users/jeff1evesque/gists{/gist_id}","starred_url":"https://api.github.com/users/jeff1evesque/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeff1evesque/subscriptions","organizations_url":"https://api.github.com/users/jeff1evesque/orgs","repos_url":"https://api.github.com/users/jeff1evesque/repos","events_url":"https://api.github.com/users/jeff1evesque/events{/privacy}","received_events_url":"https://api.github.com/users/jeff1evesque/received_events","type":"User","site_admin":false},"created_at":"2015-12-17T18:30:21Z","updated_at":"2015-12-17T18:30:21Z","body":"Ah, when I check the virtualbox guest additions, on the original redhat 7.1:\r\n\r\n```bash\r\n$ systemctl -a | grep box\r\nvboxadd-service.service\r\n  loaded  active  running vboxadd-service.service\r\nvboxadd-x11.service\r\n  loaded  active  exited  vboxadd-x11.service\r\nvboxadd.service\r\n  loaded  active  exited  vboxadd.service\r\n```\r\n\r\nDespite the following indicating the *guest additions* is present on the redhat 7.1 guest VM:\r\n\r\n```bash\r\n$ lsmod | grep -io vboxguest | xargs modinfo | grep -iw version\r\nversion:        5.0.8\r\n```\r\n\r\nWhen the above redhat 7.1 vm is properly converted to a `package.box`, then loaded as `jeff1evesque/rhel7.1`, a `vagrant up` yields the following:\r\n\r\n```bash\r\n$ vagrant up\r\nBringing machine 'default' up with 'virtualbox' provider...\r\n==> default: vagrant-r10k: Building the r10k module path with puppet provisioner\r\n module_path \"puppet/modules\". (if module_path is an array, first element is used)\r\n==> default: vagrant-r10k: Beginning r10k deploy of puppet modules into /path/to/project/puppet/modules using /path/to/project/puppet/Puppetfile\r\n==> default: vagrant-r10k: Deploy finished\r\n==> default: Importing base box 'jeff1evesque/rhel7.1'...\r\n==> default: Matching MAC address for NAT networking...\r\n==> default: Setting the name of the VM: myProject_default_************_*****\r\n==> default: vagrant-r10k: Building the r10k module path with puppet provisioner\r\n module_path \"puppet/modules\". (if module_path is an array, first element is used)\r\n==> default: vagrant-r10k: Beginning r10k deploy of puppet modules into /path/to/project/puppet/modules using /path/to/project/puppet/Puppetfile\r\n==> default: vagrant-r10k: Deploy finished\r\n==> default: Fixed port collision for 22 => 2222. Now on port 2200.\r\n==> default: Clearing any previously set network interfaces...\r\n==> default: Preparing network interfaces based on configuration...\r\n    default: Adapter 1: nat\r\n==> default: Forwarding ports...\r\n    default: 80 => 8333 (adapter 1)\r\n    default: 443 => 8334 (adapter 1)\r\n    default: 22 => 2200 (adapter 1)\r\n==> default: Booting VM...\r\n==> default: Waiting for machine to boot. This may take a few minutes...\r\n    default: SSH address: 127.0.0.1:2200\r\n    default: SSH username: myUser\r\n    default: SSH auth method: password\r\n    default: Warning: Connection timeout. Retrying...\r\n    default: Warning: Connection timeout. Retrying...\r\n    default:\r\n    default: Inserting generated public key within guest...\r\n==> default: Machine booted and ready!\r\n```\r\n\r\nvia the following `Vagrantfile`:\r\n\r\n```bash\r\n# -*- mode: ruby -*-\r\n# vi: set ft=ruby :\r\n\r\n# All Vagrant configuration is done below. The \"2\" in Vagrant.configure\r\n# configures the configuration version (we support older styles for\r\n# backwards compatibility). Please don't change it unless you know what\r\n# you're doing.\r\nVagrant.configure(2) do |config|\r\n  # The most common configuration options are documented and commented below.\r\n  # For a complete reference, please see the online documentation at\r\n  # https://docs.vagrantup.com.\r\n\r\n  ## Variables (ruby syntax)\r\n  required_plugins = %w(vagrant-r10k vagrant-vbguest)\r\n  plugin_installed = false\r\n\r\n  ## Install Vagrant Plugins\r\n  required_plugins.each do |plugin|\r\n    unless Vagrant.has_plugin? plugin\r\n      system \"vagrant plugin install #{plugin}\"\r\n      plugin_installed = true\r\n    end\r\n  end\r\n\r\n  ## Restart Vagrant: if new plugin installed\r\n  if plugin_installed == true\r\n    exec \"vagrant #{ARGV.join(' ')}\"\r\n  end\r\n\r\n  # Every Vagrant development environment requires a box. You can search for\r\n  # boxes at https://atlas.hashicorp.com/search.\r\n  config.vm.box = \"jeff1evesque/rhel7.1\"\r\n\r\n  ## ssh\r\n  config.ssh.private_key_path = '~/.ssh/privateKey'\r\n  config.ssh.username = \"myUser\"\r\n  config.ssh.password = \"myPass\"\r\n\r\n  if ARGV[1] == \"ssh\"\r\n    config.ssh.forward_agent = true\r\n  else\r\n    config.ssh.forward_agent = false\r\n  end\r\n  config.ssh.pty = true\r\n\r\n  ## Define fully qualified domain name\r\n  config.vm.hostname = \"my.domain.com\"\r\n\r\n  ## Run r10k\r\n  config.r10k.puppet_dir = 'puppet'\r\n  config.r10k.puppetfile_path = 'puppet/Puppetfile'\r\n\r\n...\r\n\r\n  # Disable automatic box update checking. If you disable this, then\r\n  # boxes will only be checked for updates when the user runs\r\n  # `vagrant box outdated`. This is not recommended.\r\n  # config.vm.box_check_update = false\r\n\r\n  # Create a forwarded port mapping which allows access to a specific port\r\n  # within the machine from a port on the host machine. In the example below,\r\n  # accessing \"localhost:8080\" will access port 80 on the guest machine.\r\n  config.vm.network \"forwarded_port\", guest: 80, host: ****\r\n  config.vm.network \"forwarded_port\", guest: 443, host: ****\r\n\r\nend\r\n```"}}