Skip to content

Commit b236103

Browse files
committed
Add multi-cell tripleo setup for adoption devel
In order to keep the HW requirments for development of multi-cell OSP 17.1 adoption for RHOSO 18, provide a reduced multi-stack footprint (which is supported in tripleo, yet not in OSP): undercloud: 1 VM overcloud: Controller0 ( 1 VM, no HA) cell1: Compute0, Compute1 (CellController1) ( 2 VMs) cell2: Compute2+CellController2 (AIO VM host) No Ceph/HCI support yet, TBD. Only a fixed number of cells (2 extra cells) supported yet. Add partial local dev envs support (given VMs preprovisioned): * Fix HOME paths to match the default user home from ssh opts (when it is 'zuul', the commands fail on the control node, when executed from another user name) * Add missing repo setup commands and notes from standalone.sh * Support RH registry auth env vars * Disable undercloud install validations (to allow deployments on low storage envs) * Fix tripleo network config to let it configure nodes in a local setup, where there is no pre-configured networks. * Unplug External network from roles file as CI infra does not provide a gateway for it, so tripleo networking fails ping test Add EDPM_CONFIGURE_NETWORKING to control tripleo networking configuration. Disable it for CI jobs. Should be enabled for local deployments. Add j2 bool filter support to jinja_render common func. Signed-off-by: Bohdan Dobrelia <[email protected]>
1 parent e895527 commit b236103

13 files changed

+949
-82
lines changed

devsetup/Makefile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,12 @@ BARBICAN_SERVICE_ENABLED ?= true
6666
MANILA_SERVICE_ENABLED ?= true
6767

6868
EDPM_TOTAL_NODES ?= 1
69+
RH_REGISTRY_USER ?= ""
70+
RH_REGISTRY_PWD ?= ""
6971
EDPM_COMPUTE_CEPH_ENABLED ?= true
72+
EDPM_COMPUTE_CELLS ?= 1
7073
EDPM_COMPUTE_CEPH_NOVA ?= true
74+
EDPM_CONFIGURE_NETWORKING ?= true
7175
EDPM_COMPUTE_SRIOV_ENABLED ?= true
7276
EDPM_COMPUTE_DHCP_AGENT_ENABLED ?= true
7377
EDPM_TOTAL_NETWORKERS ?= 1
@@ -452,6 +456,12 @@ edpm_deploy_instance: ## Spin a instance on edpm node
452456
.PHONY: tripleo_deploy
453457
tripleo_deploy: export CLOUD_DOMAIN=${DNS_DOMAIN}
454458
tripleo_deploy: export INTERFACE_MTU=${NETWORK_MTU}
459+
tripleo_deploy: export COMPUTE_CELLS=${EDPM_COMPUTE_CELLS}
460+
tripleo_deploy: export REGISTRY_USER ?= ${RH_REGISTRY_USER}
461+
tripleo_deploy: export REGISTRY_PWD ?= ${RH_REGISTRY_PWD}
462+
tripleo_deploy: export COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED}
463+
tripleo_deploy: export COMPUTE_CEPH_NOVA=${EDPM_COMPUTE_CEPH_NOVA}
464+
tripleo_deploy: export TRIPLEO_NETWORKING=${EDPM_CONFIGURE_NETWORKING}
455465
tripleo_deploy:
456466
$(eval $(call vars))
457467
scripts/tripleo.sh

devsetup/scripts/common.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,18 @@ function jinja2_render {
3333
j2_vars_file=$2
3434

3535
/usr/bin/python3 -c "
36-
import yaml
3736
import jinja2
37+
import os
38+
import yaml
3839
3940
with open('$j2_vars_file', 'r') as f:
4041
vars = yaml.safe_load(f.read())
4142
42-
with open('$j2_template_file', 'r') as f:
43-
template = f.read()
44-
45-
j2_template = jinja2.Template(template)
43+
loader = jinja2.FileSystemLoader(os.path.dirname('$j2_template_file'))
44+
env = jinja2.Environment(autoescape=True, loader=loader)
45+
env.filters['bool'] = bool
4646
47-
print(j2_template.render(**vars))
47+
print(env.get_template(os.path.basename('$j2_template_file')).render(**vars))
4848
"
4949
}
5050

