Deployment server
Deployment servers are servers used for deployment of software using Scap and scap3.
Service
As of April 2024 the deployment servers are:
- deploy1002, currently active primary
- deploy2002, passive/spare
There is also a service alias deployment.eqiad.wmnet which always points to the currently active deployment (Yes, this shortcut does the right thing, despite having "eqiad" in its name).
Runbooks
How to setup a deployment server in a cloud VPS project
- create a new cloud VPS instance of size m1.small (or m1.medium if you will be deploying many scap3 projects)
- in Horizon apply the puppet 'role::deployment_server' on the instance
- Create and attach an extra storage volume on
/srvto hold the software you are going to deploy - in the operations/puppet repo in ./hieradata/labs/yourproject/common.yaml or in Horizon add Hiera key/value pairs:
has_lvs: false
has_tls: false
mcrouter::has_ssl: false
mcrouter::port: 11213
mcrouter::shards:
wancache:
eqiad:
shard01:
host: deployment-memc04
port: 11211
shard02:
host: deployment-memc05
port: 11211
shard03:
host: deployment-memc08
port: 11211
profile::kubernetes::deployment_server::git_group: wikidev
profile::kubernetes::deployment_server::git_owner: trebuchet
profile::mediawiki::apc_shm_size: 128M
profile::mediawiki::deployment::server::rsync_host: deploy1001.devtools.eqiad1.wikimedia.cloud
profile::mediawiki::php::enable_fpm: true
profile::mediawiki::php::php_version: '7.2'
profile::rsyslog::kafka_shipper::kafka_brokers: []
profile::services_proxy::ensure: absent
profile::services_proxy::services:
dummy:
hostname: dummy.example.net
localport: 9999
port: 9999
scheme: https
timeout: 600
redis::shards:
sessions:
eqiad:
shard01:
host: 172.16.5.76
port: 6379
shard02:
host: 172.16.5.17
port: 6379
shard03:
host: 172.16.5.12
port: 6379
shard04:
host: 172.16.5.2
port: 6379
scap::dsh::groups:
librenms:
hosts:
- deployment-netbox.deployment-prep.eqiad1.wikimedia.cloud
mediawiki-api-canaries:
hosts: []
mediawiki-appserver-canaries:
hosts:
- deployment-mediawiki-07.deployment-prep.eqiad1.wikimedia.cloud
mediawiki-installation:
hosts:
- deployment-jobrunner03.deployment-prep.eqiad1.wikimedia.cloud
- deployment-mediawiki-09.deployment-prep.eqiad1.wikimedia.cloud
- deployment-mediawiki-07.deployment-prep.eqiad1.wikimedia.cloud
- deployment-snapshot01.deployment-prep.eqiad1.wikimedia.cloud
- deployment-deploy01.deployment-prep.eqiad1.wikimedia.cloud
- deployment-deploy02.deployment-prep.eqiad1.wikimedia.cloud
- deployment-mwmaint01.deployment-prep.eqiad1.wikimedia.cloud
- deployment-mediawiki-parsoid10.deployment-prep.eqiad1.wikimedia.cloud
restbase-betacluster:
hosts:
- deployment-restbase01.deployment-prep.eqiad1.wikimedia.cloud
- deployment-restbase02.deployment-prep.eqiad1.wikimedia.cloud
webperf:
hosts:
- deployment-webperf11.deployment-prep.eqiad1.wikimedia.cloud
scap::sources:
gerrit/gerrit:
repository: operations/software/gerrit
gervert/deploy:
repository: operations/software/gerrit/tools/gervert/deploy
phabricator/deployment:
repository: phabricator/deployment
- adjust the deployment::server::rsync_host value to a host in your project
- adjust scap::sources to contain the scap3 projects you will be deploying
- run puppet (a couple times)
- run sudo -u trebuchet /usr/bin/scap deploy --init inside each of the repos under /srv/deployment/, so for example in /srv/deployment/gerrit/gerrit and so on but NOT in /srv/deployment/ directly.
- run git init in /srv/deployment
- run puppet again
See also
- User:BryanDavis/Scap3 in a Cloud VPS project
This article is issued from Wikimedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.