summaryrefslogtreecommitdiff
path: root/azurelinuxagent/distro/default/provision.py
diff options
context:
space:
mode:
authorBen Howard <ben.howard@ubuntu.com>2015-12-07 16:48:51 -0700
committerusd-importer <ubuntu-server@lists.ubuntu.com>2015-12-08 16:10:11 +0000
commit542c7a834728ad35d7f5f98cacdf78d86721656f (patch)
tree6850cbc7ce3dec800c1b50f23da6b76077198159 /azurelinuxagent/distro/default/provision.py
parentf6e3f158c2fb9021b37654ea20839ec7a4308d52 (diff)
parentf4e6aca60e419eafbdf11bdd631d35cf785735ae (diff)
downloadvyos-walinuxagent-542c7a834728ad35d7f5f98cacdf78d86721656f.tar.gz
vyos-walinuxagent-542c7a834728ad35d7f5f98cacdf78d86721656f.zip
Import patches-applied version 2.1.2-0ubuntu1 to applied/ubuntu/xenial-proposed
Imported using git-ubuntu import. Changelog parent: f6e3f158c2fb9021b37654ea20839ec7a4308d52 Unapplied parent: f4e6aca60e419eafbdf11bdd631d35cf785735ae New changelog entries: * New upstream release (LP: #1523715): - Bug fixes for Ubuntu 15.10 on Azure - Enablement for Azure Stack - Dropped patch for systemd job as upstream now includes it.
Diffstat (limited to 'azurelinuxagent/distro/default/provision.py')
-rw-r--r--azurelinuxagent/distro/default/provision.py38
1 files changed, 27 insertions, 11 deletions
diff --git a/azurelinuxagent/distro/default/provision.py b/azurelinuxagent/distro/default/provision.py
index 1e9c459..424f083 100644
--- a/azurelinuxagent/distro/default/provision.py
+++ b/azurelinuxagent/distro/default/provision.py
@@ -49,8 +49,13 @@ class ProvisionHandler(object):
protocol = prot.FACTORY.get_default_protocol()
try:
status = prot.ProvisionStatus(status="NotReady",
- subStatus="Provision started")
- protocol.report_provision_status(status)
+ subStatus="Provisioning",
+ description="Starting")
+ try:
+ protocol.report_provision_status(status)
+ except prot.ProtocolError as e:
+ add_event(name="WALA", is_success=False, message=text(e),
+ op=WALAEventOperation.Provision)
self.provision()
fileutil.write_file(provisioned, "")
@@ -59,17 +64,28 @@ class ProvisionHandler(object):
logger.info("Finished provisioning")
status = prot.ProvisionStatus(status="Ready")
status.properties.certificateThumbprint = thumbprint
- protocol.report_provision_status(status)
+
+ try:
+ protocol.report_provision_status(status)
+ except prot.ProtocolError as pe:
+ add_event(name="WALA", is_success=False, message=text(pe),
+ op=WALAEventOperation.Provision)
add_event(name="WALA", is_success=True, message="",
- op=WALAEventOperation.Provision)
+ op=WALAEventOperation.Provision)
except ProvisionError as e:
logger.error("Provision failed: {0}", e)
status = prot.ProvisionStatus(status="NotReady",
- subStatus= text(e))
- protocol.report_provision_status(status)
+ subStatus="ProvisioningFailed",
+ description= text(e))
+ try:
+ protocol.report_provision_status(status)
+ except prot.ProtocolError as pe:
+ add_event(name="WALA", is_success=False, message=text(pe),
+ op=WALAEventOperation.Provision)
+
add_event(name="WALA", is_success=False, message=text(e),
- op=WALAEventOperation.Provision)
+ op=WALAEventOperation.Provision)
def reg_ssh_host_key(self):
keypair_type = conf.get("Provisioning.SshHostKeyPairType", "rsa")
@@ -120,10 +136,10 @@ class ProvisionHandler(object):
if ovfenv.user_password is not None:
logger.info("Set user password.")
- use_salt = conf.get_switch("Provision.UseSalt", True)
- salt_type = conf.get_switch("Provision.SaltType", 6)
- OSUTIL.chpasswd(ovfenv.username, ovfenv.user_password,
- use_salt,salt_type)
+ crypt_id = conf.get("Provision.PasswordCryptId", "6")
+ salt_len = conf.get_int("Provision.PasswordCryptSaltLength", 10)
+ OSUTIL.chpasswd(ovfenv.username, ovfenv.user_password,
+ crypt_id=crypt_id, salt_len=salt_len)
logger.info("Configure sudoer")
OSUTIL.conf_sudoer(ovfenv.username, ovfenv.user_password is None)