devsetup/scripts/standalone.sh

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,8 @@ fi
6464

6565
source ${SCRIPTPATH}/common.sh
6666

67-
6867
# Clock synchronization is important for both Ceph and OpenStack services, so both ceph deploy and tripleo deploy commands will make use of chrony to ensure the clock is properly in sync.
69-
# We'll use the NTP_SERVER environmental variable to define the NTP server to use.
70-
# If we are running alls these commands in a system inside the Red Hat network we should use the clock.corp.redhat.com server:
71-
# export NTP_SERVER=clock.corp.redhat.com
72-
# And when running it from our own systems outside of the Red Hat network we can use any available server:
68+
# We'll use the NTP_SERVER environmental variable to define the NTP server to use, e.g.:
7369
# export NTP_SERVER=pool.ntp.org
7470

7571
if [[ ! -f $REPO_SETUP_CMDS ]]; then
@@ -126,7 +122,7 @@ __EOF__
126122
127123
export HOST_PRIMARY_RESOLV_CONF_ENTRY=${HOST_PRIMARY_RESOLV_CONF_ENTRY}
128124
export INTERFACE_MTU=${INTERFACE_MTU:-1500}
129-
export NTP_SERVER=${NTP_SERVER:-"clock.corp.redhat.com"}
125+
export NTP_SERVER=${NTP_SERVER:-"pool.ntp.org"}
130126
export EDPM_COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED:-true}
131127
export EDPM_COMPUTE_CEPH_NOVA=${EDPM_COMPUTE_CEPH_NOVA:-true}
132128
export CEPH_ARGS="${CEPH_ARGS:--e \$HOME/deployed_ceph.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm-rbd-only.yaml}"

devsetup/scripts/tripleo.sh

Lines changed: 129 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@ SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
2323
IP_ADRESS_SUFFIX=${IP_ADRESS_SUFFIX:-100}
2424
IP=${IP:-"${EDPM_COMPUTE_NETWORK_IP%.*}.${IP_ADRESS_SUFFIX}"}
2525
OS_NET_CONFIG_IFACE=${OS_NET_CONFIG_IFACE:-"nic1"}
26+
CLOUD_DOMAIN=${CLOUD_DOMAIN:-localdomain}
2627
GATEWAY=${GATEWAY:-"${EDPM_COMPUTE_NETWORK_IP}"}
2728
OUTPUT_DIR=${OUTPUT_DIR:-"${SCRIPTPATH}/../../out/edpm/"}
2829
SSH_KEY_FILE=${SSH_KEY_FILE:-"${OUTPUT_DIR}/ansibleee-ssh-key-id_rsa"}
2930
SSH_OPT="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i $SSH_KEY_FILE"
3031
REPO_SETUP_CMDS=${REPO_SETUP_CMDS:-"${MY_TMP_DIR}/standalone_repos"}
3132
CMDS_FILE=${CMDS_FILE:-"${MY_TMP_DIR}/standalone_cmds"}
3233
SKIP_TRIPLEO_REPOS=${SKIP_TRIPLEO_REPOS:="false"}
34+
TRIPLEO_NETWORKING=${TRIPLEO_NETWORKING:-true}
3335
MANILA_ENABLED=${MANILA_ENABLED:-true}
3436
OCTAVIA_ENABLED=${OCTAVIA_ENABLED:-false}
3537
TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
@@ -39,43 +41,88 @@ if [[ ! -f $SSH_KEY_FILE ]]; then
3941
exit 1
4042
fi
4143

44+
sudo dnf install -y python-jinja2
4245
source ${SCRIPTPATH}/common.sh
4346

47+
# Clock synchronization is important for both Ceph and OpenStack services, so both ceph deploy and tripleo deploy commands will make use of chrony to ensure the clock is properly in sync.
48+
# We'll use the NTP_SERVER environmental variable to define the NTP server to use, e.g.:
49+
# export NTP_SERVER=pool.ntp.org
50+
51+
if [ $EDPM_COMPUTE_CELLS -eq 2 ] || [ $EDPM_COMPUTE_CELLS -gt 3 ] || [ $EDPM_COMPUTE_CELLS -eq 0 ] ; then
52+
echo "Only a main cell0 plus a 2 additional compute cells supported yet!"
53+
exit 1
54+
fi
55+
56+
# TODO(bogdando): multi-cell with ceph HCI
57+
if [ $EDPM_COMPUTE_CELLS -eq 3 ] && [[ "$EDPM_COMPUTE_CEPH_ENABLED" == "true" ]]; then
58+
echo "Ceph storage is not supported for multi-cell setup yet!"
59+
exit 1
60+
fi
61+
4462
if [[ -e /run/systemd/resolve/resolv.conf ]]; then
4563
HOST_PRIMARY_RESOLV_CONF_ENTRY=$(cat /run/systemd/resolve/resolv.conf | grep ^nameserver | grep -v "${EDPM_COMPUTE_NETWORK_IP%.*}" | head -n1 | cut -d' ' -f2)
4664
else
4765
HOST_PRIMARY_RESOLV_CONF_ENTRY=${HOST_PRIMARY_RESOLV_CONF_ENTRY:-$GATEWAY}
4866
fi
4967

50-
if [[ ! -f $CMDS_FILE ]]; then
51-
cat <<EOF > $CMDS_FILE
68+
set +x
69+
cat <<EOF > $MY_TMP_DIR/.standalone_env_file
70+
export RH_REGISTRY_USER="$REGISTRY_USER"
71+
export RH_REGISTRY_PWD="$RH_REGISTRY_PWD"
72+
EOF
73+
chmod 0600 $MY_TMP_DIR/.standalone_env_file
74+
75+
cat <<EOF > $CMDS_FILE
76+
. \$HOME/.standalone_env_file
77+
5278
set -ex
5379
sudo dnf install -y podman python3-tripleoclient util-linux lvm2
5480
5581
sudo hostnamectl set-hostname undercloud.localdomain
5682
sudo hostnamectl set-hostname undercloud.localdomain --transient
5783
84+
cat >\$HOME/nova_noceph.yaml <<__EOF__
85+
parameter_defaults:
86+
NovaEnableRbdBackend: false
87+
__EOF__
88+
5889
export HOST_PRIMARY_RESOLV_CONF_ENTRY=${HOST_PRIMARY_RESOLV_CONF_ENTRY}
5990
export INTERFACE_MTU=${INTERFACE_MTU:-1500}
60-
export NTP_SERVER=${NTP_SERVER:-"clock.corp.redhat.com"}
91+
export NTP_SERVER=${NTP_SERVER:-"pool.ntp.org"}
6192
export IP=${IP}
6293
export GATEWAY=${GATEWAY}
63-
export EDPM_COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED:-false}
64-
export CEPH_ARGS="${CEPH_ARGS:--e \$HOME/deployed_ceph.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm.yaml}"
94+
export EDPM_COMPUTE_CEPH_ENABLED=${COMPUTE_CEPH_ENABLED:-false}
95+
export EDPM_COMPUTE_CEPH_NOVA=${COMPUTE_CEPH_NOVA:-false}
96+
export CEPH_ARGS="${CEPH_ARGS:--e \$HOME/deployed_ceph.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm-rbd-only.yaml}"
97+
[[ "\$EDPM_COMPUTE_CEPH_NOVA" == "false" ]] && export CEPH_ARGS="\${CEPH_ARGS} -e \$HOME/nova_noceph.yaml"
98+
export EDPM_COMPUTE_CELLS=${COMPUTE_CELLS:-1}
6599
export MANILA_ENABLED=${MANILA_ENABLED:-true}
66100
export OCTAVIA_ENABLED=${OCTAVIA_ENABLED}
67101
export TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
68102
103+
set +x
69104
if [[ -f \$HOME/containers-prepare-parameters.yaml ]]; then
70105
echo "Using existing containers-prepare-parameters.yaml - contents:"
71106
cat \$HOME/containers-prepare-parameters.yaml
72107
else
108+
login_args=" "
109+
[ "\$RH_REGISTRY_USER" ] && [ -n "\$RH_REGISTRY_PWD" ] && login_args="--enable-registry-login"
73110
openstack tripleo container image prepare default \
74-
--output-env-file \$HOME/containers-prepare-parameters.yaml
111+
--output-env-file \$HOME/containers-prepare-parameters.yaml \${login_args}
75112
# Use wallaby el9 container images
76113
sed -i 's|quay.io/tripleowallaby$|quay.io/tripleowallabycentos9|' \$HOME/containers-prepare-parameters.yaml
77114
fi
78115
116+
if [ "\$RH_REGISTRY_USER" ] && [ -n "\$RH_REGISTRY_PWD" ]; then
117+
grep -q ContainerImageRegistryCredentials \$HOME/containers-prepare-parameters.yaml || \
118+
cat >> \$HOME/containers-prepare-parameters.yaml <<__EOF__
119+
ContainerImageRegistryCredentials:
120+
registry.redhat.io:
121+
\${RH_REGISTRY_USER}: \$RH_REGISTRY_PWD
122+
__EOF__
123+
fi
124+
set -x
125+
79126
# Use os-net-config to add VLAN interfaces which connect edpm-compute-0 to the isolated networks configured by install_yamls.
80127
sudo mkdir -p /etc/os-net-config
81128
@@ -84,6 +131,7 @@ network:
84131
config: disabled
85132
__EOF__
86133
134+
cell=\$(( IP_ADRESS_SUFFIX - 100 ))
87135
sudo systemctl enable network
88136
sudo cp /tmp/net_config.yaml /etc/os-net-config/config.yaml
89137
sudo os-net-config -c /etc/os-net-config/config.yaml
@@ -97,14 +145,15 @@ popd
97145
# is not true, the script will return 0 and cause an error in CI
98146
exit 0
99147
EOF
100-
fi
101148

