diff --git a/files/pulsar_repo/0.15.14/recursive_rsync.patch b/files/pulsar_repo/0.15.14/recursive_rsync.patch new file mode 100644 index 0000000..9ac22f2 --- /dev/null +++ b/files/pulsar_repo/0.15.14/recursive_rsync.patch @@ -0,0 +1,52 @@ +--- a/staging/__init__.py 2026-05-05 00:09:44.381594787 +0200 ++++ b/staging/__init__.py 2026-05-05 00:12:14.175296482 +0200 +@@ -358,3 +358,18 @@ + files_directory = "{}_files{}".format(basename(output_file)[0:-len(".dat")], self.path_helper.separator) + names = filter(lambda o: o.startswith(files_directory), self.output_directory_contents) + return dict(map(lambda name: (local_path(name), name), names)) ++ ++ def output_extra_files_dir(self, output_file): ++ """ ++ Returns dict mapping local path to remote name. ++ """ ++ print(output_file) ++ output_directory = dirname(output_file) ++ ++ def local_path(name): ++ return join(output_directory, self.path_helper.local_name(name)) ++ ++ name = "{}_files{}".format(basename(output_file)[0:-len(".dat")], self.path_helper.separator) ++ edir = dict() ++ edir[local_path(name)] = name ++ return edir + +--- a/staging/down.py 2026-05-05 00:12:46.458249361 +0200 ++++ b/staging/down.py 2026-05-05 00:15:54.391439324 +0200 +@@ -118,7 +118,7 @@ + if output_generated: + self._attempt_collect_output('output', output_file) + +- for galaxy_path, pulsar in self.pulsar_outputs.output_extras(output_file).items(): ++ for galaxy_path, pulsar in self.pulsar_outputs.output_extra_files_dir(output_file).items(): + self._attempt_collect_output('output', path=galaxy_path, name=pulsar) + # else not output generated, do not attempt download. + +--- a/transport/ssh.py 2026-05-04 16:02:17.470665842 +0200 ++++ b/transport/ssh.py 2026-05-05 00:19:04.621400669 +0200 +@@ -7,6 +7,7 @@ + def rsync_get_file(uri_from, uri_to, user, host, port, key): + cmd = [ + 'rsync', ++ '-src', + '-e', + 'ssh -i {} -p {} {}'.format(key, port, ' '.join(SSH_OPTIONS)), + '{}@{}:{}'.format(user, host, uri_from), +@@ -19,6 +20,8 @@ + _ensure_dir(uri_to, key, port, user, host) + cmd = [ + 'rsync', ++ '-src', ++ '--chmod=F664,D775', + '-e', + 'ssh -i {} -p {} {}'.format(key, port, ' '.join(SSH_OPTIONS)), + uri_from, diff --git a/group_vars/pulsarservers.yml b/group_vars/pulsarservers.yml index d7a22b9..068f50e 100644 --- a/group_vars/pulsarservers.yml +++ b/group_vars/pulsarservers.yml @@ -12,6 +12,7 @@ miniconda_channels: - 'bioconda' - 'conda-forge' csnt_dependency_resolvers: {} +csnt_use_recursive_rsync: yes # only galaxyproject.pulsar role vars below pulsar_user: "{{ pulsar.user_name }}" diff --git a/host_vars/pulsar-re.grid.cesnet.cz/secret.yml b/host_vars/pulsar-re.grid.cesnet.cz/secret.yml index af0e636..04af330 100644 --- a/host_vars/pulsar-re.grid.cesnet.cz/secret.yml +++ b/host_vars/pulsar-re.grid.cesnet.cz/secret.yml @@ -1,7 +1,44 @@ $ANSIBLE_VAULT;1.1;AES256 -31656362376365366635666637393832623330656636343363336432323734643532653139656535 -6236313761383931636563353462626631336238366339350a383865356638396531623164343362 -62313863336264346136326566373933396631326432313531383164626466333761333666656266 -6231373131313665370a316339653636643936306438666364333934343032346666623431663061 -66363363393264353933633065343037303039306136316466383239353532333463363663343066 -3436396666326261336236323263613439633664383431366230 +39323666313433646536393535326563373739326233343864313430643666363838643266616232 +3031373362373931363866643962393262306139326439380a353135396131633136643864663939 +33313537366232613733323262313965323163393966636332353964323633653361376361356133 +6361376132353330330a623863303830366363616639646139316630353962333630393831366536 +38376561333333333964616134356633616433313130653561613938343562346464313634666536 +33613261613265306464633230633238356434383565663463383137643438393733336333643062 +38353432613362663933313864616435363639323663643331616463343330393362616262643231 +32383834316465393839363762353462376364356234373534306538363838363836356334346361 +63366566353963633763663335613436643339316639396465306131313562653332336263313933 +37383239336431326130613435366138383362616365613735633762616135376135343462383939 +34626138616438663065303730666166366335396562356235383432646639313465313734353838 +66363063396436316562336563336266646530626365376531303863396238616238623139353166 +34316433613162633530626139316263623332333765336139636231613963363230316632343132 +39663366393830376136633163363131333539336163623439353033366134366464633962643931 +32663738666264633161626437346331653866653634616131346338356133343130323634643431 +65646463643233353439313439383065376662363965333236323730663339623039376138663261 +34366662333936363037346634396566666465333133643432616265656539336231396566663338 +35646463303137353830623537363737656537333163383361653564656135633663373366313339 +30636565656435666537616433363735616634386665643037323839643838323730363336343538 +39363537306135336637303334393637646661363536616435333832613636396433393432616331 +66663735323236633638663663333265613266373237376639656137353937623034386436333334 +33616465393536303539663335626662316266623161366439643864626631343332653063653834 +34323762373864323932323539333230663530613339386163306636643630313031623230326131 +32316638626430663830323062383537313162656564336163323131636135646335396431343862 +38616162623162613764643531333562353834303766353361646339336165383861363637396263 +35346432356333636333313563636632643932373261333038663663333237363133643866306239 +36306634656462633663653839653165326362306465646535646562393039343265323937363533 +31626131376663353534383366366337633636383365366438303036656532616437303234633432 +31653963316161663636366663633935313534343235396661353234353133336262323230326637 +37393230313061313230373939373163663236643131666665313763383862396466396430373766 +35313039333665373439633732383235373765393033396430356137633263656336396132346164 +64663436656136653661303662366239393336303063323932383266346532333561613863373664 +39326466396438373236653835343839333131313466323366626665643562336464656135623965 +30373361396166616564643237346537653433313432323962366466303161393935343238393936 +39336636623765643837646264363930363830303763333964616532323165623566316533656333 +63646365343163653239363130363266343665613731363365623633656565313063656666373366 +66373365643537376134323861313833643933313434653230623036653034656533613435396161 +32303231636461646365323765666365633062666235666366316566623730396563386230356335 +64623233666164633366623135613566656566396631646130633036616435303063386130323666 +39326537343761383830376563623162636161393338383361393830313761323932613232663964 +61303331343539343365333031643637313033626661353233636234336561656134353464393165 +61313337376439396366636239313732643830326361643738623039356530313238613461616534 +636331353334616264353963303536393832 diff --git a/host_vars/pulsar-re.grid.cesnet.cz/vars.yaml b/host_vars/pulsar-re.grid.cesnet.cz/vars.yaml index f3d28c9..cad0656 100644 --- a/host_vars/pulsar-re.grid.cesnet.cz/vars.yaml +++ b/host_vars/pulsar-re.grid.cesnet.cz/vars.yaml @@ -1,23 +1,29 @@ # Galaxy/Pulsar user setup pulsar: -## Specific settings for pulsar-re (needs to be moved into host_vars foder user_name: galaxyelixir uid: 2469 gid: 10145 + group: galaxyelixir nfs_home: "brno11-elixir" nfs_prefix: pulsar-re -## Specific settings for pulsar-cz (needs to be moved into host_vars foder -# user_name: galaxyeu -# uid: 5430 -# gid: -# nfs_home: "praha5-elixir" -# nfs_prefix: pulsar-cz -## Specific settings for pulsar-umsa (needs to be moved into host_vars foder -# user_name: galaxyumsa -# uid: 10456 -# gid: -# nfs_home: "brno11-elixir" -# nfs_prefix: pulsar-umsa + +miniconda_channels: + - 'bioconda' + - 'conda-forge' + - 'petrnovak' +miniconda_prefix: "/storage/{{ pulsar.nfs_home }}/home/{{ pulsar.user_name }}/anaconda3" +miniconda_exec: "{{ miniconda_prefix }}/bin/mamba" + +csnt_use_recursive_rsync: yes +pulsar_package_version: 0.15.14 +pulsar_cleanup_delay: "40d" # DEMON: pulsar-re* need this to have over 30d +csnt_dependency_resolvers: + - type: conda + auto_init: true + auto_install: true + ensure_channels: "{{ miniconda_channels|join(',') }}" + exec: "{{ miniconda_exec }}" + prefix: "{{ miniconda_prefix }}" # Put your Galaxy server's fully qualified domain name (FQDN) (or the FQDN of the RabbitMQ server) above. rabbitmq_hostname: "galaxy-re.grid.cesnet.cz" # DEMON: Important to have proper FQDN of connected Galaxy server (or at least RabbitMQ server) diff --git a/pulsar.yml b/pulsar.yml index 6b6d00c..93a629a 100644 --- a/pulsar.yml +++ b/pulsar.yml @@ -40,11 +40,13 @@ basedir: "{{ pulsar_package_change_dir }}" backup: true strip: 1 + when: csnt_use_recursive_rsync - name: Restart pulsar service after change ansible.builtin.systemd: state: restarted name: "{{ pulsar_systemd_service_name }}" become: yes + when: csnt_use_recursive_rsync - name: Create .drmaa folder in NFS home ansible.builtin.file: