-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Update sn07 playbook and the requirements.yml file #535
WIP: Update sn07 playbook and the requirements.yml file #535
Conversation
This commit fixes sn07 playbook and updates the devsec.hardening collection version to work for Rocky 9
@@ -208,6 +209,10 @@ | |||
galaxy_fetch_dependencies: true | |||
galaxy_build_client: true | |||
|
|||
- role: galaxyproject.tiaas2 | |||
vars: | |||
tiaas_virtualenv_command: "{{ galaxy_virtualenv_command }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Itsn't this installing TIaaS into the virtual env of Galaxy?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, galaxy_virtualenv_command
contains only the path to the virtualenv
command present in a conda environment. TIaaS env is created as usual inside /opt/tiaas2
.
This one looks like we could be smarter in the template to allow this use-case.
Do you know who created this file? |
I think its a galaxy problem, it refuses to start when there is no handler entry in the yaml. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me
This is the
As part of my testing, I tried to comment out the I was testing this to find out how to modify the templating to handle 0 handlers but could not figure out how the galaxy works things out.
This file is probably created by a logging module and I was able to find that this is present in this python file |
Co-authored-by: Mira <[email protected]>
WIP please do not merge. |
1. Removed sync to nfs command from the handler 'Restart Galaxy' 2. Removed 'Disable SELinux' task and replaced it with tasks for installing a SELinux policy that would allow Nginx to interact with the Gunicorn sockets and sets the labels and contexts accordingly 3. Added a SELinux policy type enforcement (.te) file 4. Added Firewalld tasks that would add http and https services to the current active firewall zone
@bgruening I have added the relevant tasks for the above mentioned manual changes. With these changes, we do not have to disable SELinux and firewalld. |
689da14
to
be28052
Compare
1. Set compliance.log file ownership to galaxy user 2. Update jinga2 templating of job_conf.yml to handle 0 handlers configuration. 3. Disable adding the Gxadmin Galaxy clean up cron task on sn07
With the latest commit the above two manual changes are also now automated. Along with that the corn job |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me
Final changes made to
sn07.yml
after testing the playbook manually against thesn07
server.File sn07.yml:
make
dependency forgalaxyproject.gxadmin
role. So added it through a PR to theusegalaxy_eu.handy
role.galaxyproject.galaxy
role; only during the second invocation the variablegalaxy_manage_clone
is set to true and the tiaas2 role requires this cloned repo to accomplish the taskCopy Galaxy's stylesheet
otherwise ansible will fail, so the role was moved after the second invocation of thegalaxyproject.galaxy
role.virtualenv
from a conda environment we should add the variabletiaas_virtualenv_command
directly under this role. Adding the variable to thegroup_vars/sn07.yml
would not work due to variable precedence. Also, this variable should point to thevirtualenv
present in the conda_galaxy_
environment. This environment is created by thegalaxyproject.miniconda
role. All virtual environments are created using thevirtualenv
command from this_galaxy_
environmentusegalaxy-eu.galaxy-procstat
role else the role will fail because it cannot find the/etc/telegraf/telegraf.d
directory (This directory will get created only after the installation oftelegraf
package).[email protected]
KEX algorithm which has been fixed in the above-mentioned collection.File requirements.yml:
devsec.hardening
to8.3.0
because an SELinux task in thessh_hardening
role fails. The updated collection fixes that issue.Manual changes made on the server to make galaxy run:
/opt/galaxy/server/compliance.log
to the usergalaxy
firewalld
service and disable it (just like in sn06)galaxy_systemd_handlers
to0
ingroup_vars/sn07.yml
results in a brokenJob_conf.yml
because theprocesses
section in thehandling
block is empty and this leads to aNoneType
error which stops galaxy from starting. So manually adding a dummy handler process name would allow the galaxy processes to start. This is a non-persistent change and this file will be overwritten during the next Ansible run via Jenkins.Attach this PR to: https://github.com/usegalaxy-eu/issues/issues/352