102149
while [[ $(ssh -o BatchMode=yes -o ConnectTimeout=5 $SSH_OPT root@$IP echo ok) != "ok" ]]; do
103150
sleep 5
104151
true
105152
done
106153

107154
# Render Jinja2 files
155+
# FIXME: .99 undercloud IP cannot be changed https://review.rdoproject.org/cgit/rdo-jobs/tree/playbooks/data_plane_adoption/setup_tripleo_os_net_config.yaml#n6
156+
# TODO(bogdnado): introduce CLOUD_USER var to remove all hardcoded 'zuul' values from these scripts
108157
PRIMARY_RESOLV_CONF_ENTRY=${HOST_PRIMARY_RESOLV_CONF_ENTRY}
109158
J2_VARS_FILE=$(mktemp --suffix=".yaml" --tmpdir="${MY_TMP_DIR}")
110159
cat << EOF > ${J2_VARS_FILE}
@@ -117,39 +166,93 @@ ip_address_suffix: ${IP_ADRESS_SUFFIX}
117166
interface_mtu: ${INTERFACE_MTU:-1500}
118167
ntp_server: ${NTP_SERVER}
119168
gateway_ip: ${GATEWAY}
169+
manage_default_route: ${TRIPLEO_NETWORKING}
120170
dns_server: ${PRIMARY_RESOLV_CONF_ENTRY}
121-
user_home: ${HOME}
171+
user_home: /home/zuul
122172
EOF
123173

