Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide support for Solus as a guest #9225

Closed
martinandersson opened this issue Nov 29, 2017 · 7 comments
Closed

Provide support for Solus as a guest #9225

martinandersson opened this issue Nov 29, 2017 · 7 comments

Comments

@martinandersson
Copy link

martinandersson commented Nov 29, 2017

Vagrant version

2.0.1

Host environment

Windows 10 and VirtualBox 5.2.2

Guest operating system

Solus 3.26.2

Vagrantfile

Case 1: Privately packed box with Solus

Vagrant.configure('2') do |config|
  config.vm.box = 'my-local-solus.box'
  
  config.vm.provider 'virtualbox' do |box|
     box.gui = true
  end
end

Case 2: Public box with a built-in hack

Vagrant.configure('2') do |config|
  config.vm.box = 'pristine/solus-3-budgie'
end

Case 3: Tryna' configure a hostname

Vagrant.configure('2') do |config|
  config.vm.box = 'pristine/solus-3-budgie'
  config.vm.hostname = 'superman'
end

Case 4: Swinging a private network

Vagrant.configure('2') do |config|
  config.vm.box = 'pristine/solus-3-budgie'
  config.vm.network 'private_network', ip: '192.168.33.10'
end

Expected behavior

Me happy.

Actual behavior

Case 1: Ultra failure, with the following message:

The guest operating system of the machine could not be detected!
Vagrant requires this knowledge to perform specific tasks such
as mounting shared folders and configuring networks. Please add
the ability to detect this guest operating system to Vagrant
by creating a plugin or reporting a bug.

Turns out that Solus is not supported.

Vagrant's docs claim that config.vm.guest defaults to :linux. This can not be true, cuz set this value explicitly in the Vagrantfile and all of a sudden the Solus box actually works to boot. Which is exactly what the public box used by case 2 does.

However, case 3 will still crash. With this message:

Vagrant attempted to execute the capability 'change_host_name'
on the detect guest OS 'linux', but the guest doesn't
support that capability. This capability is required for your
configuration of Vagrant. Please either reconfigure Vagrant to
avoid this capability or fix the issue by creating the capability.

Similarly, case 4 also crashes but whines about a missing "configure_networks" capability.

Please note that I have iterated through every guest plugin available/supported as config.vm.guest. Each one crash lol. So I think we're gonna have to start on a new plugin.

@martinandersson martinandersson changed the title Provide support for Solus Provide support for Solus as a guest Nov 29, 2017
@briancain
Copy link
Member

Hey @martinanderssondotcom - could you please provide a gist to a debug log with vagrant bringing up one of these vagrantfiles? Thanks!

@ikeydoherty
Copy link

If there is some kind of file inside Solus that is missing that breaks the Vagrant detection we can add them back (within reason) :)

@martinandersson
Copy link
Author

martinandersson commented Nov 29, 2017

@briancain gez I wish. The problem (I am having) is that Vagrant puke all kinds of glorious integrity-violating details such as my MAC address. I might be overly concerned but I just don't like copy-pasting that sort of stuff and putting it in the public domain. I tried to manually censor the log files but holy smokes that was some tedious amount of work. Can I email it to you?

@ikeydoherty As far as I can tell, it should be pretty straightforward to detect the OS by reading /etc/os-release which is what most Linux-centric guest plugins do, I believe. Solus has this file present and populates it with legit information about the distro. I think that at least one other guest plugin already developed could work just fine for Solus too if we can get ifupdown or systemd-networkd installed which seems to be what many guest plugins use to configure the machine. I spent a couple of search results trying to figure out how-to install these packages with the idea that my box - together with the config.vm.guest entry in the Vagrantfile - could simply masquerade himself as say Ubuntu, but I could never get the necessary tooling installed.

Let me take this moment to express my gratitude for your work on Solus =) It is by far the least buggiest and at the same time most performant (given the nice Budgie desktop!) Linux distro I have yet fooled around with. I.e. a perfect candidate for VMs! It's a bit unfortunate that Vagrant doesn't support Solus :'(

@briancain
Copy link
Member

@martinanderssondotcom - yes, please feel free to email it to me: bcain@hashicorp.com. Thanks!

@martinandersson
Copy link
Author

Done!

@soapy1
Copy link
Contributor

soapy1 commented Apr 17, 2020

This sounds like a reasonable idea, but this has low chance of being a priority for us anytime soon, so we'd rather close this issue than have it stagnate into the foreseeable future. The best way to get this implemented would be to submit a PR. If you do so, we'd welcome this work. If you want to discuss how to go about doing this, I'd be happy to help with that.

Again, thank you for suggesting this and it is a reasonable idea. But, since this is a feature request, it requires some work to add it to the project and we don't plan on doing that soon. But as this is also an open source project we welcome contributions. Thanks!

@soapy1 soapy1 closed this as completed Apr 17, 2020
@ghost
Copy link

ghost commented May 18, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@ghost ghost locked and limited conversation to collaborators May 18, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants