username-removed-29582Marked the task 1 Database server (that can be a bit smaller that the one we have) as completed
Marked the task 1 Database server (that can be a bit smaller that the one we have) as completed
username-removed-29582Marked the task 1 small NFS/Ceph server/cluster (we could use the one that is in dev.gitlab.org) as completed
Marked the task 1 small NFS/Ceph server/cluster (we could use the one that is in dev.gitlab.org) as completed
username-removed-29582Marked the task Some way to deploy in this environment that is easy for developers - I can take the idea of having only release managers doing it. as completed
Marked the task Some way to deploy in this environment that is easy for developers - I can take the idea of having only release managers doing it. as completed
This basically nukes private data for non @gitlab.com users. However, this does mean that if you use a different Email address your data is nuked. Alternatively we can whitelist a number of usernames, but this means we'll have to update that list every time people join/leave the company. Another option is to not nuke data for those in the gitlab-com group.
We should probably set RAILS_ENV=staging and add a config/environments/staging.rb file to disable things like sending emails.
The Gitlab.com? method will return false on staging.gitlab.com, which will cause non-parity with production. I think this is only used by Devise emails right now so it's not a big deal, but something to think about.
username-removed-29582Marked the task A restore of the database backup (consider restoring every weekend automatically, so we also test database backup restore) as completed
Marked the task A restore of the database backup (consider restoring every weekend automatically, so we also test database backup restore) as completed
username-removed-29582Marked the task The git data of gitlab-com and gitlab-org in the storage up to date with the database restore as completed
Marked the task The git data of gitlab-com and gitlab-org in the storage up to date with the database restore as completed
I will focus on other urgent issues now since we do have a staging environment and documentation how to refresh the data and deploy.
We should come up with a more easier way to deploy for developers and to refresh data automatically.
Ok well the database recovery takes to much time so I will rsync the repository and database data which is much faster after initial sync.
I will setup rsync in a way so we can automate this later on.
It is an interesting test to run the whole restoration of the database to have a metric of how much time would it take to rebuild GitLab.com from backups in case of a full crash.
@rspeicher I think that the cookbooks are the same we use for production, there is not a specific one for staging.
If we need to make a change to use a different sentry (or performance) then we need to review how is that setup (and maybe write somewhere how to do it?)
DNS should be handled in route53.
Regarding the last point, could you provide a script tho manage what should be changed/destroyed before allowing everybody to log in and setting staging as available?
@pcarranza the restore took 4 hours and some minutes...way too long
So basically after every data refresh the following should be run before staring gitlab:
WebHook.destroy_allUser.find_each do |user| user.blockendGroup.find_by(name: 'GitLab.com').group_members.each do | member | user = User.find_by(id: member.user_id) user.activateendsettings = Gitlab.current_application_settingssettings.sentry_dsn = 'bla bla sentry bla'settings.save