owncloud-archive / vm

Scripts to build an ownCloud community production VM - this was in use until 9.1.x releases. Since 10.0.1 we build appliances with Univention
https://www.univention.de/produkte/univention-app-center/app-katalog/owncloud/
23 stars 14 forks source link

Unable to mount VM in Windows 10 with VirtualBox #1

Closed enoch85 closed 9 years ago

enoch85 commented 9 years ago

Steps to reproduce

  1. Download Vagrant and VirtualBox, then restart the PC.
  2. Download all Vagrant files from GitHub and put them in a folder
  3. Run CMD (Windows) with admin rights
  4. Go to the folder and type vagrant up
  5. Try to start the VM

    Expected behaviour

The VM should start

Actual Behaviour

The VM dosen't start and gives error Result Code: E_FAIL (0x80004005)

System

Host Windows 10 VirtualBox version 5.0.0 Vagrant version 1.7.4.msi (Windows)

enoch85 commented 9 years ago

FYI @karlitschek @LukasReschke @dragotin

enoch85 commented 9 years ago

These are the files that were created:

image

jnweiger commented 9 years ago

From Linux, running the script startup.sh gives me a working appliance. That is not ported to windows.

Can you try that on a Linux box?

enoch85 commented 9 years ago

@jnweiger I could, but then I would need to make a VM with Linux as guest as I run Windows - and that kind of makes this box useless IMHO. :/

I mean, as a user I make a box to run a guest operating system. If I'm already on Linux, why make a VM? Then it would be easier to just install it with this guide for example: https://www.en0ch.se/installation/

The idea of this box is to make it as easy as possible for the end-user, and most non-tech users run Windows. People on Linux tend to have the technical skills to do the installation by themselves. Please correct me if I'm wrong.

jnweiger commented 9 years ago

I meant, you try Linux to see of my scripts are broken there too. If so, I have an issue to fix. The porting to windows that I mentioned is another TODO, of course. Help welcome!

I'd be happy, if the vm-image can be run from a windows machine after it fell out of a Linux build environment. For me that is more important than porting the build environment to windows.

enoch85 commented 9 years ago

So in other words you can't just download Vagrant´s Windows version and run the commands from CMD in Windows? What has to be changed? My first time ever using boxes like this.

I mean, the box is created as it should if I type vagrant up with your Vagrantfile, and should just be able to run as any other VM no matter what host machine you run?

For example, if I create a .vmdk I can run that .vmdk on whatever system I want, what is the difference here?

karlitschek commented 9 years ago

@enoch85 I think it is O.K. to require Windows to build an VM. This is something that developers, packagers or very experienced users do. The normal users will just download the appliance from owncloud.org that we build using this scripts. So I think it is fine to require Windows to build a VM. What do you think?

enoch85 commented 9 years ago

@jnweiger Sorry, can't test the startup.sh. I get connection timeout. It works on Windows with vagrant up as I mentioned before. Maybe I can convert the .sh file to make Windows read it as a script. I'll check if that's possible. EDIT Not possible as the sh file contains Linux commands.

