You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Alternatively, configure a [local Pulp mirror](experimental/pulp.md).
49
+
Alternatively, configure a [local Pulp mirror](experimental/pulp.md).
46
50
47
51
3. Create a Packer [variable definition file](https://developer.hashicorp.com/packer/docs/templates/hcl_templates/variables#assigning-values-to-input-variables). It must specify at least the
48
52
the following variables:
49
-
50
-
```hcl
51
-
# environments/site/builder.pkrvars.hcl:
52
-
flavor = "general.v1.small" # VM flavor to use for builder VMs
53
-
networks = ["26023e3d-bc8e-459c-8def-dbd47ab01756"] # List of network UUIDs to attach the VM to
54
-
source_image_name = "Rocky-9-GenericCloud-Base-9.4" # Name of image to create VM with, i.e. starting image
55
-
inventory_groups = "cuda" # Build VM inventory groups => functionality to add to image
56
-
```
57
-
58
-
Note that:
59
-
- Normally the network must provide outbound internet access. However it
60
-
does not need to provide access to resources used by the actual cluster
61
-
nodes (e.g. Slurm control node, network filesystem servers etc.).
62
-
- The flavor used must have sufficent memory for the build tasks (usually
63
-
8GB), but otherwise does not need to match the actual cluster node
64
-
flavor(s).
65
-
- By default, the build VM is volume-backed to allow control of the root
66
-
disk size (and hence final image size), so the flavor's disk size does not
67
-
matter. The default volume size is not sufficent if enabling `cuda` and/or
68
-
`doca` and should be increased:
69
-
```terraform
70
-
volume_size = 35 # GB
71
-
```
72
-
- The source image should be either:
73
-
- For a site-specific fatimage build: A RockyLinux GenericCloud or
74
-
compatible image.
75
-
- For an extra-build image: Usually the appropriate StackHPC fat image,
76
-
as defined in `environments/.stackhpc/tofu/cluster_image.auto.tfvars.json` at the
77
-
checkout's current commit. See the [GitHub release page](https://github.com/stackhpc/ansible-slurm-appliance/releases)
78
-
for download links. In some cases extra builds may be chained, e.g.
79
-
one extra build adds a Lustre client, and the resulting image is used
80
-
as the source image for an extra build adding GPU support.
81
-
- The `inventory_groups` variable takes a comma-separated list of Ansible
82
-
inventory groups to add the build VM to (in addition to the `builder`
83
-
group which is it always in). This controls which Ansible roles and
84
-
functionality run during build, and hence what gets added to the image.
85
-
All possible groups are listed in `environments/common/groups` but common
86
-
options for this variable will be:
87
-
- For a fatimage build: `fatimage`: This is defined in `enviroments/{common,site}/inventory/groups`
88
-
and results in an update of all packages in the source image, plus
89
-
installation of packages for default control, login and compute nodes.
90
-
- For an extra-built image, one or more specific groups e.g. `cuda` or
91
-
`doca,lustre`. This extends the source image with just this additional
92
-
functionality.
93
-
94
-
See the top of [packer/openstack.pkr.hcl](../packer/openstack.pkr.hcl)
95
-
for all possible variables which can be set.
53
+
54
+
```hcl
55
+
# environments/site/builder.pkrvars.hcl:
56
+
flavor = "general.v1.small" # VM flavor to use for builder VMs
57
+
networks = ["26023e3d-bc8e-459c-8def-dbd47ab01756"] # List of network UUIDs to attach the VM to
58
+
source_image_name = "Rocky-9-GenericCloud-Base-9.4" # Name of image to create VM with, i.e. starting image
59
+
inventory_groups = "cuda" # Build VM inventory groups => functionality to add to image
60
+
```
61
+
62
+
Note that:
63
+
64
+
- Normally the network must provide outbound internet access. However it
65
+
does not need to provide access to resources used by the actual cluster
66
+
nodes (e.g. Slurm control node, network filesystem servers etc.).
67
+
- The flavor used must have sufficent memory for the build tasks (usually
68
+
8GB), but otherwise does not need to match the actual cluster node
69
+
flavor(s).
70
+
- By default, the build VM is volume-backed to allow control of the root
71
+
disk size (and hence final image size), so the flavor's disk size does not
72
+
matter. The default volume size is not sufficent if enabling `cuda` and/or
73
+
`doca` and should be increased:
74
+
```terraform
75
+
volume_size = 35 # GB
76
+
```
77
+
- The source image should be either:
78
+
- For a site-specific fatimage build: A RockyLinux GenericCloud or
79
+
compatible image.
80
+
- For an extra-build image: Usually the appropriate StackHPC fat image,
81
+
as defined in `environments/.stackhpc/tofu/cluster_image.auto.tfvars.json` at the
82
+
checkout's current commit. See the [GitHub release page](https://github.com/stackhpc/ansible-slurm-appliance/releases)
83
+
for download links. In some cases extra builds may be chained, e.g.
84
+
one extra build adds a Lustre client, and the resulting image is used
85
+
as the source image for an extra build adding GPU support.
86
+
- The `inventory_groups` variable takes a comma-separated list of Ansible
87
+
inventory groups to add the build VM to (in addition to the `builder`
88
+
group which is it always in). This controls which Ansible roles and
89
+
functionality run during build, and hence what gets added to the image.
90
+
All possible groups are listed in `environments/common/groups` but common
91
+
options for this variable will be:
92
+
93
+
- For a fatimage build: `fatimage`: This is defined in `enviroments/{common,site}/inventory/groups`
94
+
and results in an update of all packages in the source image, plus
95
+
installation of packages for default control, login and compute nodes.
96
+
- For an extra-built image, one or more specific groups e.g. `cuda` or
97
+
`doca,lustre`. This extends the source image with just this additional
98
+
functionality.
99
+
100
+
See the top of [packer/openstack.pkr.hcl](../packer/openstack.pkr.hcl)
101
+
for all possible variables which can be set.
96
102
97
103
4. Activate the venv and the relevant environment.
98
104
99
105
5. Build images using the relevant variable definition file, e.g.:
0 commit comments