Updated dev-minimal to deploy behind proxy
Updated the deploy-airship.sh to automatically configure docker to work behind proxy. Updated README.txt to add internal dns servers for name resolution behind proxies. Change-Id: Ibc0bb6e291b8405a27232a2fbe3c384917b5e52c
This commit is contained in:
parent
addae679e0
commit
5105d3c9ce
|
@ -52,6 +52,11 @@ export WORKSPACE=${WORKSPACE:-"/root/deploy"}
|
|||
# The site to deploy
|
||||
TARGET_SITE=${TARGET_SITE:-"dev"}
|
||||
|
||||
# Setup blank defaults for proxy variables
|
||||
http_proxy=${http_proxy:-""}
|
||||
https_proxy=${https_proxy:-""}
|
||||
no_proxy=${no_proxy:-""}
|
||||
|
||||
# The host name for the single-node deployment. e.g.: 'genesis'
|
||||
SHORT_HOSTNAME=${SHORT_HOSTNAME:-""}
|
||||
# The host ip for this single-node deployment. e.g.: '10.0.0.9'
|
||||
|
@ -122,6 +127,34 @@ function setup_workspace() {
|
|||
chmod -R 777 ${WORKSPACE}/genesis
|
||||
}
|
||||
|
||||
function configure_docker() {
|
||||
if [[ ! -z "${https_proxy}" ]] || [[ ! -z "${http_proxy}" ]]
|
||||
then
|
||||
echo "Configuring Docker to use a proxy..."
|
||||
mkdir -p /etc/systemd/system/docker.service.d/
|
||||
cat << EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
|
||||
[Service]
|
||||
Environment="HTTP_PROXY=${http_proxy}"
|
||||
Environment="HTTPS_PROXY=${https_proxy}"
|
||||
Environment="NO_PROXY=${no_proxy}"
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl restart docker
|
||||
fi
|
||||
}
|
||||
|
||||
function configure_apt() {
|
||||
if [[ ! -z "${https_proxy}" ]] || [[ ! -z "${http_proxy}" ]]
|
||||
then
|
||||
echo "Configuring apt to use a proxy..."
|
||||
mkdir -p /etc/apt/
|
||||
cat << EOF > /etc/apt/apt.conf
|
||||
Acquire::http::proxy "${http_proxy}";
|
||||
Acquire::https::proxy "${https_proxy}";
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
function get_repo() {
|
||||
# Setup a repository in the workspace
|
||||
#
|
||||
|
@ -183,8 +216,9 @@ function generate_certs() {
|
|||
cp "${WORKSPACE}/collected"/*.yaml ${WORKSPACE}/genesis
|
||||
|
||||
docker run --rm -t \
|
||||
-e http_proxy=$PROXY \
|
||||
-e https_proxy=$PROXY \
|
||||
-e http_proxy=$http_proxy \
|
||||
-e https_proxy=$https_proxy \
|
||||
-e no_proxy=$no_proxy \
|
||||
-w /target \
|
||||
-e PROMENADE_DEBUG=false \
|
||||
-v ${WORKSPACE}/genesis:/target \
|
||||
|
@ -206,8 +240,9 @@ function lint_design() {
|
|||
function generate_genesis() {
|
||||
# Generate the genesis scripts
|
||||
docker run --rm -t \
|
||||
-e http_proxy=$PROXY \
|
||||
-e https_proxy=$PROXY \
|
||||
-e http_proxy=$http_proxy \
|
||||
-e https_proxy=$https_proxy \
|
||||
-e no_proxy=$no_proxy \
|
||||
-w /target \
|
||||
-e PROMENADE_DEBUG=false \
|
||||
-v ${WORKSPACE}/genesis:/target \
|
||||
|
@ -343,10 +378,12 @@ trap clean EXIT
|
|||
|
||||
# Common steps for all breakpoints specified
|
||||
check_preconditions || error "checking for preconditions"
|
||||
configure_apt || error "configuring apt behind proxy"
|
||||
setup_workspace || error "setting up workspace directories"
|
||||
setup_repos || error "setting up Git repos"
|
||||
configure_dev_configurables || error "adding dev-configurables values"
|
||||
install_dependencies || error "installing dependencies"
|
||||
configure_docker || error "configuring docker behind proxy"
|
||||
|
||||
# collect
|
||||
if [[ ${STEP_BREAKPOINT} -ge 10 ]]; then
|
||||
|
|
|
@ -28,7 +28,20 @@ Process
|
|||
recommended. 32GB of disk is enough, use more if you plan on doing any
|
||||
extended use.
|
||||
2) Become root. All the commands are run as root.
|
||||
3) Update etc/hosts with IP/Hostname of your VM. e.g. 10.0.0.15 testvm1
|
||||
3) Update etc/hosts with IP/Hostname of your VM. e.g. 10.0.0.15 testvm1.
|
||||
Note: If running this behind a corporate proxy, you will need to update the
|
||||
/etc/environment file, and append your proxy configurtion there.
|
||||
Then you will need to source the /etc/environment to set the proxy
|
||||
environment.
|
||||
For instance, you will need to add following lines in the
|
||||
/etc/environment file, and then source it:
|
||||
export http_proxy="your.proxy.address:port"
|
||||
export https_proxy="your.proxy.address:port"
|
||||
export no_proxy=".foo.com,.cluster.local,localhost,127.0.0.0/8,10.0.0.0/24"
|
||||
export HTTP_PROXY="http://your.proxy.address:port"
|
||||
export HTTPS_PROXY="http://your.proxy.address:port"
|
||||
export NO_PROXY=".foo.com,.cluster.local,localhost,127.0.0.0/8,10.0.0.0/24"
|
||||
|
||||
4) go to /root/deploy and clone airship-in-a-bottle. Switch to a target
|
||||
patchset if needed
|
||||
4a) If you use a directory other than /root/deploy, /root/deploy will be
|
||||
|
@ -40,8 +53,11 @@ Process
|
|||
|
||||
NOTE: If running this behind a corporate proxy, you will need to update the
|
||||
file deployment_files/site/dev-proxy/networks/common-addresses.yaml to
|
||||
specify your proxy server and appropriate no_proxy list. Also change
|
||||
set-env.sh to use TARGET_SITE of 'dev-proxy'.
|
||||
specify your proxy server and appropriate no_proxy list. In this file,
|
||||
also update the dns list, and add your corporate name servers to the
|
||||
dns list. This is done for name resolution of internal corporate
|
||||
addresses behind the proxy.
|
||||
Also change set-env.sh to use TARGET_SITE of 'dev-proxy'.
|
||||
|
||||
8) ../common/deploy-airship.sh
|
||||
You may sepecify a target point to stop the deployment by using an argument of
|
||||
|
|
Loading…
Reference in New Issue