**Backend Testing Add Hosts entry**\\
vi /etc/hosts \\
207.20.42.196 test.learnexa.com #for prodapp04 not required vpn \\
**step1**
Install maintenance page
login to prodapp01 as expprodl appuser
/home/expprodl/crossbow
./runcap.sh
Select Target environment
1). Staging
2). Production
Enter target environment number [1,2]: 2
Select Cap Task
1). deploy (Use this for incremental code deployments)
2). deploy:setup (Use this to setup the necessary application folders)
3). deploy:check (Use this to verify application folder setup)
4). deploy:cold
5). deploy:migrate
6). deploy:restart
7). deploy:update
8). deploy:web:enable (Use this to remove maintenance page, all app servers are enabled)
9). deploy:web:disable (Use this to install maintenance page, public access to all app servers is disabled)
Enter Cap Task number [1-9]: 9
need to change like mentioned below for memcache
login to prodapp03
ssh expprodl@10.166.152.14
vi /deploy/crossbow/current/config/environments/production.rb
from
config.cache_store = :dalli_store, "10.166.152.11"
to
config.cache_store = :dalli_store, "10.166.152.22"
restart passenger , god stop and start services on prodapp03
/deploy/systasks/god.sh stop
/deploy/systasks/god.sh start
/deploy/systasks/god.sh status #to know god status
#to restart passenger
cd /deploy/crossbow/current/
touch tmp/restart.txt
**step2**
add below changes /opt/haproxy/haproxy.cfg
From
backend deploy_testing_learnexa
balance roundrobin
option httplog
option forwardfor
cookie SERVERID insert indirect
source 10.166.152.242
#timeout client 150000ms
timeout connect 35000ms
timeout server 8m
option httpchk HEAD /contact-us/new HTTP/1.1\r\nHost:\ www.learnexa.com\r\nUser-Agent:\ HaProxy
server prodapp01 10.166.152.11:80 check port 80 cookie app1 maxconn 31 inter 5000 rise 2 fall 3
# server prodapp04 10.166.152.22:80 check port 80 cookie app4 maxconn 31 inter 5000 rise 2 fall 3
TO
backend deploy_testing_learnexa
balance roundrobin
option httplog
option forwardfor
cookie SERVERID insert indirect
source 10.166.152.242
#timeout client 150000ms
timeout connect 35000ms
timeout server 8m
option httpchk HEAD /contact-us/new HTTP/1.1\r\nHost:\ www.learnexa.com\r\nUser-Agent:\ HaProxy
# server prodapp01 10.166.152.11:80 check port 80 cookie app1 maxconn 31 inter 5000 rise 2 fall 3
server prodapp04 10.166.152.22:80 check port 80 cookie app4 maxconn 31 inter 5000 rise 2 fall 3
haproxy reload
/etc/init.d/haproxy reload
After validation completed do below
*********************************************************************************************************************************
This is for adding prodapp04 and remove prodapp01 server live for public
add below changes /opt/haproxy/haproxy.cfg
FROM
backend learnexa
balance roundrobin
option httplog
option forwardfor
cookie SERVERID insert indirect
source 10.166.152.246
#timeout client 150000ms
timeout connect 35000ms
timeout server 8m
option httpchk HEAD /contact-us/new HTTP/1.1\r\nHost:\ www.learnexa.com\r\nUser-Agent:\ HaProxy
server prodapp01 10.166.152.11:80 check port 80 cookie app1 maxconn 31 inter 5000 rise 2 fall 3
server prodapp03 10.166.152.14:80 check port 80 cookie app3 maxconn 31 inter 5000 rise 2 fall 3
TO
backend learnexa
balance roundrobin
option httplog
option forwardfor
cookie SERVERID insert indirect
source 10.166.152.246
#timeout client 150000ms
timeout connect 35000ms
timeout server 8m
option httpchk HEAD /contact-us/new HTTP/1.1\r\nHost:\ www.learnexa.com\r\nUser-Agent:\ HaProxy
server prodapp01 10.166.152.11:80 check port 80 cookie app1 maxconn 31 inter 5000 rise 2 fall 3
server prodapp04 10.166.152.22:80 check port 80 cookie app4 maxconn 31 inter 5000 rise 2 fall 3
#haproxy reload
/etc/init.d/haproxy reload
Remove maintenance page
login to prodapp01 as expprodl appuser
/home/expprodl/crossbow
./runcap.sh
Select Target environment
1). Staging
2). Production
Enter target environment number [1,2]: 2
Select Cap Task
1). deploy (Use this for incremental code deployments)
2). deploy:setup (Use this to setup the necessary application folders)
3). deploy:check (Use this to verify application folder setup)
4). deploy:cold
5). deploy:migrate
6). deploy:restart
7). deploy:update
8). deploy:web:enable (Use this to remove maintenance page, all app servers are enabled)
9). deploy:web:disable (Use this to install maintenance page, public access to all app servers is disabled)
Enter Cap Task number [1-9]: 8