aboutsummaryrefslogtreecommitdiff
path: root/contrib/dev/vagrant/bootstrap.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/dev/vagrant/bootstrap.sh')
-rw-r--r--contrib/dev/vagrant/bootstrap.sh57
1 files changed, 51 insertions, 6 deletions
diff --git a/contrib/dev/vagrant/bootstrap.sh b/contrib/dev/vagrant/bootstrap.sh
index 087b02085..a49226318 100644
--- a/contrib/dev/vagrant/bootstrap.sh
+++ b/contrib/dev/vagrant/bootstrap.sh
@@ -11,6 +11,10 @@ MODE=$2
KOLLA_PATH=$3
KOLLA_ANSIBLE_PATH=$4
KOLLA_CLI_PATH=$5
+NUMBER_OF_COMPUTE_NODES=$6
+NUMBER_OF_STORAGE_NODES=$7
+NUMBER_OF_NETWORK_NODES=$8
+NUMBER_OF_CONTROL_NODES=$9
export http_proxy=
export https_proxy=
@@ -151,14 +155,54 @@ function configure_kolla {
# Use local docker registry
sed -i -r "s,^[# ]*namespace *=.+$,namespace = ${REGISTRY}/lokolla," /etc/kolla/kolla-build.conf
sed -i -r "s,^[# ]*push *=.+$,push = True," /etc/kolla/kolla-build.conf
- sed -i -r "s,^[# ]*docker_registry:.+$,docker_registry: \"${REGISTRY}\"," /etc/kolla/globals.yml
- sed -i -r "s,^[# ]*docker_namespace:.+$,docker_namespace: \"lokolla\"," /etc/kolla/globals.yml
- sed -i -r "s,^[# ]*docker_insecure_registry:.+$,docker_insecure_registry: \"True\"," /etc/kolla/globals.yml
+ kolla-cli property set docker_registry ${REGISTRY}
+ kolla-cli property set docker_namespace lokolla
+ kolla-cli property set docker_insecure_registry True
# Set network interfaces
- sed -i -r "s,^[# ]*network_interface:.+$,network_interface: \"eth1\"," /etc/kolla/globals.yml
- sed -i -r "s,^[# ]*neutron_external_interface:.+$,neutron_external_interface: \"eth2\"," /etc/kolla/globals.yml
+ kolla-cli property set network_interface eth1
+ kolla-cli property set neutron_external_interface eth2
# Set VIP address to be on the vagrant private network
- sed -i -r "s,^[# ]*kolla_internal_vip_address:.+$,kolla_internal_vip_address: \"172.28.128.254\"," /etc/kolla/globals.yml
+ kolla-cli property set kolla_internal_vip_address 172.28.128.254
+}
+
+function configure_kolla_cli {
+ # Run the CLI setup script
+ pushd ${KOLLA_CLI_PATH}
+ python ./cli_setup.py
+ popd
+
+ # Set up the kolla-cli inventory
+ if [ "$MODE" == 'aio' ]; then
+ kolla-cli setdeploy local
+ kolla-cli host add localhost
+ for group in control deployment monitoring network storage; do
+ kolla-cli group addhost $group localhost
+ done
+ else
+ for node_num in $(seq 1 ${NUMBER_OF_COMPUTE_NODES}); do
+ node_name="compute0${node_num}"
+ kolla-cli host add $node_name
+ kolla-cli group addhost external-compute $node_name
+ done
+
+ for node_num in $(seq 1 ${NUMBER_OF_STORAGE_NODES}); do
+ node_name="storage0${node_num}"
+ kolla-cli host add $node_name
+ kolla-cli group addhost storage $node_name
+ done
+
+ for node_num in $(seq 1 ${NUMBER_OF_NETWORK_NODES}); do
+ node_name="network0${node_num}"
+ kolla-cli host add $node_name
+ kolla-cli group addhost network $node_name
+ done
+
+ for node_num in $(seq 1 ${NUMBER_OF_CONTROL_NODES}); do
+ node_name="control0${node_num}"
+ kolla-cli host add $node_name
+ kolla-cli group addhost control $node_name
+ done
+ fi
}
# Configure the operator node and install some additional packages.
@@ -192,6 +236,7 @@ function configure_operator {
mkdir -p /usr/share/kolla
chown -R vagrant: /etc/kolla /usr/share/kolla
+ configure_kolla_cli
configure_kolla
# Make sure Ansible uses scp.