how to integrate code with virtualbox? - c++

i am doing project in virtualbox. i have a client and server code in c++. i want server code to be integrated with virtualbox source code. client is sending cd image to server and cd image is diaplayed as virtual cdrom in guest os. i am trying to integrate this cd image with virtual cdrom part of vbox. but i dont know where to integrate this such that while running guest os, cd appears in it. it should NOT BE DONE MANUALLY. dont know where to put this cd image such that it will apperas in guest os. it would be a great help if u sort out this problem .

Simplest, your server can run the shell command VBoxManage storageattach to eject or attach cdrom images to a virtualbox guest.

Related

Migrating KVM guest to VMware: stuck on Error Recovery screen

I'm trying to move an old Win2008 server from KVM to VMware ESXi 6.7.
I realize the Win2008 VM is old and beyond EoS but need to keep this in place for now and is in a VLAN that is not internet accessible.
I tried to follow recommendations from Convert qcow2 to vmdk and make it ESXi 6.0 Compatible and steps I found on the web:
Shutdown VM on KVM
qemu-img convert -p -f qcow2 -O vmdk win2008.qcow2 win2008.vmdk using qemu v4.2.1
vmkfstools -i win2008.vmdk -d thin win2008_v2.vmdk on the VMware host
Attach the newly created win2008_v2.vmdk file to a newly created guest with default settings
However I'm stuck with a Windows Error Recovery: Windows failed to start. A recent hardware or software change might be the cause. screen at boot up.
I tried to use some conversion options like qemu-img convert -p -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=streamOptimized,compat6 win2008.qcow2 win2008.vmdk and tried moving between the 3 available scsi controllers (LSI Logic SAS, LSI Logic Parallel, VMware Paravirtual) to no avail.
When I boot the guest in Safe mode, I see a bunch of sys files get loaded properly until it's stuck after Loaded: \Windows\system32\drivers\crcdisk.sys.
Does anyone have an idea on how to move this guest properly? Any other conversion options to try? Driver install on the running guest (in KVM) first?
Note I'm not running vCenter.
Do you try to use VMware Converter Tool ? I think that is the easy way to move your server to VMware. You can download the tool it is free.
https://www.vmware.com/products/converter.html

Convert Docker image into binary on Mac OS X

Suppose I have a Docker image that runs some fun, but horrendously-complicated-to-compile-on-Mac-OSX-for audio editing application that does specific rendering of audio in realtime.
I have a Docker setup that runs this decently with a Linux image, but the process of getting audio piped to the host system isn't reliable nor performant. I'd really like to just run it directly on the host OS.
I'd like to run this desktop application nicely on Mac, but not have dependencies on Docker, Wine, etc.
Is there a way to make a single binary out of a Docker image that runs natively on Mac OSX?
I assume it would have to depend on some dynamic libs that Docker has, but that's fine.
No, this isn't possible.
Consider that even the "native" Docker Desktop for Mac application actually works with a hidden virtual machine. (Compare the outputs of uname -a and docker run --rm busybox uname -a, for example.) That's why you're able to run Linux containers on a MacOS host. But that also means that, if you were able to package up a Linux container into something that could run directly, it'd have to bring the rest of the Linux VM with it.
There are tools like Packer that can help with the process of building a VM, but you'll hit the same issues you're already encountering on connecting the VM's display/audio to the host's. Simplifying or automating the native-application build process is probably a better time investment.

Clone a Cloud9 workspace into an SSH enabled setup

