OpenXenManager

Post date: 17/09/2013 11:57:57

O XenCenter é a ferramenta de gerenciamento do servidor XenServer. Para obtê-lo, deve-se acessar o ip do servidor de virtualização no browser e fazer o download.

Apesar do XenServer ser baseado no CentOS (um Linux), seu gerenciador só possui versões para Windows.

Mas, como toda interação é feita através de protocolos, basta implementar um programa que interaja com o servidor seguindo as especificações do protocolo. E foi isso que foi feito através do OpenXenManager, disponível em http://sourceforge.net/projects/openxenmanager/

Este tutorial tem como objetivo apresentar o guia rápido para configuração do OpenXenManager no Ubuntu 13.10.

$ sudo su # wget -c http://sourceforge.net/projects/openxenmanager/files/latest/download -O openxenmanager.tar.gz # tar -zxf openxenmanager.tar.gz # apt-get install python-gtk2 python-gtk-vnc rrdtool python-rrdtool python-glade2 python-httplib2 # mv openxenmanager/ /opt # echo #!/bin/bash > openxenmanager # echo python /opt/openxenmanager/window.py >> openxenmanager # chmod 777 openxenmanager # mv openxenmanager /usr/bin # exit

Após a configuração, basta chamar o comando openxenmanager em qualquer pasta para acessar o servidor.

$ openxenmanager

Ao clicar em + Add Server, deve-se configurar o servidor e ativar a conexão SSL com o servidor, conforme apresentado na Figura:

Voilá.... O acesso ao servidor está disponível e pronto para a utilização.

Observações:

Em vários sites, encontrei tutoriais, mas nenhum deles funcionou no Ubuntu 13.04. Aconteceram vários tipos de erros:

  • File "/opt/openxenmanager/window.py", line 46, in <module>

    • import gtk.glade

    • ImportError: No module named glade

    • Faltava instalar o pacote phyton-glade2 (inserido no apt-get de dependências)

  • Unexpected error: (<class 'httplib.ResponseNotReady'>, ResponseNotReady(), <traceback object at 0xade12a2c>)

    • Traceback (most recent call last):

    • File "/opt/openxenmanager/oxcSERVER.py", line 1814, in event_next

    • eventn = self.connection.event.next(self.session_uuid)

    • File "/usr/lib/python2.7/xmlrpclib.py", line 1224, in __call__

    • return self.__send(self.__name, args)

    • File "/usr/lib/python2.7/xmlrpclib.py", line 1578, in __request

    • Exception in thread Thread-3:

    • Traceback (most recent call last):

    • File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner

    • self.run()

    • File "/usr/lib/python2.7/threading.py", line 763, in run

    • self.__target(*self.__args, **self.__kwargs)

    • File "/opt/openxenmanager/oxcSERVER_addserver.py", line 287, in fill_tree_with_vms

    • self.wine.finish_progressconnect()

    • File "/opt/openxenmanager/window_addserver.py", line 85, in finish_progressconnect

    • self.xc_servers[self.selected_host].fill_alerts(self.listalerts)

    • File "/opt/openxenmanager/oxcSERVER_addserver.py", line 46, in fill_alerts

    • self.session_uuid)['Value']

    • File "/usr/lib/python2.7/xmlrpclib.py", line 1224, in __call__

    • return self.__send(self.__name, args)

    • File "/usr/lib/python2.7/xmlrpclib.py", line 1578, in __request

    • verbose=self.__verbose

    • File "/usr/lib/python2.7/xmlrpclib.py", line 1264, in request

    • return self.single_request(host, handler, request_body, verbose)

    • File "/usr/lib/python2.7/xmlrpclib.py", line 1289, in single_request

    • self.send_request(h, handler, request_body)

    • File "/usr/lib/python2.7/xmlrpclib.py", line 1391, in send_request

    • connection.putrequest("POST", handler, skip_accept_encoding=True)

    • File "/usr/lib/python2.7/httplib.py", line 871, in putrequest

    • raise CannotSendRequest()

    • CannotSendRequest

    • Este problema é causado pela falta da instalação do pacote phyton-httplib2, inserido também nas dependências do openxenmanager.