diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh
index ebf2e03..c28f750 100755
--- a/installers/full_install_osm.sh
+++ b/installers/full_install_osm.sh
@@ -41,8 +41,10 @@
     echo -e "     --pla:          install the PLA module for placement support"
     echo -e "     -m <MODULE>:    install OSM but only rebuild or pull the specified docker images (LW-UI, NG-UI, NBI, LCM, RO, MON, POL, PLA, KAFKA, MONGO, PROMETHEUS, PROMETHEUS-CADVISOR, KEYSTONE-DB, NONE)"
     echo -e "     -o <ADDON>:     ONLY (un)installs one of the addons (vimemu, elk_stack, k8s_monitor)"
-    echo -e "     -O <openrc file/cloud name>: Install OSM to an OpenStack infrastructure. <openrc file/cloud name> is required. If a <cloud name> is used, the clouds.yaml file should be under ~/.config/openstack/ or /etc/openstack/"
+    echo -e "     -O <openrc file path/cloud name>: Install OSM to an OpenStack infrastructure. <openrc file/cloud name> is required. If a <cloud name> is used, the clouds.yaml file should be under ~/.config/openstack/ or /etc/openstack/"
     echo -e "     -N <openstack public network name/ID>: Public network name required to setup OSM to OpenStack"
+    echo -e "     -f <path to SSH public key>: Public SSH key to use to deploy OSM to OpenStack"
+    echo -e "     -F <path to cloud-init file>: Cloud-Init userdata file to deploy OSM to OpenStack"
     echo -e "     -D <devops path> use local devops installation path"
     echo -e "     -w <work dir>   Location to store runtime installation"
     echo -e "     -t <docker tag> specify osm docker tag (default is latest)"
@@ -244,6 +246,12 @@
         [ -z "$CONTROLLER_NAME" ] && sg lxd -c "juju kill-controller -t 0 -y $OSM_STACK_NAME"
     fi
     remove_crontab_job
+
+    # Cleanup Openstack installer venv
+    if [ -d "$OPENSTACK_PYTHON_VENV" ]; then
+        rm -r $OPENSTACK_PYTHON_VENV
+    fi
+
     [ -z "$INSTALL_NOHOSTCLIENT" ] && uninstall_osmclient
     echo "Some docker images will be kept in case they are used by other docker stacks"
     echo "To remove them, just run 'docker image prune' in a terminal"
@@ -1417,23 +1425,45 @@
     $WORKDIR_SUDO apt install -y python3-pip
     $WORKDIR_SUDO -H LC_ALL=C python3 -m pip install -U pip
 
+    # Create a venv to avoid conflicts with the host installation
+    python3 -m venv $OPENSTACK_PYTHON_VENV
+
+    source $OPENSTACK_PYTHON_VENV/bin/activate
+
     # 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"
+    python -m pip install -U wheel
+    python -m pip install -U python-openstackclient "openstacksdk>=0.12.0,<1" "ansible>=2.10,<2.11"
+
+    # Install the Openstack cloud module (ansible>=2.10)
+    ansible-galaxy collection install openstack.cloud
 
     export ANSIBLE_CONFIG="$OSM_DEVOPS/installers/openstack/ansible.cfg"
 
     OSM_INSTALLER_ARGS="${REPO_ARGS[@]}"
 
+    ANSIBLE_VARS="external_network_name=$2 setup_volume=$3 server_name=$OPENSTACK_VM_NAME"
+
+    if [ -n "$OPENSTACK_SSH_KEY_FILE" ]; then
+        ANSIBLE_VARS+=" key_file=$OPENSTACK_SSH_KEY_FILE"
+    fi
+
+    if [ -n "$OPENSTACK_USERDATA_FILE" ]; then
+        ANSIBLE_VARS+=" userdata_file=$OPENSTACK_USERDATA_FILE"
+    fi
+
     # 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
