X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fprovisioner.py;h=ab25993f2b00129c07a0418d9b23f8c0f786437f;hp=e2b51b96599fb20417a52bf3957dbd433d5dac5a;hb=4395cfa6c7d0d80980c00d9f078440e0333fd826;hpb=82b591ceed704c798ead2d9104085a08e75b511b diff --git a/n2vc/provisioner.py b/n2vc/provisioner.py index e2b51b9..ab25993 100644 --- a/n2vc/provisioner.py +++ b/n2vc/provisioner.py @@ -85,6 +85,11 @@ firewall-cmd --direct --permanent --add-rule ipv4 nat OUTPUT 0 -d {} -p tcp \ firewall-cmd --reload """ +CLOUD_INIT_WAIT_SCRIPT = """#!/bin/bash +set -e +cloud-init status --wait +""" + class AsyncSSHProvisioner: """Provision a manually created machine via SSH.""" @@ -299,6 +304,12 @@ class AsyncSSHProvisioner: - 127.0.0.1:17070 - '[::1]:17070' """ + try: + # Wait until cloud-init finish + await self._run_configure_script(CLOUD_INIT_WAIT_SCRIPT) + except Exception: + self.log.debug("cloud-init not present in machine {}".format(machine_id)) + if proxy: m = re.search( r"apiaddresses:\n- (\d+\.\d+\.\d+\.\d+):17070", results.script