Показаны сообщения с ярлыком virtualization. Показать все сообщения
Показаны сообщения с ярлыком virtualization. Показать все сообщения

вторник, 2 сентября 2014 г.

Docker Jenkins Slave Generator


tl;dr: Service for generating Dockerfile for Jenkins slaves is up and running here: http://docker-jenkins-slave.herokuapp.com/ .

Docker jenkins slave


The beginning of story is here: http://antigluk.blogspot.com/2013/10/docker-jenkins.html [russian].
Abstract: If you want to build your project on different environments (e.g. Jenkins installed on Arch Linux, and you want to build RPM on CentOS 6) with jenkins, but you don't want to use virtual machines, which is inefficient wasting of RAM and CPU, using Docker is good idea.

пятница, 18 апреля 2014 г.

Control Hyper-V with Python

Collection of links for writing Hyper-V script to control Hyper-V from Python

To manage Hyper-V machines there's WMI API (in my case I'll use Python WMI. There's also PowerShell version too, obviously)

When Windows 8 came out two versions of API appeared: root\virtualization and root\virtualization\v2

I think code is the best documentation for API (at least when I wrote my scripts it was much more useful when I found code examples), so without any words, without tl;dr - read code of my scripts.

Hyper-V WMI Provider Version 1

Namespace: root\virtualization
My script:
https://github.com/rrader/hue-build/blob/master/sandbox/hyperv.py

MSDN Documentation: http://msdn.microsoft.com/en-us/library/hh850319%28v=vs.85%29.aspx

Control Hyper-V VMs with Python - http://stackoverflow.com/questions/12970303/control-hyper-v-vms-with-python

Most useful source is Nova (OpenStack) driver for Hyper-V
https://github.com/openstack/nova/tree/master/nova/virt/hyperv
(all files without v2 suffix).

Hyper-V WMI Provider Version 2

Namespace: root\virtualization\v2
My script:
https://github.com/rrader/hue-build/blob/master/sandbox/hypervv2.py

Also, most useful source is Nova (OpenStack) driver for Hyper-V
https://github.com/openstack/nova/tree/master/nova/virt/hyperv
(all files with v2 suffix).

Network operations:
https://github.com/petrutlucian94/nova_dev/blob/master/nova/virt/hyperv/networkutilsv2.py

Attaching a VHD To A VM Using The Hyper-V WMI V2 Namespace - http://blogs.msdn.com/b/taylorb/archive/2013/08/12/attaching-a-vhd-to-a-vm-using-the-hyper-v-wmi-v2-namespace.aspx

четверг, 31 октября 2013 г.

Использование Docker-контейнеров как Jenkins-нод

Эта статья описывает использование контейнеров docker как отдельные ноды для системы непрерывной интеграции, в данном случае jenkins. Кому лень читать tl; dr Для сборки нашего проекта в RPM и DEB пакеты мы используем Jenkins, на что выделена специальная машина.

Сначала мы собирали наш проект только для CentOS 6. Далее добавилась поддержка CentOS 5, и оказалось что зависимости от конкретных версий библиотек не дают работать тем же бинарникам под разными версиями CentOS, понадобилась сборка разных RPM. Это было решено добавлением в jenkins ноды с CentOS 5, которой служила виртуалка на VirtualBox. Потом добавилась поддержка Suse, а потом и Debian.

Количество оперативной памяти не резиновое, а использование виртуальных машин только для сборки это явный оверхед, и было решено переписать скрипты используя Docker.

пятница, 5 июля 2013 г.

sshvbox - interactive SSH access to running VirtualBox machines

I used to use a lot of running virtual machines simultaneously in VirtualBox.
Some of them are used for jenkins, others for testing some functionality. Anyway, I always have at least 2, and usually more, machines in running state.

To ease SSH access to them, I configured NAT port forwarding so I need to remember port number.

But keeping in mind all ports is not useful - it would be much more convenient to just choose machine and run inside.

So, using VBoxManage utility I wrote script which works exactly as explained:

    $ sshvbox
     1) "CentOS 5" {5f877c2e-14a8-4aee-a467-8d9c369b2aec} <52222>
     2) "SLES11" {c99f57bf-3a70-4c75-afbb-36f60b493865} <2200>
     3) "Hortonworks Sandbox 1.3" {6d0fda26-d42c-4ab2-9838-a02a8ed081c9} <2222>
    select> 1     
    root@localhost's password:
    Last login: Fri Jul  5 13:20:28 2013 from 10.0.2.2
    [root@vagrant-centos-5 ~]#


on github: https://github.com/rrader/sshvbox