From 595d87ec892e8b46fd7cdd1d4f35c8f5d8fae223 Mon Sep 17 00:00:00 2001 From: Luhan Cheng <lche0021@student.monash.edu> Date: Thu, 30 Jan 2020 12:59:11 +1100 Subject: [PATCH] linting on master playbook should not have very high serverity now --- .gitlab-ci.yml | 11 ++- CICD/ansiblelint/logdir/HIGH | 19 ++--- CICD/ansiblelint/logdir/INFO | 20 ++--- CICD/ansiblelint/logdir/VERY_HIGH | 9 --- CICD/ansiblelint/logdir/logfile | 47 +++++------- CICD/ansiblelint/run_lint.py | 75 +++++++++---------- roles/gpu/tasks/main.yml | 11 ++- .../tasks/createSlurmDirectories.yml | 2 +- .../tasks/installSlurmFromSource.yml | 33 +++++--- roles/slurmdb-config/tasks/main.yml | 10 ++- 10 files changed, 123 insertions(+), 114 deletions(-) delete mode 100644 CICD/ansiblelint/logdir/VERY_HIGH diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c2398bda..b68e8b86 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -58,9 +58,18 @@ yamllint: script: - echo "stage yamllint" - cd CICD - - ansible-lint -c .yamllintconf.yaml -x ANSIBLE0002 master_playbook.yml + # - ansible-lint -c .yamllintconf.yaml -x ANSIBLE0002 master_playbook.yml - yamllint -c ./.yamllintheat.yaml ./heat +ansiblelint: + stage: yamlint + tags: yamllint + script: + - echo "stage ansiblelint" + - cd CICD + - python ansiblelint/run_lint.py master_playbook.yml + + build_cluster_cicd: stage: heat allow_failure: false diff --git a/CICD/ansiblelint/logdir/HIGH b/CICD/ansiblelint/logdir/HIGH index e71c428b..5ae8d024 100644 --- a/CICD/ansiblelint/logdir/HIGH +++ b/CICD/ansiblelint/logdir/HIGH @@ -8,23 +8,20 @@ plays/roles/config_repos/tasks/main.yml 77 E305 HIGH Use shell only when shell f plays/roles/etcHosts/tasks/main.yml 13 E305 HIGH Use shell only when shell functionality is required plays/roles/etcHosts/tasks/main.yml 26 E305 HIGH Use shell only when shell functionality is required plays/roles/gpu/tasks/main.yml 56 E305 HIGH Use shell only when shell functionality is required -plays/roles/gpu/tasks/main.yml 138 E301 HIGH Commands should not change things if nothing needs doing -plays/roles/gpu/tasks/main.yml 138 E305 HIGH Use shell only when shell functionality is required -plays/roles/gpu/tasks/main.yml 148 E305 HIGH Use shell only when shell functionality is required +plays/roles/gpu/tasks/main.yml 140 E305 HIGH Use shell only when shell functionality is required +plays/roles/gpu/tasks/main.yml 145 E301 HIGH Commands should not change things if nothing needs doing +plays/roles/gpu/tasks/main.yml 145 E305 HIGH Use shell only when shell functionality is required +plays/roles/gpu/tasks/main.yml 155 E305 HIGH Use shell only when shell functionality is required plays/roles/move_homedir/tasks/main.yml 9 E305 HIGH Use shell only when shell functionality is required plays/roles/nfs-client/meta/main.yml 2 E701 HIGH No 'galaxy_info' found plays/roles/nfs-server/meta/main.yml 2 E701 HIGH No 'galaxy_info' found plays/roles/slurm-common/tasks/installMungeFromSource.yml 22 E305 HIGH Use shell only when shell functionality is required plays/roles/slurm-common/tasks/installMungeFromSource.yml 46 E303 HIGH systemctl used in place of systemd module plays/roles/slurm-common/tasks/installMungeFromSource.yml 46 E305 HIGH Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 1 E305 HIGH Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 6 E305 HIGH Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 37 E305 HIGH Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 51 E305 HIGH Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 64 E305 HIGH Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 77 E305 HIGH Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 96 E305 HIGH Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 101 E305 HIGH Use shell only when shell functionality is required +plays/roles/slurm-common/tasks/installSlurmFromSource.yml 41 E305 HIGH Use shell only when shell functionality is required +plays/roles/slurm-common/tasks/installSlurmFromSource.yml 55 E305 HIGH Use shell only when shell functionality is required +plays/roles/slurm-common/tasks/installSlurmFromSource.yml 68 E305 HIGH Use shell only when shell functionality is required +plays/roles/slurm-common/tasks/installSlurmFromSource.yml 81 E305 HIGH Use shell only when shell functionality is required plays/roles/slurm-common/tasks/main.yml 81 E305 HIGH Use shell only when shell functionality is required plays/roles/slurm-common/tasks/main.yml 124 E601 HIGH Don't compare to literal True/False plays/roles/slurm-common/tasks/main.yml 129 E601 HIGH Don't compare to literal True/False diff --git a/CICD/ansiblelint/logdir/INFO b/CICD/ansiblelint/logdir/INFO index 1b741f36..226d1d3d 100644 --- a/CICD/ansiblelint/logdir/INFO +++ b/CICD/ansiblelint/logdir/INFO @@ -83,9 +83,8 @@ plays/roles/gpu/tasks/main.yml 84 E201 INFO Trailing whitespace plays/roles/gpu/tasks/main.yml 88 E201 INFO Trailing whitespace plays/roles/gpu/tasks/main.yml 93 E201 INFO Trailing whitespace plays/roles/gpu/tasks/main.yml 115 E201 INFO Trailing whitespace -plays/roles/gpu/tasks/main.yml 133 E201 INFO Trailing whitespace -plays/roles/gpu/tasks/main.yml 152 E201 INFO Trailing whitespace -plays/roles/gpu/tasks/main.yml 168 E201 INFO Trailing whitespace +plays/roles/gpu/tasks/main.yml 159 E201 INFO Trailing whitespace +plays/roles/gpu/tasks/main.yml 175 E201 INFO Trailing whitespace plays/roles/jasons_ssh_ca/tasks/main.yml 10 E201 INFO Trailing whitespace plays/roles/ldapclient/handlers/main.yml 2 E201 INFO Trailing whitespace plays/roles/ldapclient/tasks/installOpenLdap.yml 3 E201 INFO Trailing whitespace @@ -119,17 +118,20 @@ plays/roles/slurm-common/tasks/installCgroup.yml 14 E201 INFO Trailing whitespac plays/roles/slurm-common/tasks/installCgroup.yml 15 E201 INFO Trailing whitespace plays/roles/slurm-common/tasks/installMungeFromSource.yml 31 E201 INFO Trailing whitespace plays/roles/slurm-common/tasks/installMungeFromSource.yml 33 E201 INFO Trailing whitespace -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 3 E201 INFO Trailing whitespace -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 8 E201 INFO Trailing whitespace +plays/roles/slurm-common/tasks/installSlurmFromSource.yml 12 E201 INFO Trailing whitespace plays/roles/slurm-common/tasks/main.yml 108 E201 INFO Trailing whitespace plays/roles/slurm-common/tasks/main.yml 124 E201 INFO Trailing whitespace plays/roles/slurm-common/tasks/main.yml 136 E201 INFO Trailing whitespace plays/roles/slurm-start/tasks/main.yml 3 E201 INFO Trailing whitespace plays/roles/slurm-start/tasks/main.yml 6 E201 INFO Trailing whitespace -plays/roles/slurmdb-config/tasks/main.yml 33 E201 INFO Trailing whitespace -plays/roles/slurmdb-config/tasks/main.yml 34 E201 INFO Trailing whitespace -plays/roles/slurmdb-config/tasks/main.yml 44 E201 INFO Trailing whitespace -plays/roles/slurmdb-config/tasks/main.yml 45 E201 INFO Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml 29 E201 INFO Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml 30 E201 INFO Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml 31 E201 INFO Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml 32 E201 INFO Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml 37 E201 INFO Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml 38 E201 INFO Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml 48 E201 INFO Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml 49 E201 INFO Trailing whitespace plays/roles/ssh-password-login/tasks/main.yml 6 E201 INFO Trailing whitespace plays/roles/ssh-password-login/tasks/main.yml 9 E201 INFO Trailing whitespace plays/roles/ssh-password-login/tasks/main.yml 21 E201 INFO Trailing whitespace diff --git a/CICD/ansiblelint/logdir/VERY_HIGH b/CICD/ansiblelint/logdir/VERY_HIGH deleted file mode 100644 index 4e0ae716..00000000 --- a/CICD/ansiblelint/logdir/VERY_HIGH +++ /dev/null @@ -1,9 +0,0 @@ -filepath line rule serverity rule description -plays/roles/gpu/tasks/main.yml 133 E302 VERY_HIGH chmod used in place of argument mode to file module -plays/roles/slurm-common/tasks/createSlurmDirectories.yml 38 E103 VERY_HIGH Deprecated sudo feature -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 1 E302 VERY_HIGH rm used in place of argument state=absent to file module -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 6 E302 VERY_HIGH rm used in place of argument state=absent to file module -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 96 E302 VERY_HIGH rm used in place of argument state=absent to file module -plays/roles/slurm-common/tasks/installSlurmFromSource.yml 101 E302 VERY_HIGH ln used in place of argument state=link to file module -plays/roles/slurmdb-config/tasks/main.yml 24 E103 VERY_HIGH Deprecated sudo feature -plays/roles/slurmdb-config/tasks/main.yml 28 E103 VERY_HIGH Deprecated sudo feature diff --git a/CICD/ansiblelint/logdir/logfile b/CICD/ansiblelint/logdir/logfile index 0afa53d4..26b91206 100644 --- a/CICD/ansiblelint/logdir/logfile +++ b/CICD/ansiblelint/logdir/logfile @@ -116,13 +116,12 @@ plays/roles/gpu/tasks/main.yml:88: [E201] [INFO] Trailing whitespace plays/roles/gpu/tasks/main.yml:93: [E201] [INFO] Trailing whitespace plays/roles/gpu/tasks/main.yml:109: [E306] [MEDIUM] Shells that use pipes should set the pipefail option plays/roles/gpu/tasks/main.yml:115: [E201] [INFO] Trailing whitespace -plays/roles/gpu/tasks/main.yml:133: [E201] [INFO] Trailing whitespace -plays/roles/gpu/tasks/main.yml:133: [E302] [VERY_HIGH] chmod used in place of argument mode to file module -plays/roles/gpu/tasks/main.yml:138: [E301] [HIGH] Commands should not change things if nothing needs doing -plays/roles/gpu/tasks/main.yml:138: [E305] [HIGH] Use shell only when shell functionality is required -plays/roles/gpu/tasks/main.yml:148: [E305] [HIGH] Use shell only when shell functionality is required -plays/roles/gpu/tasks/main.yml:152: [E201] [INFO] Trailing whitespace -plays/roles/gpu/tasks/main.yml:168: [E201] [INFO] Trailing whitespace +plays/roles/gpu/tasks/main.yml:140: [E305] [HIGH] Use shell only when shell functionality is required +plays/roles/gpu/tasks/main.yml:145: [E301] [HIGH] Commands should not change things if nothing needs doing +plays/roles/gpu/tasks/main.yml:145: [E305] [HIGH] Use shell only when shell functionality is required +plays/roles/gpu/tasks/main.yml:155: [E305] [HIGH] Use shell only when shell functionality is required +plays/roles/gpu/tasks/main.yml:159: [E201] [INFO] Trailing whitespace +plays/roles/gpu/tasks/main.yml:175: [E201] [INFO] Trailing whitespace plays/roles/jasons_ssh_ca/handlers/main.yml:2: [E502] [MEDIUM] All tasks should be named plays/roles/jasons_ssh_ca/tasks/main.yml:2: [E502] [MEDIUM] All tasks should be named plays/roles/jasons_ssh_ca/tasks/main.yml:10: [E201] [INFO] Trailing whitespace @@ -161,7 +160,6 @@ plays/roles/postfix/tasks/main.yml:12: [E201] [INFO] Trailing whitespace plays/roles/slurm-common/tasks/createSlurmDirectories.yml:15: [E201] [INFO] Trailing whitespace plays/roles/slurm-common/tasks/createSlurmDirectories.yml:25: [E201] [INFO] Trailing whitespace plays/roles/slurm-common/tasks/createSlurmDirectories.yml:27: [E201] [INFO] Trailing whitespace -plays/roles/slurm-common/tasks/createSlurmDirectories.yml:38: [E103] [VERY_HIGH] Deprecated sudo feature plays/roles/slurm-common/tasks/createSlurmDirectories.yml:43: [E206] [LOW] Variables should have spaces before and after: {{ var_name }} plays/roles/slurm-common/tasks/createSlurmDirectories.yml:59: [E201] [INFO] Trailing whitespace plays/roles/slurm-common/tasks/installCgroup.yml:1: [E201] [INFO] Trailing whitespace @@ -174,20 +172,11 @@ plays/roles/slurm-common/tasks/installMungeFromSource.yml:33: [E201] [INFO] Trai plays/roles/slurm-common/tasks/installMungeFromSource.yml:46: [E303] [HIGH] systemctl used in place of systemd module plays/roles/slurm-common/tasks/installMungeFromSource.yml:46: [E305] [HIGH] Use shell only when shell functionality is required plays/roles/slurm-common/tasks/installMungeFromSource.yml:46: [E503] [MEDIUM] Tasks that run when changed should likely be handlers -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:1: [E302] [VERY_HIGH] rm used in place of argument state=absent to file module -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:1: [E305] [HIGH] Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:3: [E201] [INFO] Trailing whitespace -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:6: [E302] [VERY_HIGH] rm used in place of argument state=absent to file module -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:6: [E305] [HIGH] Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:8: [E201] [INFO] Trailing whitespace -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:37: [E305] [HIGH] Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:51: [E305] [HIGH] Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:64: [E305] [HIGH] Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:77: [E305] [HIGH] Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:96: [E302] [VERY_HIGH] rm used in place of argument state=absent to file module -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:96: [E305] [HIGH] Use shell only when shell functionality is required -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:101: [E302] [VERY_HIGH] ln used in place of argument state=link to file module -plays/roles/slurm-common/tasks/installSlurmFromSource.yml:101: [E305] [HIGH] Use shell only when shell functionality is required +plays/roles/slurm-common/tasks/installSlurmFromSource.yml:12: [E201] [INFO] Trailing whitespace +plays/roles/slurm-common/tasks/installSlurmFromSource.yml:41: [E305] [HIGH] Use shell only when shell functionality is required +plays/roles/slurm-common/tasks/installSlurmFromSource.yml:55: [E305] [HIGH] Use shell only when shell functionality is required +plays/roles/slurm-common/tasks/installSlurmFromSource.yml:68: [E305] [HIGH] Use shell only when shell functionality is required +plays/roles/slurm-common/tasks/installSlurmFromSource.yml:81: [E305] [HIGH] Use shell only when shell functionality is required plays/roles/slurm-common/tasks/main.yml:81: [E305] [HIGH] Use shell only when shell functionality is required plays/roles/slurm-common/tasks/main.yml:95: [E306] [MEDIUM] Shells that use pipes should set the pipefail option plays/roles/slurm-common/tasks/main.yml:108: [E201] [INFO] Trailing whitespace @@ -210,12 +199,14 @@ plays/roles/slurm-start/tasks/main.yml:51: [E503] [MEDIUM] Tasks that run when c plays/roles/slurm-start/tasks/main.yml:66: [E301] [HIGH] Commands should not change things if nothing needs doing plays/roles/slurm-start/tasks/main.yml:66: [E305] [HIGH] Use shell only when shell functionality is required plays/roles/slurm-start/tasks/main.yml:67: [E206] [LOW] Variables should have spaces before and after: {{ var_name }} -plays/roles/slurmdb-config/tasks/main.yml:24: [E103] [VERY_HIGH] Deprecated sudo feature -plays/roles/slurmdb-config/tasks/main.yml:28: [E103] [VERY_HIGH] Deprecated sudo feature -plays/roles/slurmdb-config/tasks/main.yml:33: [E201] [INFO] Trailing whitespace -plays/roles/slurmdb-config/tasks/main.yml:34: [E201] [INFO] Trailing whitespace -plays/roles/slurmdb-config/tasks/main.yml:44: [E201] [INFO] Trailing whitespace -plays/roles/slurmdb-config/tasks/main.yml:45: [E201] [INFO] Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml:29: [E201] [INFO] Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml:30: [E201] [INFO] Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml:31: [E201] [INFO] Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml:32: [E201] [INFO] Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml:37: [E201] [INFO] Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml:38: [E201] [INFO] Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml:48: [E201] [INFO] Trailing whitespace +plays/roles/slurmdb-config/tasks/main.yml:49: [E201] [INFO] Trailing whitespace plays/roles/ssh-password-login/tasks/main.yml:6: [E201] [INFO] Trailing whitespace plays/roles/ssh-password-login/tasks/main.yml:9: [E201] [INFO] Trailing whitespace plays/roles/ssh-password-login/tasks/main.yml:21: [E201] [INFO] Trailing whitespace diff --git a/CICD/ansiblelint/run_lint.py b/CICD/ansiblelint/run_lint.py index 50490689..872f2cbb 100644 --- a/CICD/ansiblelint/run_lint.py +++ b/CICD/ansiblelint/run_lint.py @@ -4,12 +4,13 @@ import subprocess from pathlib import Path import re import sys +import os from collections import defaultdict def parse_argument(): parser = ArgumentParser("ansible lint runner with customized spec") - parser.add_argument('--spec', type=str, nargs='?', help="yaml file which defines warning and error rules") - parser.add_argument('targets', type=str, nargs='+', help="role or task to lint") - parser.add_argument('--logdir', type=Path, default=Path('./ansiblelint/logdir'), help='log directory default to ./ansiblelint/logdir') + parser.add_argument('--targets', type=str, nargs='*', + help="path to roles or playbook targets") + parser.add_argument('--logdir', type=Path, default=Path( __file__ + '/../logdir').resolve(), nargs='?', help='log directory default to ./ansiblelint/logdir') args = parser.parse_args() @@ -19,8 +20,10 @@ def parse_rule_output(line): # (filepath, line, rule, severity, rule_desc) expression = '(.*\.yml):([0-9]+): \[(.*)\] \[(.*)\] (.*$)' matched = re.match(expression, line) + # print(line) matched_groups = matched.groups() return matched_groups + def group_by(output, idx): res = defaultdict(list) for i in output: @@ -32,44 +35,40 @@ outputs = defaultdict() def main(): exit_code = 0 args = parse_argument() - if args.spec is not None: - with open(args.spec, 'r') as f: - spec = yaml.load(f) - for k,v in spec.items(): - cmd = cmd_template + ' '.join(['-t ' + str(tag) for tag in v]) - cmd += ' ' + ' '.join(args.targets) - logfile = args.logdir.joinpath(k) - cmd += ' 2>&1 | tee {}'.format(str(logfile.resolve())) - output = subprocess.check_output(cmd, shell=True) - output = output.decode().splitlines() - output = [parse_rule_output(line) for line in output] - outputs[k] = output - # outputs.append(output) - else: - cmd = cmd_template + for item in args.logdir.iterdir(): + item.unlink() + cmd = cmd_template + if args.targets is not None: cmd += ' ' + ' '.join(args.targets) - logfile = args.logdir.joinpath('logfile') - cmd += ' 2>&1 | tee {}'.format(str(logfile.resolve())) + else: + rolenames = [str(i.resolve()) + for i in Path(__file__ + '/../../plays/roles').resolve().iterdir() if i.is_dir()] + cmd += ' ' + ' '.join(rolenames) # print(cmd) - output = subprocess.check_output(cmd, shell=True) - output = output.decode().splitlines() - output = [parse_rule_output(line) for line in output] - - # group by serverity - output = group_by(output, 3) - # print(output.keys()) + logfile = args.logdir.joinpath('logfile') + cmd += ' 2>&1 | tee {}'.format(str(logfile.resolve())) + # print(cmd) + output = subprocess.check_output(cmd, shell=True) + output = output.decode().splitlines() + # print(output) + output = [parse_rule_output(line) for line in output] - for k,v in output.items(): - if (k == 'HIGH' or k=='VERY_HIGH') and len(v) != 0: - exit_code = 1 - current_log = args.logdir.joinpath(k).resolve() + # group by serverity + output = group_by(output, 3) + # print(output.keys()) + # print(output.keys()) + for k,v in output.items(): + # print(k, v) + if (k=='VERY_HIGH') and len(v) != 0: + exit_code = 1 + current_log = args.logdir.joinpath(k).resolve() - with current_log.open(mode='w') as f: - f.writelines(['filepath\tline\trule\tserverity\trule description\n']) - # print(v[-1]) - # return - f.writelines(['\t'.join(list(i)) + '\n' for i in v]) - sys.exit(exit_code) - return + with current_log.open(mode='w') as f: + f.writelines(['filepath\tline\trule\tserverity\trule description\n']) + # print(v[-1]) + # return + f.writelines(['\t'.join(list(i)) + '\n' for i in v]) + sys.exit(exit_code) + # return if __name__ == "__main__": main() diff --git a/roles/gpu/tasks/main.yml b/roles/gpu/tasks/main.yml index 86eb7381..4bc7d9f4 100644 --- a/roles/gpu/tasks/main.yml +++ b/roles/gpu/tasks/main.yml @@ -130,8 +130,15 @@ template: src=xserver.j2 dest=/etc/pam.d/xserver become: true -- name: build nvidia driver - shell: chmod 755 /tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run; /tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run --silent +- name: chmod nvidia driver builder + file: + path: /tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run + mode: 0755 + become: true + when: install_driver + +- name: build nvidia driver + shell: /tmp/NVIDIA-Linux-x86_64-{{ nvidia_version }}.run become: true when: install_driver diff --git a/roles/slurm-common/tasks/createSlurmDirectories.yml b/roles/slurm-common/tasks/createSlurmDirectories.yml index 1f4aabac..73895682 100644 --- a/roles/slurm-common/tasks/createSlurmDirectories.yml +++ b/roles/slurm-common/tasks/createSlurmDirectories.yml @@ -37,7 +37,7 @@ - name: create slurmdbdpiddir directory file: path={{ slurmdbdpiddir }} state=directory owner=slurm group=slurm mode=755 - sudo: true + become: true - name: create shared state directory file: path={{slurmsharedstatedir }} state=directory owner=slurm group=slurm mode=750 diff --git a/roles/slurm-common/tasks/installSlurmFromSource.yml b/roles/slurm-common/tasks/installSlurmFromSource.yml index 90816f18..071d0b8b 100644 --- a/roles/slurm-common/tasks/installSlurmFromSource.yml +++ b/roles/slurm-common/tasks/installSlurmFromSource.yml @@ -1,12 +1,16 @@ - name: remove all install - shell: rm -rf /tmp/slurm-{{ slurm_version }} - become: true - when: force_slurm_recompile is defined + file: + path: "/tmp/slurm-{{ slurm_version }}" + state: absent + become: true + when: force_slurm_recompile is defined - name: remove all install - shell: rm -rf {{ slurm_dir }} - become: true - when: force_slurm_recompile is defined + file: + path: "{{ slurm_dir }}" + state: absent + become: true + when: force_slurm_recompile is defined - name: unarchive slurm unarchive: @@ -94,14 +98,19 @@ become: true - name: remove exist-slurm-latest-link - shell: rm -f /opt/slurm-latest - become: true - when: force_slurm_recompile is defined or not stat_srun.stat.exists + file: + path: /opt/slurm-latest + state: absent + become: true + when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: put slurm-latest-link - shell: ln -s {{ slurm_dir }} /opt/slurm-latest - become: true - when: force_slurm_recompile is defined or not stat_srun.stat.exists + file: + src: "{{ slurm_dir }}" + dest: /opt/slurm-latest + state: link + become: true + when: force_slurm_recompile is defined or not stat_srun.stat.exists - name: add slurm log rotate config template: src=slurmlog.j2 dest=/etc/logrotate.d/slurm mode=644 diff --git a/roles/slurmdb-config/tasks/main.yml b/roles/slurmdb-config/tasks/main.yml index 1a50bdaf..44ae06e5 100644 --- a/roles/slurmdb-config/tasks/main.yml +++ b/roles/slurmdb-config/tasks/main.yml @@ -23,11 +23,15 @@ - name: create slurm group group: name=slurm system=yes gid=497 - sudo: true + become: true - name: create slurm user # this is duplicated from slurm-common - user: name=slurm group=slurm system=yes createhome=no uid=497 - sudo: true + user: + name: slurm + group: slurm + system: yes + createhome: no uid=497 + become: true - name: install slurmdb.conf copy: -- GitLab