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 +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 +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 +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 +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 +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 +waagent::swap::size_mb: 14336 diff --git a/site-modules/profile/manifests/waagent.pp b/site-modules/profile/manifests/waagent.pp new file mode 100644 --- /dev/null +++ b/site-modules/profile/manifests/waagent.pp @@ -0,0 +1,39 @@ +class profile::waagent { + $filepath = '/etc/waagent.conf' + $key_swap = 'ResourceDisk.EnableSwap' + $key_swap_size_mb = 'ResourceDisk.SwapSizeMB' + + $swap_size_mb = lookup('waagent::swap::size_mb', { + default_value => 0, + value_type => Integer + }) + + # Make sure the file exists, should have been installed by azure vm provisionning + file {$filepath: + ensure => present, + owner => 'root', + group => 'root', + mode => '0644', + } + + $enable_swap = $swap_size_mb ? { + 0 => 'n', + default => 'y', + } + + file_line {"${filepath}-${key_swap}": + ensure => present, + path => $filepath, + line => "${key_swap}=${enable_swap}", + match => '^ResourceDisk\.EnableSwap=', + require => File[$filepath], + } + + file_line {"${filepath}-${key_swap_size_mb}": + ensure => present, + path => $filepath, + line => "${key_swap_size_mb}=${swap_size_mb}", + match => '^ResourceDisk\.SwapSizeMB=', + 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::waagent }