Closed Bug 788652 Opened 12 years ago Closed 12 years ago

Bouncer dev/stage app config in new bouncer cluster

Categories

(Infrastructure & Operations Graveyard :: WebOps: Other, task, P1)

x86
Linux

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: cshields, Assigned: cturra)

References

Details

(Whiteboard: [2012q3][triaged 20120907])

The bouncer app needs setup in its new home in dev and stage.  See also the zeus config in 788648.

Dev and stage will need new DBs setup in the dev cluster (788651).  Prod will be setup to use the existing DB cluster and there will be another bug for it as we need dev/stage quickly to facilitate development, while prod will need a carefully orchestrated cutover.

Dev should be configured to update automatically and regularly.  Stage should be static.
Assignee: server-ops-webops → cturra
Whiteboard: [2012q3][pending triage] → [2012q3][triaged 20120907]
:wenzel - i have the new bouncer cluster kickstarted and ready to go for the apps. when you return, please hit me up on irc so we can work through the app deploy in dev/stage. also, i recall we had discussed moving bouncer from subversion to github during this setup.
CCing Anthony and Brandon, who are working on Bouncer.
dev environment update! i have completed the bouncer setup (download-dev.allizom.org) and have started work on tuxedo. i would will likely be reaching out to you guys tomorrow to chat about some requirements that i suspect we need to push to submodules.
Status: NEW → ASSIGNED
Anthony / Brandon - i have completed the basic setup and configuration for tuxedo. at this point, it looks like we're going to need to review the submodules/vendor libraries.

when i run `git submodule init` and subsequently `git submodule update --init --recursive` i am not actually seeing any vendor libraries come back. at least at first glace.

would either of you be available today to poke around at it with me?
I'm not available today. I can do tomorrow. Remember I'm based in France so US mornings work better for me.
:rik - we can touch base in the morning for sure, but in my absence (timezone difference, gah!) what we're looking to do is put most of the requirements into vendor/. 

currently, i have MySQL-python and python-memcached rpm installed. we should get the others added as submodules. i have been working from this list:

  https://github.com/fwenzel/tuxedo/blob/master/requirements.txt
Whiteboard: [2012q3][triaged 20120907] → [2012q3][triaged 20120907][waiting webdev]
Depends on: 664195
This app predates playdoh so it didn't have a vendor directory. The requirements should be installed into the virtualenv, or optionally you can pull them down into a directory that you place into the path. Otherwise, this is just a django app which assumes django is installed into the environment.
:brandon - we do not support virtualenv and pip on our web clusters for a number of reasons. primarily appsec has concerns about pip package signing. 

to complete this deployment we will require application specific requirements to be managed with git submodules similar to bedrock and other applications that run on our standard web clusters.
I see that :Rik has made another bug on this issue a blocker; I'm going to resolve that bug immediately which should resolve the issue you have.
I've made good progress today on getting this done, but I'm up against a couple of things blocking me.

Fred Wenzel will be changing ownership of the tuxedo repository to Mozilla on Github, and creating a new repository for vendor files. Once that's done you should be able to check out a vendor directory like most other projects.

I'll also create a standard requirements directory with dev, prod and compiled.

ETA for this to be complete is tomorrow afternoon Eastern.
:brandon - thnx for the update! feel free to hit me up at any point tomorrow if you have questions or want to test this out when you're ready :) you can find me on irc as cturra
Let's plan to work on this tomorrow afternoon, so that I can respond to any problems you have without going back and forth in the bug.
This afternoon, cturra and I spent a few hours working through the bugs. The app now stands up on dev, and we have a process in place to get it deployed to stage. We are presently blocked on getting user accounts for dev as neither of us is sure how to do this.
i have managed to get myself access to this environment and have done some testing. i have found that when we attempt to add a new mirror, the exception is returned:

  (1054, "Unknown column 'geoip_regions.fallback_id' in 'field list'")


:brandon - i can put the environment into DEBUG tomorrow to run through this with you.
fallback_id is a foreign key to the geoip_regions table. I'll work with you tomorrow to get SQL to make this work. It's probably due to the fact that your database came from prod and there are SQL changes to be applied.
we solved the database traceback with the following queries to update the schema...

mysql> ALTER TABLE `geoip_regions` ADD COLUMN `fallback_id` integer;
mysql> ALTER TABLE `geoip_regions` ADD CONSTRAINT `fallback_id_refs_id_e6bfe66d` FOREIGN KEY (`fallback_id`) REFERENCES `geoip_regions` (`id`);
mysql> CREATE INDEX `geoip_regions_e28329c2` ON `geoip_regions` (`fallback_id`);
mysql> ALTER TABLE geoip_regions ADD COLUMN prevent_global_fallback int(1) NULL;


looks like -dev is complete and will start setting up -stage this afternoon!
stage now also complete! 

 tuxedo:
  https://bounceradmin.allizom.org

 boucer:
  https://download.allizom.org
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Whiteboard: [2012q3][triaged 20120907][waiting webdev] → [2012q3][triaged 20120907]
Woo, nice work!
Component: Server Operations: Web Operations → WebOps: Other
Product: mozilla.org → Infrastructure & Operations
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in before you can comment on or make changes to this bug.