the cluster playbook is now ansible/site.yml
Both normal and "fast-volume-type" clusters are supported, by using the appropriate ui-meta file.
Currently the ansible-driven image build functionality from CaaS has not been ported to this repo - use the github workflow or or packer configurations directly.
Implementation Notes
There can't be an activate script, so:
ansible.cfg is provided in the repo root, as expected by caas operator.
azimuth_caas_stackhpc_slurm_appliance_template:
...
envVars:
# Normally set through environment's activate script:
ANSIBLE_INVENTORY: environments/common/inventory,environments/.caas/inventory # NB: Relative to runner project dir
Ansible then defines ansible_inventory_sources which contains absolute paths, and that is used to derive the appliances_environment_root. This needed some changes in site.yml where the environment var APPLIANCES_ENVIRONMENT_ROOT is not available in caas. Note this environment var can't be got rid of entirely yet because {TF,PKR}_VAR_environment_root are derived from it in non-caas environments).
Ansible-driven TF imported only used for caas at present.
Inventory groups are now defined by symlink to everything template, and don't need to be created in-memory. This means groups always exist, so logic changes from if 'grafana' in groups --> if groups[‘grafana’] | length > 0 which means lots of caas-specific overrides could be removed.
common env ondemand config didn’t always take into account whether grafana was deployed, which caas did (see 2b264c7).
Conversely I think the caas ondemand config was broken for jupyter - wrong binary path.
Replaces https://github.com/stackhpc/caas-slurm-appliance with a
.caas
environment.Requires https://github.com/stackhpc/azimuth-caas-operator/pull/75 and https://github.com/stackhpc/ansible-collection-azimuth-ops/pull/202. Note that:
environments/.caas/
ansible/site.yml
Both normal and "fast-volume-type" clusters are supported, by using the appropriate ui-meta file.Currently the ansible-driven image build functionality from CaaS has not been ported to this repo - use the github workflow or or packer configurations directly.
Implementation Notes
activate
script, so:ansible.cfg
is provided in the repo root, as expected by caas operator.ANSIBLE_INVENTORY
is set in the cluster type template, using a relative path:Ansible then defines
ansible_inventory_sources
which contains absolute paths, and that is used to derive theappliances_environment_root
. This needed some changes in site.yml where the environment varAPPLIANCES_ENVIRONMENT_ROOT
is not available in caas. Note this environment var can't be got rid of entirely yet because{TF,PKR}_VAR_environment_root
are derived from it in non-caas environments).if 'grafana' in groups
-->if groups[‘grafana’] | length > 0
which means lots of caas-specific overrides could be removed.common
env ondemand config didn’t always take into account whether grafana was deployed, which caas did (see 2b264c7).basic_users
andetc_hosts
roles are used instead of custom code in the original caas repo.TODO
Merge following from CaaS: