[Server-devel] The three step XSCE demo!
Thomas Gilliard
satellitgo at gmail.com
Thu Nov 21 16:03:28 EST 2013
On 11/21/2013 12:46 PM, David Farning wrote:
> Should I turn this into a wiki page?
>
> On Thu, Nov 21, 2013 at 12:27 PM, Miguel González
> <migonzalvar at activitycentral.com> wrote:
>> I'm going to describe in detail my current dev environment. Hopefully,
>> it could be useful for somebody.
>>
I have some pertenent info here:
General Info:
http://wiki.sugarlabs.org/go/Sugar_Creation_Kit/sck/Advanced_Topics#XS_Community_Edition
XSCE and DXS VM's
http://wiki.sugarlabs.org/go/Sugar_Creation_Kit/sck/Advanced_Topics#XSCE_in_VirtualBox
Tom Gilliard
>> Pre-requisites
>> ====
>>
>> I'm using a VirtualBox and installing a virtual machine with Fedora18.
>>
>> I'm also use vagrant to automatically manage the virtual machine.
>> There packages available from its website [1]. I'm currently using
>> version 1.3.4.
>>
>>
>> Booting a fresh virtual machine
>> ====
>>
>> The file Vagrantfile defines a basic image to download (= vagrant box)
>> and allows to add configuration details like network configuration.
>>
>> This is a simplified but fully functional version:
>>
>> ```ruby
>> # -*- mode: ruby -*-
>> # vi: set ft=ruby :
>>
>> VAGRANTFILE_API_VERSION = "2"
>>
>> Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
>> config.vm.box = "fedora-18-x86_64"
>> config.vm.box_url =
>> "http://puppet-vagrant-boxes.puppetlabs.com/fedora-18-x64-vbox4210-nocm.box"
>>
>> # config.vm.network :public_network
>>
>> # config.ssh.forward_agent = true
>>
>> config.vm.synced_folder ".", "/vagrant", :disabled => true
>>
>> config.vm.provider :virtualbox do |vb|
>> # vb.gui = true
>> end
>>
>> end
>> ```
>>
>> With this command, vagrant downloads the basic image (only the first
>> time) and deploys and boots up the virtual machine:
>>
>> ```
>> $ vagrant up
>> ```
>>
>>
>> Then, to access the vagrant virtual machine:
>>
>> ```
>> $ vagrant ssh
>> ```
>>
>> Installing XSCE
>> ====
>>
>> Inside the vm now it's possible to follow the install instructions
>> [2]. I'm copying them below:
>>
>>
>> Install git and ansible (for dependencies):
>>
>> ```
>> sudo su -
>> yum install -y git ansible
>> ```
>>
>> Update ansible to use a :
>>
>> ```
>> cd ~/
>> git clone https://github.com/ansible/ansible.git
>> cd ansible
>> git checkout 07b59da99
>> python setup.py install
>> ```
>>
>> Clone the XSCE git repo and run the actual setup:
>>
>> ```
>> cd ~/
>> git clone https://github.com/XSCE/xsce
>> cd xsce/
>> ./runansible
>> ```
>>
>> XSCE autoconfigures itself according to the interfaces it detects. If
>> XSCE only detects one interface, as in this setup, it configures
>> itself in "appliance mode". But the service are not reachable because
>> `eth0` in the host machine is using a subnetwork.
>>
>> One solutions is define a port forward for every service. Other
>> solution, the one I'm using currently is to add a new interface
>> **after installing XSCE**.
>>
>> To do it, from the host machine I halt the vm, uncomment a line in
>> Vagrantfile and run again:
>>
>> ```
>> $ vagrant halt
>> $ vim Vagrantfile
>> ... uncomment # config.vm.network :public_network
>> $ vagrant up
>> $ vagrant ssh
>> ```
>>
>> The guest machine has 2 interfaces, the internal subnet and another
>> bridged to the same LAN as the host
>>
>> ```
>> [vagrant at schoolserver ~]$ ip a
>> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
>> link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
>> inet 127.0.0.1/8 scope host lo
>> inet6 ::1/128 scope host
>> valid_lft forever preferred_lft forever
>> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
>> state UP qlen 1000
>> link/ether 08:00:27:f0:90:8a brd ff:ff:ff:ff:ff:ff
>> inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
>> inet6 fe80::a00:27ff:fef0:908a/64 scope link
>> valid_lft forever preferred_lft forever
>> 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
>> state UP qlen 1000
>> link/ether 08:00:27:ca:fe:ca brd ff:ff:ff:ff:ff:ff
>> inet 192.168.0.100/24 brd 192.168.0.255 scope global eth1
>> inet6 fe80::a00:27ff:feca:feca/64 scope link
>> valid_lft forever preferred_lft forever
>> ```
>>
>> And now all the services can be accessed from the LAN by any device
>> for testing, in this case, using 192.168.0.100.
>>
>>
>> The main problem here is that running XSCE installation process again
>> (`./runansible`) will mess the configuration because **it will find 2
>> interfaces now**. So, before configuring the server again, disable
>> eth1:
>>
>>
>> ```
>> [root at schoolserver xsce]# ifconfig eth1 down
>> [root at schoolserver xsce]# ./runansible
>> ```
>>
>>
>> More..
>> ====
>>
>>
>> - To begin with a new fresh virtual machine:
>>
>> ```
>> $ vagrant destroy
>> $ vagrant up
>> ```
>>
>>
>> - Uncommenting `config.ssh.forward_agent = true` in Vagrantfile, it is
>> possible to write in a git repo from the guest using host's keys.
>>
>>
>> - Take a look to https://github.com/XSCE/xsce/pull/76 when we are
>> trying to simplify adding new *roles* (services) to XSCE.
>>
>>
>>
>> 1: http://downloads.vagrantup.com/
>>
>> 2: https://github.com/XSCE/xsce/blob/master/docs/INSTALL.rst
>>
>> On Wed, Nov 20, 2013 at 11:01 AM, Anish Mangal
>> <anish at activitycentral.com> wrote:
>>> Hi Sebastian,
>>>
>>> You should be able to download the image from here (Thanks to Thomas Gillard
>>> for uploading the file):
>>> http://people.sugarlabs.org/Tgillard/XSCE.ova
>>>
>>> Please verify the md5sum once you have downloaded the file.
>>> 56a4f141b564b0d2bd65c543a5e585c6
>>>
>>> About your question on dev environment I am ccing Santi and Miguel who can
>>> answer it best. It may depend on what part of the server you want to
>>> contribute to, but I think you should mostly be able to get away with just a
>>> VM image. I don't believe anyone has tried a chroot env (though I could be
>>> wrong) but it _might_ be possible.
>>>
>>> Also, for testing with real clients (like xo laptops) you are probably going
>>> to need something for the LAN side (an access point). There are a few
>>> permutations here, but I will step back and let more the technical experts
>>> converse :-)
>>>
>>> Cheers,
>>> Anish
>>>
>>>
>>>
>>> On Wed, Nov 20, 2013 at 10:54 AM, Sebastian Silva
>>> <sebastian at fuentelibre.org> wrote:
>>>> Thanks that will be simpler. Actually I'm more interested in what a good
>>>> dev environment would be in order to contribute.
>>>> Do I need to make a fedora chroot?
>>>>
>>>> Regards,
>>>> Sebastian
>>>>
>>>> El 19/11/13 09:51, Anish Mangal escribió:
>>>>
>>>> I tried uploading it to xsce.activitycentral.com, but I ran out of space
>>>> in my user dir. Normally the appliance is 1.3G, but this also has 400mb of
>>>> IIAB test dataset.
>>>>
>>>> I'll give it another shot in another area where there is some free space,
>>>> and get back.
>>>>
>>>>
>>>> On Tue, Nov 19, 2013 at 7:24 PM, Sebastian Silva
>>>> <sebastian at fuentelibre.org> wrote:
>>>>> Hi
>>>>> I tried this but google drive problematic to download from as it requires
>>>>> to download from a browser. Not adequate for 1.6gb. Let me know if I can
>>>>> pick it up from a regular download place. Why is it so big?
>>>>>
>>>>> Regards,
>>>>> Sebastian
>>>>>
>>>>> El 17/11/13 20:48, Anish Mangal escribió:
>>>>>
>>>>>> Download the XSCE Virtualbox appliance from here
>>>>>> https://docs.google.com/file/d/0B3eW2YPe6koIVXRVbDhSR0xXQ1U (approx 1.6 GB)
>>>>>
>>>>
>>
>>
>> --
>> Miguel González
>> Activity Central: http://www.activitycentral.com
>> _______________________________________________
>> Server-devel mailing list
>> Server-devel at lists.laptop.org
>> http://lists.laptop.org/listinfo/server-devel
>
>
More information about the Server-devel
mailing list