+function install_to_openstack() {
+
+ if [ -z "$2" ]; then
+ FATAL "OpenStack installer requires a valid external network name"
+ fi
+
+ # Install Pip for Python3
+ $WORKDIR_SUDO apt install -y python3-pip
+ $WORKDIR_SUDO -H LC_ALL=C python3 -m pip install -U pip
+
+ # Install Ansible, OpenStack client and SDK
+ $WORKDIR_SUDO -H LC_ALL=C python3 -m pip install -U python-openstackclient "openstacksdk<1" "ansible>=2.9,<3"
+
+ export ANSIBLE_CONFIG="$OSM_DEVOPS/installers/openstack/ansible.cfg"
+
+ OSM_INSTALLER_ARGS="${REPO_ARGS[@]}"
+
+ # Execute the Ansible playbook based on openrc or clouds.yaml
+ if [ -e "$1" ]; then
+ . $1
+ ansible-playbook -e external_network_name=$2 -e installer_args="\"$OSM_INSTALLER_ARGS\"" \
+ -e setup_volume=$3 $OSM_DEVOPS/installers/openstack/site.yml
+ else
+ ansible-playbook -e external_network_name=$2 -e installer_args="\"$OSM_INSTALLER_ARGS\"" \
+ -e setup_volume=$3 -e cloud_name=$1 $OSM_DEVOPS/installers/openstack/site.yml
+ fi
+
+ return 0
+}
+