@@ -35,9 +35,7 @@ The following roles are currently fully functional:
35
35
- ` resolv_conf ` : all functionality
36
36
- ` etc_hosts ` : all functionality
37
37
- ` nfs ` : client functionality only
38
- - ` stackhpc.openhpc ` : all functionality, except that the control server name
39
- must be the control node's ` inventory_hostname ` ; ` openhpc_slurm_control_host `
40
- and ` openhpc_slurm_control_host_address ` are ignored.
38
+ - ` stackhpc.openhpc ` : all functionality
41
39
42
40
# Development/debugging
43
41
@@ -96,8 +94,8 @@ as in step 3.
96
94
support certain subsets of role functionality or variables
97
95
Examples: resolv_conf, stackhpc.openhpc
98
96
99
- - Some hostvars are tempalted from hostvars from other nodes, which aren't
100
- available in the current approach:
97
+ - Some variables are defined using hostvars from other nodes, which aren't
98
+ available v the current approach:
101
99
102
100
```
103
101
[root@rl9-compute-0 rocky]# grep hostvars /mnt/cluster/hostvars/rl9-compute-0/hostvars.yml
@@ -116,8 +114,12 @@ as in step 3.
116
114
More generally, there is nothing to stop any group var depending on a
117
115
"{{ hostvars[] }}" interpolation ...
118
116
119
- Currently, this has been worked around for the following cases:
120
- - The inventory hostname for the control node, indirected via `.api_address`
121
- in the above hostvars. This is needed for the default nfs configuration
122
- and the slurmctld namne. For compute-init this has been Defined using
123
- "{{ groups['control'] | first }}" as the hostvars do include the groups.
117
+ Only `nfs_server_default` and `openhpc_slurm_control_host` are of concern
118
+ for compute nodes - both of these indirect via `api_address` to
119
+ `inventory_hostname`. This has been worked around by replacing this with
120
+ "{{ groups['control'] | first }}" which does result in the control node
121
+ inventory hostname when templating.
122
+
123
+ Note that although `groups` is defined in the templated hostvars, when
124
+ the hostvars are loaded using `include_vars:` is is ignored as it is a
125
+ "magic variable" determined by ansible itself and cannot be set.
0 commit comments