summaryrefslogtreecommitdiff
path: root/azurelinuxagent/distro/default/provision.py
diff options
context:
space:
mode:
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)