diff --git a/data/hostname/storage01.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/storage01.euwest.azure.internal.softwareheritage.org.yaml index 9bd08377..9892fc2a 100644 --- a/data/hostname/storage01.euwest.azure.internal.softwareheritage.org.yaml +++ b/data/hostname/storage01.euwest.azure.internal.softwareheritage.org.yaml @@ -1,37 +1,29 @@ swh::deploy::storage::backend::listen::host: 0.0.0.0 swh::deploy::storage::backend::workers: 48 swh::deploy::storage::backend::max_requests: 1000 swh::deploy::storage::backend::max_requests_jitter: 100 swh::deploy::objstorage::backend::listen::host: 0.0.0.0 swh::deploy::objstorage::backend::workers: 8 swh::deploy::storage::db::host: dbreplica0.euwest.azure.internal.softwareheritage.org swh::deploy::storage::db::port: 5433 swh::deploy::indexer::storage::backend::listen::host: 0.0.0.0 swh::deploy::indexer::storage::db::host: dbreplica1.euwest.azure.internal.softwareheritage.org swh::deploy::indexer::storage::db::port: 5432 -swh::remote_service::objstorage::config::azure_readonly_with_fallback: &swh_azure_readonly_with_fallback - cls: multiplexer - args: - objstorages: - - "%{alias('swh::remote_service::objstorage::config::azure::readonly')}" - - "%{alias('swh::remote_service::objstorage::config::banco::readonly')}" - - "%{alias('swh::remote_service::objstorage::config::uffizi::readonly')}" - swh::deploy::objstorage::config: objstorage: <<: *swh_azure_readonly_with_fallback swh::deploy::storage::config: storage: cls: local args: db: "host=%{hiera('swh::deploy::storage::db::host')} port=%{hiera('swh::deploy::storage::db::port')} user=%{hiera('swh::deploy::storage::db::user')} dbname=%{hiera('swh::deploy::storage::db::dbname')} password=%{hiera('swh::deploy::storage::db::password')}" objstorage: "%{alias('swh::remote_service::objstorage::config::azure_readonly_with_fallback')}" swh::deploy::worker::instances: [] swh::deploy::search::backend::listen::host: 0.0.0.0 diff --git a/data/hostname/storage02.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/storage02.euwest.azure.internal.softwareheritage.org.yaml new file mode 100644 index 00000000..7af838f6 --- /dev/null +++ b/data/hostname/storage02.euwest.azure.internal.softwareheritage.org.yaml @@ -0,0 +1,20 @@ +swh::deploy::storage::backend::listen::host: 0.0.0.0 +swh::deploy::storage::backend::workers: 48 +swh::deploy::storage::backend::max_requests: 1000 +swh::deploy::storage::backend::max_requests_jitter: 100 + +swh::deploy::storage::config: + storage: + cls: cassandra + args: + hosts: + - cassandra01.euwest.azure.internal.softwareheritage.org + - cassandra02.euwest.azure.internal.softwareheritage.org + - cassandra03.euwest.azure.internal.softwareheritage.org + - cassandra04.euwest.azure.internal.softwareheritage.org + - cassandra05.euwest.azure.internal.softwareheritage.org + - cassandra06.euwest.azure.internal.softwareheritage.org + keyspace: swh_test + objstorage: "%{alias('swh::remote_service::objstorage::config::azure_readonly_with_fallback')}" + +swh::deploy::worker::instances: [] diff --git a/data/location/azure_euwest.yaml b/data/location/azure_euwest.yaml index 8849ff2c..5cfbc719 100644 --- a/data/location/azure_euwest.yaml +++ b/data/location/azure_euwest.yaml @@ -1,17 +1,25 @@ --- dns::local_nameservers: - 192.168.200.22 - 192.168.100.29 dns::forwarders: [] dns::forwarder_insecure: false internal_network: 192.168.200.0/21 swh::deploy::worker::instances: - indexer_content_mimetype - indexer_fossology_license - indexer_origin_intrinsic_metadata swh::remote_service::storage::config: "%{alias('swh::remote_service::storage::config::azure')}" swh::remote_service::indexer::config: "%{alias('swh::remote_service::indexer::config::azure')}" + +swh::remote_service::objstorage::config::azure_readonly_with_fallback: &swh_azure_readonly_with_fallback + cls: multiplexer + args: + objstorages: + - "%{alias('swh::remote_service::objstorage::config::azure::readonly')}" + - "%{alias('swh::remote_service::objstorage::config::banco::readonly')}" + - "%{alias('swh::remote_service::objstorage::config::uffizi::readonly')}" diff --git a/manifests/site.pp b/manifests/site.pp index 3a150dde..dcbd4ca0 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -1,176 +1,180 @@ node 'louvre.internal.softwareheritage.org' { include role::swh_server } node /^(orsay|beaubourg|hypervisor\d+)\.(internal\.)?softwareheritage\.org$/ { include role::swh_hypervisor } node 'pergamon.softwareheritage.org' { include role::swh_sysadmin include profile::export_archive_counters } node 'tate.softwareheritage.org' { include role::swh_forge } node 'moma.softwareheritage.org' { include role::swh_api } node 'webapp0.softwareheritage.org' { include role::swh_base_api } node 'saatchi.internal.softwareheritage.org' { include role::swh_scheduler } node /^(belvedere|somerset).(internal.)?softwareheritage.org$/ { include role::swh_database include profile::pgbouncer } node 'banco.softwareheritage.org' { include role::swh_backup include role::postgresql_backup } node /^esnode\d+.(internal.)?softwareheritage.org$/ { include role::swh_elasticsearch } node /^kafka\d+\./ { include role::swh_kafka_broker } node /^cassandra\d+\./ { include role::swh_cassandra_node } node 'granet.internal.softwareheritage.org' { include role::swh_graph_backend } node /^(unibo-test).(internal.)?softwareheritage.org$/ { include role::swh_vault_test } node /^(unibo-prod|vangogh).(euwest.azure.)?(internal.)?softwareheritage.org$/ { include role::swh_vault } node /^uffizi\.(internal\.)?softwareheritage\.org$/ { include role::swh_storage_baremetal } -node /^storage\d+\.[^.]+\.azure\.internal\.softwareheritage\.org$/ { +node /^storage01\.azure\.internal\.softwareheritage\.org$/ { include role::swh_storage_cloud } +node /^storage02\.azure\.internal\.softwareheritage\.org$/ { + include role::swh_storage_cassandra +} + node /^getty.(internal.)?softwareheritage.org$/ { include role::swh_journal_orchestrator } node /^worker\d+\.(internal\.)?softwareheritage\.org$/ { include role::swh_worker_inria } node /^worker\d+\..*\.azure\.internal\.softwareheritage\.org$/ { include role::swh_worker_azure } node /^dbreplica(0|1)\.euwest\.azure\.internal\.softwareheritage\.org$/ { include role::swh_database } node /^ceph-osd\d+\.internal\.softwareheritage\.org$/ { include role::swh_ceph_osd } node /^ceph-mon\d+\.internal\.softwareheritage\.org$/ { include role::swh_ceph_mon } node /^ns\d+\.(.*\.azure\.)?internal\.softwareheritage\.org/ { include role::swh_nameserver_secondary } node 'thyssen.internal.softwareheritage.org' { include role::swh_ci_server } node 'riverside.internal.softwareheritage.org' { include role::swh_sentry } node /^jenkins-debian\d+\.internal\.softwareheritage\.org$/ { include role::swh_ci_agent_debian } node 'logstash0.internal.softwareheritage.org' { include role::swh_logstash_instance } node 'kibana0.internal.softwareheritage.org' { include role::swh_kibana_instance } node 'kelvingrove.internal.softwareheritage.org' { include role::swh_idp_primary } node 'giverny.softwareheritage.org' { include role::swh_desktop } node 'db0.internal.staging.swh.network' { include role::swh_base_database include profile::postgresql::server include profile::pgbouncer include ::profile::devel::postgres } node 'scheduler0.internal.staging.swh.network' { include role::swh_scheduler include ::profile::devel::postgres } node 'gateway.internal.staging.swh.network' { include role::swh_gateway } node 'storage0.internal.staging.swh.network' { include role::swh_base_storage include ::profile::devel::postgres } node /^worker\d\.internal\.staging\.swh\.network$/ { include role::swh_worker_inria } node 'webapp.internal.staging.swh.network' { include role::swh_base_api include profile::network } node 'deposit.internal.staging.swh.network' { include role::swh_deposit include profile::postgresql::server include profile::pgbouncer include ::profile::devel::postgres } node 'vault.internal.staging.swh.network' { include role::swh_vault } node 'journal0.internal.staging.swh.network' { include role::swh_journal_allinone } node default { include role::swh_base } diff --git a/site-modules/role/manifests/swh_storage_cassandra.pp b/site-modules/role/manifests/swh_storage_cassandra.pp new file mode 100644 index 00000000..cef647f8 --- /dev/null +++ b/site-modules/role/manifests/swh_storage_cassandra.pp @@ -0,0 +1,3 @@ +class role::swh_storage_cassandra inherits role::swh_server { + include profile::swh::deploy::storage +}