option for docker host access to cluster
This commit is contained in:
31
roles/slurm/tasks/host-config.yml
Normal file
31
roles/slurm/tasks/host-config.yml
Normal file
@@ -0,0 +1,31 @@
|
||||
- name: "get addresses from docker network"
|
||||
docker_network_info:
|
||||
name: "{{ docker_network }}"
|
||||
register: slurm_network_data
|
||||
|
||||
- name: link host slurm config
|
||||
file:
|
||||
path: "/etc/slurm/slurm.conf"
|
||||
src: "/container/volumes/slurm/slurm.conf"
|
||||
force: True
|
||||
state: link
|
||||
backup: True
|
||||
|
||||
- name: create slurm user
|
||||
user:
|
||||
name: slurm
|
||||
system: True
|
||||
|
||||
- name: place entry of slurm-ctl in host /etc/hosts
|
||||
lineinfile:
|
||||
line: "{{slurm_network_data.network.Containers | dict2items
|
||||
| json_query('[?value.Name==`slurm-ctl`].value.IPv4Address') | first
|
||||
| ipaddr('address') }}\tslurm-ctl"
|
||||
regexp: "^(\\S*)(\\s*)slurm-ctl$"
|
||||
path: /etc/hosts
|
||||
backup: True
|
||||
|
||||
- name: start munge locally
|
||||
service:
|
||||
name: munge
|
||||
state: started
|
@@ -58,6 +58,13 @@
|
||||
path: /container/volumes/slurm/
|
||||
state: directory
|
||||
|
||||
- name: "create docker network to make service discovery work"
|
||||
docker_network:
|
||||
name: "{{ docker_network }}"
|
||||
state: present
|
||||
register: slurm_network_data
|
||||
tags: slurm-config
|
||||
|
||||
- name: upload slurm config
|
||||
template:
|
||||
force: true
|
||||
@@ -71,14 +78,14 @@
|
||||
slurm_exec_node_mem: 5000 # RealMemory=5964
|
||||
slurm_alloc_nodes_default:
|
||||
- name: "{{slurm_prefix+'-submit1'}}"
|
||||
- name: "{{ inventory_hostname }}"
|
||||
addr: "{{ slurm_network_data.network.IPAM.Config[0].Gateway }}"
|
||||
alloc_nodes: "{{ slurm_alloc_nodes_default + extra_nodes | default([])}}"
|
||||
notify: reconfigure slurm
|
||||
tags: slurm-config
|
||||
|
||||
- name: "create docker network to make service discovery work"
|
||||
docker_network:
|
||||
name: "{{ docker_network }}"
|
||||
state: present
|
||||
- import_tasks: host-config.yml
|
||||
when: slurm_hostsystem_cluster_access | default(False)
|
||||
|
||||
- name: "create docker volume for shared access between nodes"
|
||||
docker_volume:
|
||||
|
@@ -170,6 +170,7 @@ NodeName=slurm-exec[1-{{ num_nodes }}] CPUs={{ slurm_exec_node_cores }} {{''
|
||||
{% for i in alloc_nodes -%}
|
||||
NodeName={{i.name}}
|
||||
{%- if i.hostname is defined %} NodeHostname={{i.hostname}} {% endif %}
|
||||
{%- if i.addr is defined %} NodeAddr={{i.addr}} {% endif %}
|
||||
State=UNKNOWN
|
||||
{% endfor %}
|
||||
PartitionName=debug Nodes=slurm-exec[1-{{num_nodes}}] {{ ''
|
||||
|
Reference in New Issue
Block a user