124-
jinja2_render tripleo/net_config.j2 "${J2_VARS_FILE}" > ${MY_TMP_DIR}/net_config.yaml
125-
jinja2_render tripleo/undercloud.conf.j2 "${J2_VARS_FILE}" > ${MY_TMP_DIR}/undercloud.conf
174+
jinja2_render ${SCRIPTPATH}/../tripleo/undercloud.conf.j2 "${J2_VARS_FILE}" > ${MY_TMP_DIR}/undercloud.conf
175+
jinja2_render ${SCRIPTPATH}/../tripleo/net_config.j2 "${J2_VARS_FILE}" > ${MY_TMP_DIR}/net_config.yaml
176+
# NOTE(bogdando): no computes supported in the cetnral overcloud stack in OSP.
177+
# Reduced footprint for adoption dev envs: no HA controllers, an all-in-one host in the cell 2
178+
ind=0
179+
if [ $EDPM_COMPUTE_CELLS -gt 1 ]; then
180+
for cell in $(seq 0 $(( EDPM_COMPUTE_CELLS - 1))); do
181+
aio_count=0
182+
contr_count=0
183+
cell_contr_count=1
184+
comp_count=1
185+
if [ $cell -eq 0 ]; then
186+
contr_count=1
187+
cell_contr_count=0
188+
comp_count=0
189+
fi
190+
if [ $cell -ge 2 ]; then
191+
aio_count=1
192+
cell_contr_count=0
193+
comp_count=0
194+
fi
195+
196+
J2_VARS_FILE=$(mktemp --suffix=".yaml" --tmpdir="${MY_TMP_DIR}")
197+
cat << EOF > ${J2_VARS_FILE}
198+
---
199+
cell: ${cell}
200+
ind: ${ind}
201+
max_cells: ${EDPM_COMPUTE_CELLS}
202+
cloud_domain: ${CLOUD_DOMAIN}
203+
aio_count: ${aio_count}
204+
comp_count: ${comp_count}
205+
cell_contr_count: ${cell_contr_count}
206+
contr_count: ${contr_count}
207+
gateway_ip: ${GATEWAY}
208+
dns_server: ${PRIMARY_RESOLV_CONF_ENTRY}
209+
tripleo_networking: ${TRIPLEO_NETWORKING}
210+
EOF
211+
jinja2_render "${SCRIPTPATH}/../tripleo/network_data_cell.j2" "${J2_VARS_FILE}" > ${MY_TMP_DIR}/network_data${cell}.yaml
212+
jinja2_render "${SCRIPTPATH}/../tripleo/vips_data_cell.j2" "${J2_VARS_FILE}" > ${MY_TMP_DIR}/vips_data${cell}.yaml
213+
jinja2_render "${SCRIPTPATH}/../tripleo/overcloud_services_cell.j2" "${J2_VARS_FILE}" > ${MY_TMP_DIR}/overcloud_services_cell${cell}.yaml
214+
jinja2_render "${SCRIPTPATH}/../tripleo/config-download-multistack.j2" "${J2_VARS_FILE}" > ${MY_TMP_DIR}/config-download-cell${cell}.yaml
215+
ind=$(( ind + 1 ))
216+
done
217+
fi
126218