My question concerns migrating a web app built in Flask to a Droplet.
I have built the app in a private workspace, using the Flask template in C9. Now it's been developed, I want to set up the app in a Digital Ocean droplet. To connect a brand new C9 SSH workspace to a droplet is fine; however, the SSH workspace by default does not have many of the dependencies (mySQL; Flask) and this is a major pain. I'm using a droplet with Ubuntu NodeJS 6.9.5 on 14.04.
Is there a way to have my existing private dev workspace cloned to an SSH workspace? It would be even better to have a single workspace maintained that syncs to the other, should I wish to take down the droplet for any reason.
Thanks.
Why can't you just image the disk, a digital copy of a working c9 to your new workplace, then use rsync to do increment sync.
rsync -azHAXxP -e 'ssh -p22' username#your-droplet-IP \
"dd if=/dev/sda of=myworking-droplet.iso bs=512 conv=noerror,sync"
Now that you have a full copy of working droplet as an image (.iso) file,
you can copy this to any hard disk of your choice and boot into it.
Image your Cloud9 into USB
If your C9 filesize is less than 30G, you can copy this into usb drive and maintain a locally bootable copy, that is you can image this unto any larger USB
and make it bootable, to achieve this do :
Mount USB of bigger size than size of your iso.
Check your mounted flash drive localtion with df -h, or lsblk -a
Image your iso file to usb with :
dd if=myworking-droplet of=/dev/sdb bs=512k conv=noerror,sync
Once finished, remove your drive, plug it into another PC,
change the boot order to USB Drive
and boot into your C9 locally
Sync Your Cloud9 workspace directory to another box
It gets better if you just want to sync your C9 workspace directory
over SSH connection to another box, use:
`rsync -azHAXxP -e 'ssh -p22' username#your-droplet-IP:/path/to/your/workspace .`
The above will clone your workspace directory over to your current box.
NOTE: The dot at the end of the command is necessary.
Mount your Cloud9 workspace to your local machine
Also you can mount your remote workspace file system to your local computer so you can make changes on
the fly and treat your droplet as local storage, so you can work and
access the same workspace locally without the need to login into your Cloud9
everytime you want to make changes or work on your project, to achieve this use:
Install SSHFS if not already installed with :
sudo apt-get install sshfs
Create a local directory in which to mount the droplet's file system.
sudo mkdir /mnt/mydroplet
Mount your droplet with:
sudo sshfs -o allow_other,defer_permissions \
root#xxx.xxx.xxx.xxx:/ /mnt/mydroplet
If your droplet is configured for login via ssh key authorization, use this:
`sudo sshfs -o allow_other,defer_permissions,IdentityFile=~/.ssh/id_rsa \
root#xxx.xxx.xxx.xxx:/ /mnt/mydroplet`
Now you can work with files on your droplet as if it were a physical device attached to your local machine.
Testing your mount from your local machine:
`cd /mnt/mydroplet`
Creat a test file
touch TestFile.php
Now login into you Clound9 and verify that you can access and modify the newly created file i.e TestFile.php
Now you can code locally, it immediately appears on your C9, or upload files from your local machine to your Cloud9 by copy file to your locally mounted directory.

Unable to install devstack in Virtual Box

I followed the steps below, but I'm getting an error.
Install Virtual Box (version 5.0.0) running on Windows 7 host machine.
Install Ubuntu server version 14.04.02 on it.
git clone https://github.com/openstack-dev/devstack.git
cd devstack; cp samples/local.conf .
After that i ran ./stack.sh but came with this error after running for approx 30 minutes:
2015-07-21 20:04:18.841 | ERROR (ConnectionRefused): Unable to establish connection to 10.0.2.15:8774/v2/c199aa06389a4c8c85dffddad18fce1b/flavors/… 2015-07-21 20:04:20.433 | + exit 1 deb#Devstack:~/devstack$
Please help me in resolving the issue
Try re-running the stack. Thats the best hack i found for DevStack debugging.
You need to do some specific network settings in virtual box to overcome this error.
From the Network section, change Attached to to Bridged Adapter, Adapter Type to Paravirtualized Network (virtio-net) and Promiscuous Mode to Allow All.
Check Enable Nested VT-x/AMD-v from System > Processor .
Select USB Tablet as the Pointing Device from System > Motherboard.
Then restart the virtual machine and check ifconfig for a new IP, add it in local.conf and then try install script again.
It should work this time :-)

Clone an OpenVZ system to run locally

I have a VPS on an ISP which is using OpenVZ. I want to run my own image locally to test some services, but I can only download a tar backup of the filesystem.
Can I create a image and run it locally using the tar backup ? I'm on Windows 7. Maybe VMWare Player or Oracle VirtualBox can run this files ?
Yes, you can. You can install centos 6 and OpenVZ in a virtuall machine and create a container from the backup there. http://openvz.org/Quick_installation