Installation: Agent
Pages 43
- Home
- ANSOS: Archipel Node Stateless OS
- Archipel Agent's configuration file
- Archipel GUI's property list file
- Archipel Node Stateless OS booting from PXE
- Archipel Node Stateless PXE Boot How To Linux Like
- Archipel Node Stateless PXE Boot How To Windows Like
- Architecture & Concepts
- Central agent
- Developer: 3rd party tools
- Developer: APIs
- Developer: Coding guidelines
- Developer: Contributing
- Developer: localization
- Developer: modules
- Developer: Reset EGG installation
- Developer: Reset ejabberd database
- Developer: TextMate Localization Snippets
- Developer: Toolchain of archipel client
- Developer: xmpp api
- Ejabberd: Configuration
- Ejabberd: Preparing Ejabberd
- Error codes
- Exploitation manual
- Faq
- General: Dealing with versions
- General: FAQ
- General: Prerequisites
- General: Roadmap & Change Logs
- General: Supported Linux Distributions
- Installation manual
- Installation serviceuser
- Installation: Agent
- Installation: Archipel and LDAP
- Installation: Client
- List of stanza
- Security concerns
- Tools
- Usage: externaljid
- User manual
- User manual: quick start
- User manual: vmcasts
- Using websockets
- Show 28 more pages…
Clone this wiki locally
This part will guide you through the installation of the agent.
Alternatively, consider using ANSOS (Archipel Node Stateless OS), our ready-to-use Archipel hypervisor appliance based on CentOS 7.
Prerequisites
The prerequisites of Archipel Agent are a little bit more complicated than the ones for Client. You'll need :
- a decent version of Linux with the KVM module (fedora 13+ is great and fully tested)
- a decent version of qemu (0.12.5 is great, and included into fedora 13)
- a decent version of libvirt (0.8.7+) or trunk version.
- python 2.5, 2.6 or 2.7
- a shared folder between hypervisors if you want to use live migration (drive migration isn't ready in libvirt)
- python setuptools, in order to be able to run easy_install
- python-imaging (PIL)
- python-numeric (numpy)
- libvirt python bindings
- subversion (sometimes needed to install some eggs dependencies)
- gcc (sometimes needed to install some eggs dependencies)
- python-devel (sometimes needed to install some eggs dependencies)
Mixing OS packaged versions of libraries with easy_install/pip can cause some installation problems (seen on Ubuntu), therefore it is recommended to try to not mix both methods when possible and use easy_install/pip.
Installation
You can choose between the following installation procedures:
From Puppet
Use the class archipel::agent from the puppet-archipel module .
From published package on Pypi
REMOVED: The current package you can find on pypi are too old and are not working properly. They will be updated later for the beta7. So PLEASE don't use them.
From the sources
# git clone https://github.com/ArchipelProject/Archipel.git
# cd /path/to/clone/Archipel/
# ./pull.sh
pull.sh will initialize every submodule needed by the agent.
From the nightlies
# wget http://nightlies.archipelproject.org/latest-archipel-agent.tar.gz
# tar xvf latest-archipel-agent.tar.gz -C /path/to/untar/
Assuming you have completed one of the previous steps:
# easy_install apscheduler==2.1.2 sqlalchemy numpy
# cd /path/ArchipelAgent/
# ./buildAgent -d
NOTE: Dependencies checking is disabled by buildAgent -d and the latest versions of master sources needs to install some dependencies. To be sure you have everything installed, run at least one time: easy_install apscheduler sqlalchemy numpy python-magic
Post install things
Whatever the installation procedure you choose, you must follow these steps.
Finalize installation
To finish the Archipel installation:
# archipel-initinstall
Tune the configuration.
The configuration file of Archipel agent can be found in /etc/archipel/archipel.conf
You must adapt some value to your system. To get information about this configuration file,
you can look at Archipel Agent's configuration file.
Create the pubsub nodes
If you just installed your Ejabberd server, you need to create the following pubsub nodes to store stuff. Just run
# archipel-tagnode --jid=admin@FQDN --password=YOURPASSWORD --create
# archipel-rolesnode --jid=admin@FQDN --password=YOURPASSWORD --create
# archipel-adminaccounts --jid=admin@FQDN --password=YOURPASSWORD --create
More information about these tools can be found in the Tools page.
Start the agent
Finally go to /etc/archipel/archipel.conf and replace the first token with your Ejabberd FQDN. Then run
# /etc/init.d/archipel start
If it doesn't start, try to manually run this command:
# runarchipel
In case of basic initialization errors, they will be printed in the terminal. Do not forget to kill the runarchipel process you have manually launch before restarting it from the init script
Logs and checks
The logs will be printed into /var/log/archipel/archipel.log. To be completely sure Archipel is up and your hypervisor is connected you can run:
# ejabberdctl connected_users
(in case of using Ubuntu you must always use sudo in front of ejabberdctl, otherwise you get a confusing error)
You should see at least an entry like hypervisor@your.fqdn.com
Testing communication
After sucessfull installation, you can run the archipel-testxmppserver script to performe some checks :
# archipel-testxmppserver --jid=admin@FQDN --password=YOURPASSWORD
The script will perform 10 connection commands with your XMPP Server ( ejabberd ):
Update Archipel Agent
Update PyPi installation
To update archipel-agent when a new egg is pushed, you just have to run
# easy_install -U archipel-agent
# /etc/init.d/archipel restart
You may want in certain circumstances also run
archipel-initinstallif configuration file changed, but most of the time, you should not need to run this script again
Update Source installation
Just go to your repository clone and perform:
# git pull
# /etc/init.d/archipel restart
You may want in certain circumstances also run
archipel-initinstallif configuration file changed, but most of the time, you should not need to run this script again
HOWTO run archipel not as root
Here is a small HOWTO with steps how to run Archipel as a not-root user.
Performance
In order for the agent's server to deliver proper VM performances, the machine must have a recent CPU which supports Intel VT-x or AMD-V hardware virtualization. You can check if it is the case with this command, any value greater than zero is fine.
# egrep -c '(vmx|svm)' /proc/cpuinfo
Then if "kvm" is not available as an option for your VM's "Domain type" check that your bios has Virtualization Technology (VT) enabled for your CPU. "qemu" will work but it is a software emulation of the hardware and is extremely slow.
Here is an example for a machine which needs its BIOS settings changed :
# kvm-ok
INFO: /dev/kvm does not exist
HINT: sudo modprobe kvm_intel
INFO: Your CPU supports KVM extensions
INFO: KVM (vmx) is disabled by your BIOS
HINT: Enter your BIOS setup and enable Virtualization Technology (VT),
and then hard poweroff/poweron your system
KVM acceleration can NOT be used