+        ansible-playbook -e installer_args="\"$OSM_INSTALLER_ARGS\"" -e "$ANSIBLE_VARS" \
+        $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
+        ansible-playbook -e installer_args="\"$OSM_INSTALLER_ARGS\"" -e "$ANSIBLE_VARS" \
+        -e cloud_name=$1 $OSM_DEVOPS/installers/openstack/site.yml
     fi
 
+    # Exit from venv
+    deactivate
+
     return 0
 }
 
@@ -1499,6 +1529,9 @@
     echo "OPENSTACK_PUBLIC_NET_NAME=$OPENSTACK_PUBLIC_NET_NAME"
     echo "OPENSTACK_OPENRC_FILE_OR_CLOUD=$OPENSTACK_OPENRC_FILE_OR_CLOUD"
     echo "OPENSTACK_ATTACH_VOLUME=$OPENSTACK_ATTACH_VOLUME"
+    echo "OPENSTACK_SSH_KEY_FILE"="$OPENSTACK_SSH_KEY_FILE"
+    echo "OPENSTACK_USERDATA_FILE"="$OPENSTACK_USERDATA_FILE"
+    echo "OPENSTACK_VM_NAME"="$OPENSTACK_VM_NAME"
     echo "INSTALL_K8S_MONITOR=$INSTALL_K8S_MONITOR"
     echo "TO_REBUILD=$TO_REBUILD"
     echo "INSTALL_NOLXD=$INSTALL_NOLXD"
@@ -1570,6 +1603,10 @@
 OPENSTACK_OPENRC_FILE_OR_CLOUD=""
 OPENSTACK_PUBLIC_NET_NAME=""
 OPENSTACK_ATTACH_VOLUME="false"
+OPENSTACK_SSH_KEY_FILE=""
+OPENSTACK_USERDATA_FILE=""
+OPENSTACK_VM_NAME="server-osm"
+OPENSTACK_PYTHON_VENV="$HOME/.virtual-envs/osm"
 INSTALL_ONLY=""
 INSTALL_ELK=""
 TO_REBUILD=""
@@ -1617,7 +1654,7 @@
 DOCKER_PROXY_URL=
 MODULE_DOCKER_TAG=
 
-while getopts ":b:r:c:n:k:u:R:D:o:O:m:N:H:S:s:w:t:U:P:A:l:L:K:d:p:T:-: hy" o; do
+while getopts ":b:r:c:n:k:u:R:D:o:O:m:N:H:S:s:w:t:U:P:A:l:L:K:d:p:T:f:F:-: hy" o; do
     case "${o}" in
         b)
             COMMIT_ID=${OPTARG}
@@ -1628,13 +1665,13 @@
             REPO_ARGS+=(-r "$REPOSITORY")
             ;;
         c)
-            [ "${OPTARG}" == "swarm" ] && KUBERNETES="" && continue
+            [ "${OPTARG}" == "swarm" ] && KUBERNETES="" && REPO_ARGS+=(-c "${OPTARG}") && continue
             [ "${OPTARG}" == "k8s" ] && KUBERNETES="y" && continue
             echo -e "Invalid argument for -i : ' $OPTARG'\n" >&2
             usage && exit 1
             ;;
         n)
-            [ "${OPTARG}" == "lwui" ] && NGUI="" && continue
+            [ "${OPTARG}" == "lwui" ] && NGUI="" && REPO_ARGS+=(-n "${OPTARG}") && continue
             [ "${OPTARG}" == "ngui" ] && continue
             echo -e "Invalid argument for -n : ' $OPTARG'\n" >&2
             usage && exit 1
@@ -1669,6 +1706,12 @@
                 usage && exit 1
             fi
             ;;
+        f)
+            OPENSTACK_SSH_KEY_FILE="${OPTARG}"
+            ;;
+        F)
+            OPENSTACK_USERDATA_FILE="${OPTARG}"
+            ;;
         N)
             OPENSTACK_PUBLIC_NET_NAME="${OPTARG}"
             ;;
