From f15e3f7a5353333b6f3d69c90838154380ee2931 Mon Sep 17 00:00:00 2001 From: Krish Moodbidri Date: Fri, 6 Sep 2019 12:01:14 -0500 Subject: [PATCH 01/19] added warewulf role roles/install_ww_bin/tasks/main.yaml and roles/install_ww_bin/templates/wwnodeconf.j2 for ood image packer build --- ood-build.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 ood-build.yaml diff --git a/ood-build.yaml b/ood-build.yaml new file mode 100644 index 00000000..e8ccd229 --- /dev/null +++ b/ood-build.yaml @@ -0,0 +1,15 @@ +--- +- hosts: ood + roles: + - { name: 'prep_ood', tags: 'prep_ood' } + - { name: 'ood', tags: 'ood' } + - { name: 'ood_jupyter', tags: 'ood_jupyter', when: jupyter_provision} + - { name: 'ood_vnc_form', tags: 'ood_vnc_form' } + - { name: 'ood_add_rstudio', tags: 'ood_add_rstudio', when: rstudio_provision } + - { name: 'ood_matlab', tags: 'ood_matlab', when: matlab_provision } + - { name: 'ood_sas', tags: 'ood_sas', when: sas_provision } + - { name: 'install_ww_bin', tags: 'install_ww_bin' } + - { name: 'ood_firewall_and_services', tags: 'ood_firewall_and_services' } + - { name: 'ohpc_firewall_and_services', tags: 'ohpc_firewall_and_services' } + - { name: 'ood_user_reg', tags: 'ood_user_reg' } + - { name: 'reg_user_create_scripts', tags: 'reg_user_create_scripts', when: enable_user_create_scripts } From 9c173fe12994210ef1a0d3003545e097bbb3dc49 Mon Sep 17 00:00:00 2001 From: Krish Moodbidri Date: Fri, 6 Sep 2019 16:57:39 -0500 Subject: [PATCH 02/19] modified ood_user_reg role for packer ood build. Moved the deleted tasks to OPs phase --- ood-build.yaml | 2 +- .../files/uab_ood_auth.regex | 57 ++++++++++++++++ roles/ood_user_reg_cloud/tasks/main.yml | 65 +++++++++++++++++++ .../templates/user-reg_conf.j2 | 15 +++++ roles/ood_user_reg_cloud/templates/wsgi.j2 | 12 ++++ 5 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 roles/ood_user_reg_cloud/files/uab_ood_auth.regex create mode 100644 roles/ood_user_reg_cloud/tasks/main.yml create mode 100644 roles/ood_user_reg_cloud/templates/user-reg_conf.j2 create mode 100644 roles/ood_user_reg_cloud/templates/wsgi.j2 diff --git a/ood-build.yaml b/ood-build.yaml index e8ccd229..86706fc4 100644 --- a/ood-build.yaml +++ b/ood-build.yaml @@ -11,5 +11,5 @@ - { name: 'install_ww_bin', tags: 'install_ww_bin' } - { name: 'ood_firewall_and_services', tags: 'ood_firewall_and_services' } - { name: 'ohpc_firewall_and_services', tags: 'ohpc_firewall_and_services' } - - { name: 'ood_user_reg', tags: 'ood_user_reg' } + - { name: 'ood_user_reg_cloud', tags: 'ood_user_reg_cloud' } - { name: 'reg_user_create_scripts', tags: 'reg_user_create_scripts', when: enable_user_create_scripts } diff --git a/roles/ood_user_reg_cloud/files/uab_ood_auth.regex b/roles/ood_user_reg_cloud/files/uab_ood_auth.regex new file mode 100644 index 00000000..86a983d7 --- /dev/null +++ b/roles/ood_user_reg_cloud/files/uab_ood_auth.regex @@ -0,0 +1,57 @@ +#!/bin/env ruby +$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__) + +require 'ood_auth_map' + +class Regex < OodAuthMap + # Default regular expression to use when parsing authenticated username + DEFAULT_REGEX = "^(.+)$" + + # Body of option parser + define_body do |parser| + parser.separator "" + parser.separator "Used to parse for a mapped authenticated user from a string using a regular expression." + + parser.separator "" + parser.separator "General options:" + + options[:regex] = DEFAULT_REGEX + parser.on("-r", "--regex=REGEX", "# Regular expression used to capture the system-level username", "# Default: #{DEFAULT_REGEX}") do |regex| + options[:regex] = regex + end + end + + # Footer of option parser + define_footer do |parser| + parser.separator "" + parser.separator <<-EOF.gsub(/^ {6}/, "") + Examples: + If the authenticated username completely matches the system-level + username use the default regular expression: + #{File.basename($0)} bob + this will return `bob`. + For more complicated strings, a regular expression needs to be + supplied as an option: + #{File.basename($0)} --regex='^(\\w+)@osc.edu$' bob@osc.edu + where the first captured match is returned as the system-level username. + If no match is found in the string, then a blank line is returned: + #{File.basename($0)} --regex='^(\\w+)@osc.edu$' bob@mit.edu + this will return a blank line, meaning no match was found. + EOF + parser.separator "" + end + + define_run do |auth_user| + user_check = `getent passwd #{auth_user} | cut -d : -f 1` + #puts user_check + if user_check != "" + puts auth_user + else + puts "" + exit(false) + end + end +end + +# Start the workflow of the Regex CLI +Regex.run diff --git a/roles/ood_user_reg_cloud/tasks/main.yml b/roles/ood_user_reg_cloud/tasks/main.yml new file mode 100644 index 00000000..241797a0 --- /dev/null +++ b/roles/ood_user_reg_cloud/tasks/main.yml @@ -0,0 +1,65 @@ +--- +- name: Enable Copr Repos + shell: yum -y copr enable "{{ item.repo_name }}" + with_items: "{{ copr_repos }}" + when: enable_copr == true and inventory_hostname in item.host + +- name: Install mod_wsgi for httpd24 + yum: name="{{ mod_wsgi_pkg_name }}" state=latest + +- name: Install pip via yum + yum: name=python2-pip state=latest + +- name: Install virtualenv via pip + pip: name=virtualenv state=latest + +- name: Remove existing user register app install + file: + path: "{{ user_register_app_path }}" + state: absent + +- name: Creates directory to clone the user register app + file: + path: "{{ user_register_app_path }}" + state: directory + +- name: Clone user register app form from gitlab + git: + repo: "{{ user_register_app_repo }}" + dest: "{{ user_register_app_path }}" + +- name: Install requirements in virtualenv + pip: + requirements: requirements.txt + virtualenv: venv + chdir: "{{ user_register_app_path }}" + +- name: Put apache config file in place + template: + src: user-reg_conf.j2 + dest: "/opt/rh/httpd24/root/etc/httpd/conf.d/user-reg.conf" + +- name: Put wsgi config file in place + template: + src: wsgi.j2 + dest: "{{ user_register_app_path }}/{{ user_register_app}}.wsgi" + +- name: Enable user registration redirect + replace: + path: /etc/ood/config/ood_portal.yml + regexp: '{{ item.regexp }}' + replace: '{{ item.replace }}' + backup: yes + with_items: + - { regexp: "^#?(user_map_cmd:).*", replace: "\\1 '/opt/ood/ood_auth_map/bin/uab_ood_auth.regex'" } + - { regexp: "^#?(map_fail_uri:).*", replace: "\\1 '/register'" } + - { regexp: "^#?(register_uri:).*", replace: "\\1 '/register'" } + +- name: Stage regex file for ood + copy: + src: uab_ood_auth.regex + dest: /opt/ood/ood_auth_map/bin/uab_ood_auth.regex + owner: root + group: root + mode: 0755 + diff --git a/roles/ood_user_reg_cloud/templates/user-reg_conf.j2 b/roles/ood_user_reg_cloud/templates/user-reg_conf.j2 new file mode 100644 index 00000000..a471d191 --- /dev/null +++ b/roles/ood_user_reg_cloud/templates/user-reg_conf.j2 @@ -0,0 +1,15 @@ +WSGIDaemonProcess "{{ user_register_app }}" user={{ RegUser_app_user }} group={{ RegUser_app_user }} threads=5 +WSGIProcessGroup "{{ user_register_app }}" +WSGIScriptAlias /register "{{ user_register_app_path}}/{{ user_register_app }}.wsgi" + + AuthType Basic + AuthName "Private" + AuthUserFile "/opt/rh/httpd24/root/etc/httpd/.htpasswd" + RequestHeader unset Authorization + Require valid-user + + + WSGIProcessGroup {{ user_register_app }} + WSGIApplicationGroup %{GLOBAL} + Require all granted + diff --git a/roles/ood_user_reg_cloud/templates/wsgi.j2 b/roles/ood_user_reg_cloud/templates/wsgi.j2 new file mode 100644 index 00000000..689d8e6b --- /dev/null +++ b/roles/ood_user_reg_cloud/templates/wsgi.j2 @@ -0,0 +1,12 @@ +#!/bin/python + +# Activate virtualenv +activate_this = '{{ user_register_app_path }}/venv/bin/activate_this.py' +execfile(activate_this, dict(__file__=activate_this)) + +import sys +import os +sys.path.append("{{ user_register_app_path }}") +os.environ['FLASK_CONFIG'] = 'production' + +from run import app as application From edae355147ab1276fe2af288f82cd98affa04173 Mon Sep 17 00:00:00 2001 From: Krish Moodbidri Date: Mon, 9 Sep 2019 11:05:31 -0500 Subject: [PATCH 03/19] added autofs to prep_ood the ood packer image build removed nfs-mount to move to autofs on cloud image --- roles/prep_ood_cloud/tasks/main.yaml | 64 ++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 roles/prep_ood_cloud/tasks/main.yaml diff --git a/roles/prep_ood_cloud/tasks/main.yaml b/roles/prep_ood_cloud/tasks/main.yaml new file mode 100644 index 00000000..34a0bcd1 --- /dev/null +++ b/roles/prep_ood_cloud/tasks/main.yaml @@ -0,0 +1,64 @@ +--- +- name: Get OpenHPC repo + yum: name={{ openhpc_release_rpm }} state=present update_cache=true + +- name: Install Copr plugin for yum + yum: name=yum-plugin-copr state=present update_cache=true + when: enable_copr == true + +- name: enable Copr Repos + shell: yum -y copr enable "{{ item.repo_name }}" + with_items: "{{ copr_repos }}" + when: enable_copr == true and inventory_hostname in item.host + +- name: Install dependencies-nfs-utils, ohpc packages, ntp and other required tools. + yum: + state: installed + update_cache: true + name: + - autofs + - ohpc-base-compute + - slurm-ohpc + - zsh + - git + - vim + - tmux + - ruby + +# Change to autofs +- name: add autofs maps + lineinfile: + path: "/etc/auto.master.d/uab-dev.autofs" + line: "{{ item.path }} /etc/auto.{{ item.name }}" + create: yes + with_items: + - { name: "home", path: "/home"} + - { name: "opt-ohpc-pub", path: "/opt/ohpc/pub"} + - { name: "export", path: "/export"} + +- lineinfile: + path: "/etc/auto.{{ item.name }}" + line: "* -{{ item.opt }} {{ headnode_private_ip }}:{{ item.path }}/&" + create: yes + with_items: + - { name: "home", opt: "rw,soft,intr,_netdev", path: "/home"} + - { name: "opt-ohpc-pub", opt: "ro", path: "/opt/ohpc/pub"} + - { name: "export", opt: "ro", path: "/export"} + +- name: Put SELinux in permissive mode, logging actions that would be blocked. + selinux: + policy: targeted + state: permissive + +- name: Create folder for mounting + file: + state: directory + path: /export + owner: root + group: root + mode: 0777 + +- name: Enable autofs on compute image + service: + name: autofs + enabled: yes From 07adbf9fb192906e4d05b2680bdba83e24618cc4 Mon Sep 17 00:00:00 2001 From: Krish Moodbidri Date: Tue, 10 Sep 2019 15:45:31 -0500 Subject: [PATCH 04/19] changed role prep_ood to prep_ood_cloud --- ood-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ood-build.yaml b/ood-build.yaml index 86706fc4..cc751c7d 100644 --- a/ood-build.yaml +++ b/ood-build.yaml @@ -1,7 +1,7 @@ --- - hosts: ood roles: - - { name: 'prep_ood', tags: 'prep_ood' } + - { name: 'prep_ood_cloud', tags: 'prep_ood' } - { name: 'ood', tags: 'ood' } - { name: 'ood_jupyter', tags: 'ood_jupyter', when: jupyter_provision} - { name: 'ood_vnc_form', tags: 'ood_vnc_form' } From 22e441e184c36aa3ce896e026222b1424d5be059 Mon Sep 17 00:00:00 2001 From: Eesaan Atluri Date: Tue, 17 Sep 2019 14:01:25 -0500 Subject: [PATCH 05/19] Use ohpc_config_build role in img build playbook. --- ohpc-build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ohpc-build.yaml b/ohpc-build.yaml index 8e2840c7..4b4c4b2c 100644 --- a/ohpc-build.yaml +++ b/ohpc-build.yaml @@ -3,7 +3,7 @@ roles: - { name: 'pre_ohpc', tags: 'pre_ohpc' } - { name: 'ohpc_install', tags: 'ohpc_install' } - - { name: 'ohpc_config', tags: 'ohpc_config' } + - { name: 'ohpc_config_build', tags: 'ohpc_config_build' } - { name: 'ohpc_add_easybuild', tags: 'ohpc_add_easybuild' } - { name: 'ohpc_jupyter', tags: 'ohpc_jupyter', when: jupyter_provision} - { name: 'ohpc_matlab', tags: 'ohpc_matlab', when: matlab_provision } From 0baf5c84f81a4d3f28a948cf244295bac92929e3 Mon Sep 17 00:00:00 2001 From: Eesaan Atluri Date: Tue, 17 Sep 2019 14:14:02 -0500 Subject: [PATCH 06/19] Remove hosts file from imports. It exists by default --- roles/ohpc_config_build/tasks/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/roles/ohpc_config_build/tasks/main.yml b/roles/ohpc_config_build/tasks/main.yml index 34c15e85..6c0e304b 100644 --- a/roles/ohpc_config_build/tasks/main.yml +++ b/roles/ohpc_config_build/tasks/main.yml @@ -84,6 +84,5 @@ - /etc/shadow - /etc/munge/munge.key - /etc/slurm/slurm.conf - - /etc/hosts - /etc/profile.d/lmod.sh - /etc/profile.d/lmod.csh From 7aaae966a53a564b742b9f6edc8d2fbce6e7c755 Mon Sep 17 00:00:00 2001 From: Eesaan Atluri Date: Tue, 17 Sep 2019 14:27:48 -0500 Subject: [PATCH 07/19] Remove become privilege escalation as we run as root --- roles/ohpc_config_build/tasks/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/roles/ohpc_config_build/tasks/main.yml b/roles/ohpc_config_build/tasks/main.yml index 6c0e304b..0b956bca 100644 --- a/roles/ohpc_config_build/tasks/main.yml +++ b/roles/ohpc_config_build/tasks/main.yml @@ -77,7 +77,6 @@ - name: import files into WW database command: wwsh file import "{{ item }}" - become: true with_items: - /etc/passwd - /etc/group From 869a12cccb648054893a2464e3c7277bff2d80e8 Mon Sep 17 00:00:00 2001 From: Krish Moodbidri Date: Tue, 17 Sep 2019 15:10:15 -0500 Subject: [PATCH 08/19] removed mount home task --- roles/prep_ood/tasks/main.yaml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/roles/prep_ood/tasks/main.yaml b/roles/prep_ood/tasks/main.yaml index 5c6f8c26..0527d2a1 100644 --- a/roles/prep_ood/tasks/main.yaml +++ b/roles/prep_ood/tasks/main.yaml @@ -25,13 +25,3 @@ - tmux - ruby -- name: Mount /home, /opt/ohpc/pub from OHPC node - mount: - path: "{{ item.path }}" - src: "{{ item.src }}" - fstype: nfs - opts: nfsvers=3,nodev,noatime - state: mounted - with_items: - - { path: "/home", src: "{{ headnode_private_ip }}:/home" } - - { path: "/opt/ohpc/pub", src: "{{ headnode_private_ip }}:/opt/ohpc/pub" } From 419387a7a29dd018df56fe6961b10b7d81516e01 Mon Sep 17 00:00:00 2001 From: Krish Moodbidri Date: Tue, 17 Sep 2019 15:11:46 -0500 Subject: [PATCH 09/19] installed latest version of firewalld --- roles/ood_firewall_and_services/tasks/main.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/roles/ood_firewall_and_services/tasks/main.yaml b/roles/ood_firewall_and_services/tasks/main.yaml index 30d18e6e..4db5d20a 100644 --- a/roles/ood_firewall_and_services/tasks/main.yaml +++ b/roles/ood_firewall_and_services/tasks/main.yaml @@ -5,6 +5,16 @@ name: httpd24-httpd enabled: yes +- name: install the latest version of Python + yum: + name: python + state: latest + +- name: install the latest version of firewalld + yum: + name: firewalld + state: latest + - name: Open port http/s firewalld: service: http From e9f30d819644ca2eac981687d29ab22b6705c602 Mon Sep 17 00:00:00 2001 From: John-Paul Robinson Date: Mon, 23 Sep 2019 13:52:59 -0500 Subject: [PATCH 10/19] Enable user registration feature --- group_vars/all | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/group_vars/all b/group_vars/all index d2256642..911d1331 100644 --- a/group_vars/all +++ b/group_vars/all @@ -153,7 +153,7 @@ enable_shib: false # User Registration - enable_user_reg: false + enable_user_reg: true user_register_app: "flask_user_reg" user_register_app_path: "/var/www/ood/register/{{ user_register_app }}" user_register_app_repo: "https://gitlab.rc.uab.edu/mmoo97/flask_user_reg.git" @@ -163,7 +163,7 @@ RegUser_app_user_passwd: "qweasd" # User Create Scripts - enable_user_create_scripts: false + enable_user_create_scripts: true user_create_scripts: "ohpc_user_create" user_create_scripts_path: "/opt/{{ user_create_scripts }}" user_create_script_repo: "https://gitlab.rc.uab.edu/tr27p/ohpc_user_create.git" From 0a8c74dd6cff1442ab0e14b37466431ec1b35eb9 Mon Sep 17 00:00:00 2001 From: John-Paul Robinson Date: Mon, 23 Sep 2019 13:53:18 -0500 Subject: [PATCH 11/19] Remove uneeded warewulf tasks for cloud image deploy There is no need for tasks to configure the boot parameters of compute nodes in warewulf because it isn't responsible for node booting. Also remove harness for automatic node detection for the same reason. --- .../compute_build_nodes_cloud/tasks/main.yml | 35 ++----------------- 1 file changed, 3 insertions(+), 32 deletions(-) diff --git a/roles/compute_build_nodes_cloud/tasks/main.yml b/roles/compute_build_nodes_cloud/tasks/main.yml index 22ac797c..cae5f042 100644 --- a/roles/compute_build_nodes_cloud/tasks/main.yml +++ b/roles/compute_build_nodes_cloud/tasks/main.yml @@ -13,7 +13,7 @@ # msg: "Quick fail for test!" - block: - + - name: Check if node is already in warewulf database command: sudo wwsh node list register: wwsh_node_list @@ -29,27 +29,6 @@ when: "'{{ item.name }}' in wwsh_node_list.stdout" with_items: "{{ compute_nodes }}" - - name: set nodes bootloader - command: wwsh -y object modify -s bootloader=sda -t node {{ item.name }} - with_items: "{{ compute_nodes }}" - when: stateful_nodes == true - - - name: set nodes partitions - command: wwsh -y object modify -s diskpartition=sda -t node {{ item.name }} - with_items: "{{ compute_nodes }}" - when: stateful_nodes == true - - - name: format partitions - command: wwsh -y object modify -s diskformat=sda1,sda2,sda3 -t node {{ item.name }} - with_items: "{{ compute_nodes }}" - when: stateful_nodes == true - - - name: define filesystems - command: wwsh -y object modify -s filesystems="{{ sda1 }},{{ sda2 }},{{ sda3 }}" -t node {{ item.name }} - with_items: "{{ compute_nodes }}" - when: stateful_nodes == true - #" for vim - - name: set files to provision command: wwsh -y provision set {{ item.name }} --vnfs={{ item.vnfs }} --bootstrap={{ build_kernel_ver }} --files=passwd,group,shadow,munge.key,slurm.conf,dynamic_hosts,network --bootlocal=exit with_items: "{{ compute_nodes }}" @@ -68,17 +47,9 @@ insertbefore: "^# PARTITIONS" state: present with_items: "{{ compute_nodes }}" - - when: node_inventory_auto == false - -# - name: Waiting for the compute node to bootup -# pause: -# seconds: 180 - - - name: set files to provision - command: wwsh -y provision set {{ compute_node_glob }} --vnfs={{ compute_chroot }} --bootstrap={{ build_kernel_ver }} --files=passwd,group,shadow,munge.key,slurm.conf,dynamic_hosts,network,lmod.sh,lmod.csh --kargs="net.ifnames=1 biosdevname=1 quiet" --postnetdown=1 - when: node_inventory_auto == true + when: node_inventory_auto == false + - name: sync files #also generates dynamic hosts on headnode! command: wwsh file sync From da6278964b9d50f91151e694edb900c17d6a2281 Mon Sep 17 00:00:00 2001 From: John-Paul Robinson Date: Mon, 23 Sep 2019 14:02:31 -0500 Subject: [PATCH 12/19] Remove stateful node boot task This task is not needed since warewulf does not manage node boot and provisioning. --- roles/nodes_vivify_cloud/tasks/main.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/roles/nodes_vivify_cloud/tasks/main.yml b/roles/nodes_vivify_cloud/tasks/main.yml index 1f99d4fa..bbe84e43 100644 --- a/roles/nodes_vivify_cloud/tasks/main.yml +++ b/roles/nodes_vivify_cloud/tasks/main.yml @@ -12,7 +12,3 @@ - name: update slurm status on nodes shell: scontrol update nodename=$(wwsh node list | tail --lines=+3 | cut -f 1 -d' '| tr '\n' ',') state=IDLE - - - name: update pxeconfig to let node boot locally - shell: wwsh -y object modify -s bootlocal=EXIT -t node $(wwsh node list | tail --lines=+3 | cut -f 1 -d' '| tr '\n' ' ') - when: stateful_nodes == true From 132d83572521ce625167cad2b7a0e30b8b50b631 Mon Sep 17 00:00:00 2001 From: John-Paul Robinson Date: Mon, 23 Sep 2019 14:04:34 -0500 Subject: [PATCH 13/19] Remove node set state task because it is not necessary --- roles/nodes_vivify_cloud/tasks/main.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/roles/nodes_vivify_cloud/tasks/main.yml b/roles/nodes_vivify_cloud/tasks/main.yml index bbe84e43..af4e5f54 100644 --- a/roles/nodes_vivify_cloud/tasks/main.yml +++ b/roles/nodes_vivify_cloud/tasks/main.yml @@ -9,6 +9,3 @@ - name: Waiting for slurmd to enable on the compute nodes after restart pause: seconds: 30 - - - name: update slurm status on nodes - shell: scontrol update nodename=$(wwsh node list | tail --lines=+3 | cut -f 1 -d' '| tr '\n' ',') state=IDLE From feeb774025ef8003f532b44aa45782b18491b6c6 Mon Sep 17 00:00:00 2001 From: "Bo-Chun Louis Chen(VM)" Date: Mon, 2 Mar 2020 22:00:24 +0000 Subject: [PATCH 14/19] Update ohpc agent to run in python3 --- roles/ohpc_add_rabbitmq_agents/files/ohpc_account.service | 4 ++-- roles/ohpc_add_rabbitmq_agents/files/slurm_account.service | 4 ++-- roles/ohpc_add_rabbitmq_agents/tasks/main.yaml | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/roles/ohpc_add_rabbitmq_agents/files/ohpc_account.service b/roles/ohpc_add_rabbitmq_agents/files/ohpc_account.service index 3bf9568b..b7d35aad 100644 --- a/roles/ohpc_add_rabbitmq_agents/files/ohpc_account.service +++ b/roles/ohpc_add_rabbitmq_agents/files/ohpc_account.service @@ -8,7 +8,7 @@ Type=simple Restart=always RestartSec=1 User=centos -ExecStart=/usr/bin/env python /opt/rabbitmq_agents/ohpc_account_create.py +ExecStart=/usr/bin/env python3 /opt/rabbitmq_agents/ohpc_account_create.py [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=multi-user.target diff --git a/roles/ohpc_add_rabbitmq_agents/files/slurm_account.service b/roles/ohpc_add_rabbitmq_agents/files/slurm_account.service index 43ea81eb..3e50fde8 100644 --- a/roles/ohpc_add_rabbitmq_agents/files/slurm_account.service +++ b/roles/ohpc_add_rabbitmq_agents/files/slurm_account.service @@ -8,7 +8,7 @@ Type=simple Restart=always RestartSec=1 User=centos -ExecStart=/usr/bin/env python /opt/rabbitmq_agents/slurm_agent.py +ExecStart=/usr/bin/env python3 /opt/rabbitmq_agents/slurm_agent.py [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=multi-user.target diff --git a/roles/ohpc_add_rabbitmq_agents/tasks/main.yaml b/roles/ohpc_add_rabbitmq_agents/tasks/main.yaml index 0abad5dd..7185753b 100644 --- a/roles/ohpc_add_rabbitmq_agents/tasks/main.yaml +++ b/roles/ohpc_add_rabbitmq_agents/tasks/main.yaml @@ -21,6 +21,7 @@ - name: Check if environment is properly setup, and install python packages if not pip: requirements: /opt/rabbitmq_agents/requirements.txt + executable: pip3 - name: Run the ohpc_account_create agent in the background shell: cd /opt/rabbitmq_agents; nohup python ohpc_account_create.py /dev/null 2>&1 & @@ -46,4 +47,4 @@ service: name: slurm_account.service state: started - enabled: yes \ No newline at end of file + enabled: yes From a908dd310f1a86d905435fb6504baf6e9e72fea9 Mon Sep 17 00:00:00 2001 From: "Bo-Chun Louis Chen(VM)" Date: Mon, 2 Mar 2020 22:02:22 +0000 Subject: [PATCH 15/19] Update ood agent to run in python3 --- roles/ood_add_rabbitmq_agents/files/ood_account.service | 4 ++-- roles/ood_add_rabbitmq_agents/tasks/main.yaml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/roles/ood_add_rabbitmq_agents/files/ood_account.service b/roles/ood_add_rabbitmq_agents/files/ood_account.service index 37aee679..5e398f35 100644 --- a/roles/ood_add_rabbitmq_agents/files/ood_account.service +++ b/roles/ood_add_rabbitmq_agents/files/ood_account.service @@ -8,7 +8,7 @@ Type=simple Restart=always RestartSec=1 User=centos -ExecStart=/usr/bin/env python /opt/rabbitmq_agents/ood_account_create.py +ExecStart=/usr/bin/env python3 /opt/rabbitmq_agents/ood_account_create.py [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=multi-user.target diff --git a/roles/ood_add_rabbitmq_agents/tasks/main.yaml b/roles/ood_add_rabbitmq_agents/tasks/main.yaml index 6451befa..2a9b87f9 100644 --- a/roles/ood_add_rabbitmq_agents/tasks/main.yaml +++ b/roles/ood_add_rabbitmq_agents/tasks/main.yaml @@ -21,6 +21,7 @@ - name: Check if environment is properly setup, and install python packages if not pip: requirements: /opt/rabbitmq_agents/requirements.txt + executable: pip3 #- name: Run the ood_account_create agent in the background # shell: cd /opt/rabbitmq_agents; nohup python ood_account_create.py /dev/null 2>&1 & From b247e79fb4fd0e57748242f8eeb494494cad1fd5 Mon Sep 17 00:00:00 2001 From: "Bo-Chun Louis Chen(VM)" Date: Tue, 3 Mar 2020 17:42:29 +0000 Subject: [PATCH 16/19] Instal python3 on ohpc via role pre_ohpc --- roles/pre_ohpc/tasks/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/pre_ohpc/tasks/main.yml b/roles/pre_ohpc/tasks/main.yml index 4eb604e2..daa7bf94 100644 --- a/roles/pre_ohpc/tasks/main.yml +++ b/roles/pre_ohpc/tasks/main.yml @@ -16,6 +16,7 @@ yum: state: latest name: + - "python3" - "MySQL-python" - "epel-release" - "wget" From 62fc1566105df10ad61475ebd06000724d347d28 Mon Sep 17 00:00:00 2001 From: "Bo-Chun Louis Chen(VM)" Date: Tue, 3 Mar 2020 17:43:02 +0000 Subject: [PATCH 17/19] Install python3 on ood via role prep_ood --- roles/prep_ood/tasks/main.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/prep_ood/tasks/main.yaml b/roles/prep_ood/tasks/main.yaml index 5c6f8c26..5996594d 100644 --- a/roles/prep_ood/tasks/main.yaml +++ b/roles/prep_ood/tasks/main.yaml @@ -16,6 +16,7 @@ state: installed update_cache: true name: + - python3 - nfs-utils - ohpc-base-compute - slurm-ohpc From beeaeefddecab4bbee8c349fafca7aae8c725d9b Mon Sep 17 00:00:00 2001 From: Krish Moodbidri Date: Fri, 13 Mar 2020 08:54:39 -0500 Subject: [PATCH 18/19] added celery as a service --- roles/ood_user_reg_cloud/tasks/main.yml | 13 +++++++++++++ roles/ood_user_reg_cloud/templates/celery.service | 13 +++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 roles/ood_user_reg_cloud/templates/celery.service diff --git a/roles/ood_user_reg_cloud/tasks/main.yml b/roles/ood_user_reg_cloud/tasks/main.yml index 31c26d5b..bf557e32 100644 --- a/roles/ood_user_reg_cloud/tasks/main.yml +++ b/roles/ood_user_reg_cloud/tasks/main.yml @@ -45,6 +45,19 @@ group: apache state: directory +- name: Copy Celery service template + template: + src: "{{ item }}" + dest: "/etc/systemd/system/{{ item }}" + with_items: + - celery.service + +- name: Start ood_account.service + service: + name: celery.service + state: started + enabled: yes + - name: Put apache config file in place template: src: user-reg_conf.j2 diff --git a/roles/ood_user_reg_cloud/templates/celery.service b/roles/ood_user_reg_cloud/templates/celery.service new file mode 100644 index 00000000..a687b6d2 --- /dev/null +++ b/roles/ood_user_reg_cloud/templates/celery.service @@ -0,0 +1,13 @@ +[Unit] +Description=Service to start celery process. +After=network.target +StartLimitIntervalSec=0 +[Service] +Type=simple +Restart=always +RestartSec=1 +User=centos +WorkingDirectory={{ user_register_app_path }} +ExecStart=/usr/bin/env celery -A tasks worker --loglevel=info --concurrency=4 +[Install] +WantedBy=multi-user.target From 8264bd314f6f7d2e01959e1d5f7fef90f1707724 Mon Sep 17 00:00:00 2001 From: Krish Moodbidri Date: Fri, 13 Mar 2020 10:55:12 -0500 Subject: [PATCH 19/19] changed print statement to start celery.service --- roles/ood_user_reg_cloud/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/ood_user_reg_cloud/tasks/main.yml b/roles/ood_user_reg_cloud/tasks/main.yml index bf557e32..ba8a6b9d 100644 --- a/roles/ood_user_reg_cloud/tasks/main.yml +++ b/roles/ood_user_reg_cloud/tasks/main.yml @@ -52,7 +52,7 @@ with_items: - celery.service -- name: Start ood_account.service +- name: Start celery.service service: name: celery.service state: started