@karlitschek Ok, now I get the picture. :) I thought the users would build the VM and we would just maintain the scripts. Seems like I need to learn how Vagrant works then, and I would also have to get a Linux laptop (don't want to dual-boot) to build the boxes and test it before it's released.

enoch85 commented 9 years ago

Btw, have a look at this: https://github.com/enoch85/master/blob/master/startup-script.sh

It's not cleaned up and not exactly the one I use, just uploaded it so you can see how I do.

My idea is to build a built in script that runs at startup, and prompt the user with different settings like keyboard and such. It would also be nice if we could make the set-secure-permissions-owncloud.sh execute in the end so that the permissions were safe, owncloud-style.

What do you think?

enoch85 commented 9 years ago

@jnweiger Here is the output of bash startup.sh:

root@vagrant-VirtualBox:/owncloud# bash startup.sh 
++ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'ubuntu/trusty64' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Box file was not detected as metadata. Adding it directly...
==> default: Adding box 'ubuntu/trusty64' (v0) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/14.04/providers/virtualbox.box
    default: Progress: 0% (Rate: 0/s, Estimated time remaining:    default: Progress: 100% (Rate: 253/s, Estimated time remain    default: Progress: 0% (Rate: 161k/s, Estimated time remaini    default: Progress: 0% (Rate: 1774k/s, Estimated time remain    default: Progress: 2% (Rate: 4296k/s, Estimated time remain    default: Progress: 6% (Rate: 8496k/s, Estimated time remain    default: Progress: 11% (Rate: 11.9M/s, Estimated time remai    default: Progress: 16% (Rate: 13.5M/s, Estimated time remai    default: Progress: 18% (Rate: 14.2M/s, Estimated time remai    default: Progress: 18% (Rate: 13.4M/s, Estimated time remai    default: Progress: 19% (Rate: 10.5M/s, Estimated time remai    default: Progress: 19% (Rate: 6622k/s, Estimated time remai    default: Progress: 20% (Rate: 3000k/s, Estimated time remai    default: Progress: 20% (Rate: 2242k/s, Estimated time remai    default: Progress: 21% (Rate: 2300k/s, Estimated time remai    default: Progress: 21% (Rate: 2336k/s, Estimated time remai    default: Progress: 22% (Rate: 2376k/s, Estimated time remai    default: Progress: 23% (Rate: 2590k/s, Estimated time remai    default: Progress: 24% (Rate: 2906k/s, Estimated time remai    default: Progress: 25% (Rate: 3474k/s, Estimated time remai    default: Progress: 27% (Rate: 4347k/s, Estimated time remai    default: Progress: 29% (Rate: 5593k/s, Estimated time remai    default: Progress: 32% (Rate: 7204k/s, Estimated time remai    default: Progress: 35% (Rate: 9127k/s, Estimated time remai    default: Progress: 39% (Rate: 11.0M/s, Estimated time remai    default: Progress: 39% (Rate: 9918k/s, Estimated time remai    default: Progress: 42% (Rate: 10.3M/s, Estimated time remai    default: Progress: 44% (Rate: 9.8M/s, Estimated time remain    default: Progress: 47% (Rate: 10.3M/s, Estimated time remai    default: Progress: 52% (Rate: 11.1M/s, Estimated time remai    default: Progress: 58% (Rate: 15.8M/s, Estimated time remai    default: Progress: 60% (Rate: 13.6M/s, Estimated time remai    default: Progress: 63% (Rate: 15.6M/s, Estimated time remai    default: Progress: 66% (Rate: 14.9M/s, Estimated time remai    default: Progress: 69% (Rate: 13.2M/s, Estimated time remai    default: Progress: 72% (Rate: 11.0M/s, Estimated time remai    default: Progress: 75% (Rate: 13.1M/s, Estimated time remai    default: Progress: 78% (Rate: 12.0M/s, Estimated time remai    default: Progress: 81% (Rate: 12.1M/s, Estimated time remai    default: Progress: 84% (Rate: 12.3M/s, Estimated time remai    default: Progress: 87% (Rate: 12.4M/s, Estimated time remai    default: Progress: 90% (Rate: 12.3M/s, Estimated time remai    default: Progress: 93% (Rate: 12.4M/s, Estimated time remai    default: Progress: 96% (Rate: 12.5M/s, Estimated time remai    default: Progress: 99% (Rate: 12.7M/s, Estimated time remai==> default: Successfully added box 'ubuntu/trusty64' (v0) for 'virtualbox'!
==> default: Importing base box 'ubuntu/trusty64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: xUbuntu14.04+ownCloud8.1.0-6
==> 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: 80 => 8888 (adapter 1)
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
++ vagrant halt
==> default: Attempting graceful shutdown of VM...
    default: Guest communication could not be established! This is usually because
    default: SSH is not running, the authentication information was changed,
    default: or some other networking issue. Vagrant will force halt, if
    default: capable.
==> default: Forcing shutdown of VM...
+++ grep /xUbuntu14.04+ownCloud8.1.0-6/
+++ VBoxManage list hdds
++ imagePath='Location:       /root/VirtualBox VMs/xUbuntu14.04+ownCloud8.1.0-6/box-disk1.vmdk'
++ imagePath='root/VirtualBox VMs/xUbuntu14.04+ownCloud8.1.0-6/box-disk1.vmdk'
++ imageName=box-disk1.vmdk
++ imagePath='/root/VirtualBox VMs/xUbuntu14.04+ownCloud8.1.0-6/box-disk1.vmdk'
++ cp '/root/VirtualBox VMs/xUbuntu14.04+ownCloud8.1.0-6/box-disk1.vmdk' .
++ zip xUbuntu14.04+ownCloud8.1.0-6.vmdk.zip box-disk1.vmdk
  adding: box-disk1.vmdk
zip I/O error: No space left on device
zip error: Output file write failure (write error on zip file)
++ rm box-disk1.vmdk
++ '[' '/root/VirtualBox VMs/xUbuntu14.04+ownCloud8.1.0-6/box-disk1.vmdk' '!=' '' ']'
++ vagrant destroy -f
==> default: Destroying VM and associated drives...
==> default: Running cleanup tasks for 'shell' provisioner...
root@vagrant-VirtualBox:/owncloud#
JKawohl commented 9 years ago

Hi @enoch85 I tested it on linux and it worked like a charm.

I´ll run it on Windows and will have some results this afternoon.

enoch85 commented 9 years ago

@Kawohl Thanks for testing! :+1:

enoch85 commented 9 years ago

@jnweiger How do we solve the problem that the user still has to do a initial setup to configure the system to suit their language, keyboard and such?

https://github.com/owncloud/vm/issues/1#issuecomment-127083210

JKawohl commented 9 years ago

@enoch85 vagrant and the built vdmk runs just fine on my windows7

What was your exact process of building the vdmk? How did you mount it to Virtualbox? The main issue was not reproduceable.

jnweiger commented 9 years ago

Btw, have a look at this: https://github.com/enoch85/master/blob/master/startup-script.sh

It's not cleaned up and not exactly the one I use, just uploaded it so you can see how I do.

My idea is to build a built in script that runs at startup, and prompt the user with different settings like keyboard and such. It would also be nice if we could make the set-secure-permissions-owncloud.sh execute in the end so that the permissions were safe, owncloud-style.

What do you think?

I have something similar in the eval appliance at https://owncloud.com/download/#servervirtualimage the eval appliance is openSUSE-13.1 based. Ubuntu seems to have most of the needed building blocks ready. That makes a much nicer startup script. Thanks for pointing that out!

enoch85 commented 9 years ago

@Kawohl Hmm, ok. Good! After some further investigation it seems like it's a problem with VirtualBox and Windows 10. I will downgrade to 8.1 later tonight and test again. Regarding the steps I did as I wrote in the main issue.

@jnweiger Nice! Do you want help with the install script?

JKawohl commented 9 years ago

@enoch85 please feel free to reopen for better visibility. I missed the windows 10 part.

enoch85 commented 9 years ago

@Kawohl Here is the enhancment regarding the startup-script: https://github.com/owncloud/vm/issues/3

JKawohl commented 9 years ago

@enoch85 thank you for your efforts,

I was able to reproduce this with Windows10 and Virtualbox 5.0.

Thanks for contributing!

enoch85 commented 9 years ago

Confirmed, works with Win 8.1. I close this and wait for VirtualBox to come up with a fix.

karlitschek commented 9 years ago

I just realized that I said something wrong in a previous comment. :-) I mean "I think it is O.K. to require Linux to build an VM." instead of "I think it is O.K. to require Windows to build an VM". Sorry for the confusion

jnweiger commented 9 years ago

Hehe, thought so. thanks for the clarification!