diff --git a/data/hostname/indexer-worker01.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/indexer-worker01.euwest.azure.internal.softwareheritage.org.yaml --- a/data/hostname/indexer-worker01.euwest.azure.internal.softwareheritage.org.yaml +++ b/data/hostname/indexer-worker01.euwest.azure.internal.softwareheritage.org.yaml @@ -17,3 +17,4 @@ - relatime - rw +swh::deploy::waagent::swap::size_mb: 14336 diff --git a/data/hostname/indexer-worker02.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/indexer-worker02.euwest.azure.internal.softwareheritage.org.yaml --- a/data/hostname/indexer-worker02.euwest.azure.internal.softwareheritage.org.yaml +++ b/data/hostname/indexer-worker02.euwest.azure.internal.softwareheritage.org.yaml @@ -17,3 +17,4 @@ - relatime - rw +swh::deploy::waagent::swap::size_mb: 14336 diff --git a/data/hostname/indexer-worker03.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/indexer-worker03.euwest.azure.internal.softwareheritage.org.yaml --- a/data/hostname/indexer-worker03.euwest.azure.internal.softwareheritage.org.yaml +++ b/data/hostname/indexer-worker03.euwest.azure.internal.softwareheritage.org.yaml @@ -17,3 +17,4 @@ - relatime - rw +swh::deploy::waagent::swap::size_mb: 14336 diff --git a/data/hostname/indexer-worker04.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/indexer-worker04.euwest.azure.internal.softwareheritage.org.yaml --- a/data/hostname/indexer-worker04.euwest.azure.internal.softwareheritage.org.yaml +++ b/data/hostname/indexer-worker04.euwest.azure.internal.softwareheritage.org.yaml @@ -16,3 +16,4 @@ - relatime - rw +swh::deploy::waagent::swap::size_mb: 14336 diff --git a/data/hostname/indexer-worker05.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/indexer-worker05.euwest.azure.internal.softwareheritage.org.yaml --- a/data/hostname/indexer-worker05.euwest.azure.internal.softwareheritage.org.yaml +++ b/data/hostname/indexer-worker05.euwest.azure.internal.softwareheritage.org.yaml @@ -16,3 +16,4 @@ - relatime - rw +swh::deploy::waagent::swap::size_mb: 14336 diff --git a/data/hostname/indexer-worker06.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/indexer-worker06.euwest.azure.internal.softwareheritage.org.yaml --- a/data/hostname/indexer-worker06.euwest.azure.internal.softwareheritage.org.yaml +++ b/data/hostname/indexer-worker06.euwest.azure.internal.softwareheritage.org.yaml @@ -16,3 +16,4 @@ - relatime - rw +swh::deploy::waagent::swap::size_mb: 14336 diff --git a/site-modules/profile/manifests/swh/deploy/waagent.pp b/site-modules/profile/manifests/swh/deploy/waagent.pp new file mode 100644 --- /dev/null +++ b/site-modules/profile/manifests/swh/deploy/waagent.pp @@ -0,0 +1,34 @@ +class profile::swh::deploy::waagent { + $filepath = '/etc/waagent.conf' + + # If present, then activate swap in $filepath + $swap_size_mb = lookup('swh::deploy::waagent::swap::size_mb', default_value => '0') + $pattern_swap = 'ResourceDisk.EnableSwap' + $pattern_swap_size_mb = 'ResourceDisk.SwapSizeMB' + + if $swap_size_mb != '0' { + # Make sure the file exists, should have been installed by azure vm provisionning + file {$filepath: + ensure => present, + owner => 'root', + group => 'root', + mode => '0644', + } + + file_line {$pattern_swap: + ensure => present, + path => $filepath, + line => "${pattern_swap}=y", + match => "^${pattern_swap}=n", + require => File[$filepath], + } + + file_line {$pattern_swap_size_mb: + ensure => present, + path => $filepath, + line => "${pattern_swap_size_mb}=${swap_size_mb}", + match => "^${pattern_swap_size_mb}=0", + require => File[$filepath], + } + } +} diff --git a/site-modules/role/manifests/swh_worker_azure.pp b/site-modules/role/manifests/swh_worker_azure.pp --- a/site-modules/role/manifests/swh_worker_azure.pp +++ b/site-modules/role/manifests/swh_worker_azure.pp @@ -2,4 +2,5 @@ class role::swh_worker_azure inherits role::swh_worker { include ::profile::swh::deploy::objstorage_cloud + include ::profile::swh::deploy::waagent }