127219
# Copying files
128-
scp $SSH_OPT $REPO_SETUP_CMDS root@$IP:/tmp/repo-setup.sh
220+
[ -f $REPO_SETUP_CMDS ] && scp $SSH_OPT $REPO_SETUP_CMDS root@$IP:/tmp/repo-setup.sh
221+
scp $SSH_OPT $MY_TMP_DIR/.standalone_env_file zuul@$IP:.standalone_env_file
129222
scp $SSH_OPT $CMDS_FILE zuul@$IP:/tmp/undercloud-deploy-cmds.sh
130223
scp $SSH_OPT ${MY_TMP_DIR}/net_config.yaml root@$IP:/tmp/net_config.yaml
131-
scp $SSH_OPT tripleo/tripleo_install.sh zuul@$IP:$HOME/tripleo_install.sh
132-
scp $SSH_OPT tripleo/hieradata_overrides_undercloud.yaml zuul@$IP:$HOME/hieradata_overrides_undercloud.yaml
133-
scp $SSH_OPT tripleo/undercloud-parameter-defaults.yaml zuul@$IP:$HOME/undercloud-parameter-defaults.yaml
134-
scp $SSH_OPT ${MY_TMP_DIR}/undercloud.conf zuul@$IP:$HOME/undercloud.conf
135-
scp $SSH_OPT tripleo/network_data.yaml zuul@$IP:$HOME/network_data.yaml
136-
scp $SSH_OPT tripleo/vips_data.yaml zuul@$IP:$HOME/vips_data.yaml
137-
scp $SSH_OPT tripleo/config-download.yaml zuul@$IP:$HOME/config-download.yaml
138-
scp $SSH_OPT tripleo/config-download-networker.yaml zuul@$IP:$HOME/config-download-networker.yaml
139-
scp $SSH_OPT tripleo/overcloud_roles.yaml zuul@$IP:$HOME/overcloud_roles.yaml
140-
scp $SSH_OPT tripleo/overcloud_services.yaml zuul@$IP:$HOME/overcloud_services.yaml
141-
scp $SSH_OPT tripleo/ansible_config.cfg zuul@$IP:$HOME/ansible_config.cfg
224+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/tripleo_install.sh zuul@$IP:tripleo_install.sh
225+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/hieradata_overrides_undercloud.yaml zuul@$IP:hieradata_overrides_undercloud.yaml
226+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/undercloud-parameter-defaults.yaml zuul@$IP:undercloud-parameter-defaults.yaml
227+
scp $SSH_OPT ${MY_TMP_DIR}/undercloud.conf zuul@$IP:undercloud.conf
228+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/config-download-networker.yaml zuul@$IP:config-download-networker.yaml
229+
if [ $EDPM_COMPUTE_CELLS -gt 1 ]; then
230+
for cell in $(seq 0 $(( EDPM_COMPUTE_CELLS - 1))); do
231+
scp $SSH_OPT ${MY_TMP_DIR}/vips_data${cell}.yaml zuul@$IP:vips_data${cell}.yaml
232+
scp $SSH_OPT ${MY_TMP_DIR}/network_data${cell}.yaml zuul@$IP:network_data${cell}.yaml
233+
scp $SSH_OPT ${MY_TMP_DIR}/overcloud_services_cell${cell}.yaml zuul@$IP:overcloud_services_cell${cell}.yaml
234+
scp $SSH_OPT ${MY_TMP_DIR}/config-download-cell${cell}.yaml zuul@$IP:config-download-cell${cell}.yaml
235+
done
236+
else
237+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/vips_data.yaml zuul@$IP:vips_data.yaml
238+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/network_data.yaml zuul@$IP:network_data.yaml
239+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/overcloud_services.yaml zuul@$IP:overcloud_services.yaml
240+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/config-download.yaml zuul@$IP:config-download.yaml
241+
fi
242+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/overcloud_roles.yaml zuul@$IP:overcloud_roles.yaml
243+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/overcloud_services.yaml zuul@$IP:overcloud_services.yaml
244+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/ansible_config.cfg zuul@$IP:ansible_config.cfg
142245
if [[ "$EDPM_COMPUTE_CEPH_ENABLED" == "true" ]]; then
143-
scp $SSH_OPT tripleo/ceph.sh root@$IP:/tmp/ceph.sh
144-
scp $SSH_OPT tripleo/generate_ceph_inventory.py root@$IP:/tmp/generate_ceph_inventory.py
246+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/ceph.sh root@$IP:/tmp/ceph.sh
247+
scp $SSH_OPT ${SCRIPTPATH}/../tripleo/generate_ceph_inventory.py root@$IP:/tmp/generate_ceph_inventory.py
145248
fi
146249

147250
if [[ -f $HOME/containers-prepare-parameters.yaml ]]; then
148-
scp $SSH_OPT $HOME/containers-prepare-parameters.yaml zuul@$IP:$HOME/containers-prepare-parameters.yaml
251+
scp $SSH_OPT $HOME/containers-prepare-parameters.yaml zuul@$IP:containers-prepare-parameters.yaml
149252
fi
150253

151254
# Running
152255
if [[ -z ${SKIP_TRIPLEO_REPOS} || ${SKIP_TRIPLEO_REPOS} == "false" ]]; then
153-
ssh $SSH_OPT root@$IP "bash /tmp/repo-setup.sh"
256+
[ -f $REPO_SETUP_CMDS ] && ssh $SSH_OPT root@$IP "bash /tmp/repo-setup.sh"
154257
fi
155258
ssh $SSH_OPT zuul@$IP "bash /tmp/undercloud-deploy-cmds.sh"

0 commit comments

Comments
 (0)