Name: rainbow-WN Version: 0.21 Release: 1%{?dist} Summary: Rainbow ("ARC in the Cloud") worknode components Group: Applications/System License: ASL 2.0 URL: http://trac.grid.org.ua/repos/workarea/rainbow/runtime # The source was created from a svn checkout # svn export http://trac.grid.org.ua/repos/workarea/rainbow rainbow-WN # tar -z -c -f rainbow-WN.tar.gz rainbow-WN Source0: rainbow-WN.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch %description Rainbow - "ARC in the Cloud" framework designed to run VMs as a grid jobs. This set of packages provides worknode components to run Rainbow. %prep %setup -q -n rainbow-WN %if %{?rhel}%{!?rhel:0} <= 5 patch -p0 < regression/el5.patch %endif %build %install rm -rf %{buildroot} mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_libexecdir}/rainbow mkdir -p %{buildroot}%{_sysconfdir}/sudoers.d mkdir -p %{buildroot}%{_sysconfdir}/rainbow.conf.d # rainbow-WN-essentials install -pm 755 bin/macvtap-manage \ bin/brtap-manage \ bin/diskimg-manage \ %{buildroot}%{_sbindir} sed '/NOPASSWD:/s!:.*!: %{_sbindir}/macvtap-manage!' \ etc/sudoers.d/macvtap-manage > %{buildroot}%{_sysconfdir}/sudoers.d/macvtap-manage sed '/NOPASSWD:/s!:.*!: %{_sbindir}/brtap-manage!' \ etc/sudoers.d/brtap-manage > %{buildroot}%{_sysconfdir}/sudoers.d/brtap-manage sed '/NOPASSWD:/s!:.*!: %{_sbindir}/diskimg-manage!' \ etc/sudoers.d/diskimg-manage > %{buildroot}%{_sysconfdir}/sudoers.d/diskimg-manage install -pm 755 libexec/hv_adapter_qemu.sh \ libexec/img_adapter_essentials.sh \ libexec/nethelper-client.sh \ libexec/push_info_gh.sh \ libexec/push_info_mail.sh \ %{buildroot}%{_libexecdir}/rainbow sed '/CLOUD_LIBEXEC_LOCATION=/s!=.*!=%{_libexecdir}/rainbow!' \ etc/rainbow.conf > %{buildroot}%{_sysconfdir}/rainbow.conf # rainbow-WN-libguestfs install -pm 755 libexec/img_adapter_libguestfs.sh \ libexec/guest_adapter_libguestfs.sh \ %{buildroot}%{_libexecdir}/rainbow install -pm 644 etc/rainbow.conf.d/libguestfs.conf \ %{buildroot}%{_sysconfdir}/rainbow.conf.d # rainbow-WN-staging-arccp install -pm 755 libexec/staging_adapter_arccp.sh \ %{buildroot}%{_libexecdir}/rainbow install -pm 644 etc/rainbow.conf.d/staging-arccp.conf \ %{buildroot}%{_sysconfdir}/rainbow.conf.d # rainbow-WN-staging-arccache install -pm 755 bin/arccache \ %{buildroot}%{_bindir} install -pm 755 libexec/staging_adapter_arccache.sh \ %{buildroot}%{_libexecdir}/rainbow install -pm 644 etc/rainbow.conf.d/staging-arccache.conf \ %{buildroot}%{_sysconfdir}/rainbow.conf.d # rainbow-WN-gloria install -pm 755 libexec/pilot_adapter_gloria.sh \ libexec/push_info_gloria.sh \ %{buildroot}%{_libexecdir}/rainbow %clean rm -rf %{buildroot} # # rainbow-WN-essentials # %package essentials Summary: Rainbow WN essential libs and tools Requires: nc Requires: sudo Requires: curl Requires: mkisofs Requires: iproute Requires: tunctl %if %{?rhel}%{!?rhel:0} <= 5 Requires: kvm %else Requires: qemu-kvm %endif %description essentials Rainbow - "ARC in the Cloud" framework designed to run VMs as a grid jobs. This package provides essential libs and tools for WN operation as a hypervisor for Rainbow. This package provides support for qemu-kvm direct invocation method only (as a current primary VMs running method). %post essentials /usr/sbin/groupadd -g 108 -r rainbow >/dev/null 2>&1 || : %files essentials %defattr(-,root,root,-) %{_sbindir}/macvtap-manage %{_sbindir}/brtap-manage %{_sbindir}/diskimg-manage %attr(440,root,root) %config(noreplace) %{_sysconfdir}/sudoers.d/macvtap-manage %attr(440,root,root) %config(noreplace) %{_sysconfdir}/sudoers.d/brtap-manage %attr(440,root,root) %config(noreplace) %{_sysconfdir}/sudoers.d/diskimg-manage %dir %{_libexecdir}/rainbow %{_libexecdir}/rainbow/hv_adapter_qemu.sh %{_libexecdir}/rainbow/img_adapter_essentials.sh %{_libexecdir}/rainbow/nethelper-client.sh %{_libexecdir}/rainbow/push_info_gh.sh %{_libexecdir}/rainbow/push_info_mail.sh %config(noreplace) %{_sysconfdir}/rainbow.conf %dir %{_sysconfdir}/rainbow.conf.d # # rainbow-WN-libguestfs # %package libguestfs Summary: Rainbow libguestfs support Requires: rainbow-WN-essentials >= 0.9 Requires: libguestfs-tools >= 1.20 Requires: libguestfs-tools-c >= 1.20 %if %{?rhel}%{!?rhel:0} >= 6 Requires: libguestfs-winsupport %endif Requires: chntpw %description libguestfs Rainbow - "ARC in the Cloud" framework designed to run VMs as a grid jobs. This package provides Rainbow libexec modules to use libguestfs. Runtime OS detection, dynamic access passwords and manipulating data images are supported via libguestfs. %files libguestfs %defattr(-,root,root,-) %{_libexecdir}/rainbow/img_adapter_libguestfs.sh %{_libexecdir}/rainbow/guest_adapter_libguestfs.sh %config(noreplace) %{_sysconfdir}/rainbow.conf.d/libguestfs.conf # # rainbow-WN-staging-arccp # %package staging-arccp Summary: Rainbow WN's staging support by means of arccp Requires: rainbow-WN-essentials >= 0.15 Requires: nordugrid-arc-client Requires: nordugrid-arc-plugins-globus Requires: nordugrid-arc-plugins-gfal Requires: gfal2 Requires: gfal2-plugin-lfc %description staging-arccp Rainbow - "ARC in the Cloud" framework designed to run VMs as a grid jobs. This package provides Rainbow libexec modules for data staging on WNs by means of arccp. %files staging-arccp %defattr(-,root,root,-) %{_libexecdir}/rainbow/staging_adapter_arccp.sh %config(noreplace) %{_sysconfdir}/rainbow.conf.d/staging-arccp.conf # # rainbow-WN-staging-arccache # %package staging-arccache Summary: Rainbow WN's staging support by means of ARC Cache Service usage Requires: rainbow-WN-essentials >= 0.15 Requires: nordugrid-arc-python %description staging-arccache Rainbow - "ARC in the Cloud" framework designed to run VMs as a grid jobs. This package provides arccahce binary and Rainbow libexec modules for data staging on WNs by means of ARC Cache Service usage %files staging-arccache %defattr(-,root,root,-) %{_bindir}/arccache %{_libexecdir}/rainbow/staging_adapter_arccache.sh %config(noreplace) %{_sysconfdir}/rainbow.conf.d/staging-arccache.conf # # rainbow-WN-gloria # %package gloria Summary: Rainbow Gloria's pilots support Requires: rainbow-WN-essentials >= 0.15 Requires: rainbow-WN-staging-arccp Requires: jq %description gloria Rainbow - "ARC in the Cloud" framework designed to run VMs as a grid jobs. This package provides Rainbow libexec modules to work as the Gloria's pilot. %files gloria %defattr(-,root,root,-) %{_libexecdir}/rainbow/pilot_adapter_gloria.sh %{_libexecdir}/rainbow/push_info_gloria.sh %changelog * Sun May 31 2015 Andrii Salnikov - 0.21-1 - rainbow-WN-staging-arccache initial implementation * Thu May 28 2015 Andrii Salnikov - 0.20-2 - gloria JSON double quotes parse bug fix - suppressing output of curl in gloria's push_info * Wed May 27 2015 Andrii Salnikov - 0.20-1 - common spec file for all WN components - first build of gloria and staging-arccp * Mon Apr 21 2014 Andrii Salnikov - 0.15-1 - nethelper client cookies auth support * Wed Apr 2 2014 Andrii Salnikov - 0.14-4 - failed job notification possible fix * Tue Apr 1 2014 Andrii Salnikov - 0.14-3 - email notifications support in dedicated push info adapter - GW helper client update for email operations * Mon Mar 31 2014 Andrii Salnikov - 0.13-1 - output files handling diskimg extraction support * Mon Mar 31 2014 Andrii Salnikov - 0.12-1 - vm checking and destroying functions moved to hv adapters * Mon Feb 24 2014 Andrii Salnikov - 0.10-2 - regression patch for el5 (old parted and losetup) * Sun Feb 23 2014 Andrii Salnikov - 0.10-1 - nethelper client updated to use new GW helper methods * Mon Jan 13 2014 Andrii Salnikov - 0.9-4 - diskimg-manage now changes image ownership - differnt images formats handlings - various typos fixes * Sat Jan 11 2014 Andrii Salnikov - 0.9-2 - VFAT disk images support (via essentials helper) * Tue Dec 10 2013 Andrii Salnikov - 0.8-1 - VVFAT support fixes * Thu Nov 21 2013 Andrii Salnikov - 0.7-1 - proper cleanup of network interfaces - ISO creation moved to WN side * Tue Nov 12 2013 Andrii Salnikov - 0.6-7 - bridged networking SL5-oriented rewrite * Tue Nov 12 2013 Andrii Salnikov - 0.5-1 - bridged networking support * Tue Nov 12 2013 Andrii Salnikov - 0.4-1 - sudoers permissions - SL5 fixes * Tue Oct 22 2013 Andrii Salnikov - 0.3-1 - push job info implementation * Wed Oct 09 2013 Andrii Salnikov - 0.2-1 - Internal-only parameters removed from config * Wed Oct 09 2013 Andrii Salnikov - 0.1-2 - sudoers sed to point the right macvtap-manage binary * Mon Oct 07 2013 Andrii Salnikov - 0.1-1 - Initial Package