mirror of
https://github.com/clearlinux/WALinuxAgent.git
synced 2026-09-07 06:11:45 +00:00
pep8 reformat
This commit is contained in:
@@ -25,26 +25,26 @@ from azurelinuxagent.common.future import ustr
|
||||
import azurelinuxagent.common.conf as conf
|
||||
from azurelinuxagent.common.event import add_event, WALAEventOperation
|
||||
from azurelinuxagent.common.exception import ProvisionError, ProtocolError, \
|
||||
OSUtilError
|
||||
OSUtilError
|
||||
from azurelinuxagent.common.protocol.restapi import ProvisionStatus
|
||||
import azurelinuxagent.common.utils.shellutil as shellutil
|
||||
import azurelinuxagent.common.utils.fileutil as fileutil
|
||||
from azurelinuxagent.common.osutil import get_osutil
|
||||
from azurelinuxagent.common.protocol import get_protocol_util
|
||||
|
||||
CUSTOM_DATA_FILE="CustomData"
|
||||
CUSTOM_DATA_FILE = "CustomData"
|
||||
|
||||
|
||||
class ProvisionHandler(object):
|
||||
|
||||
def __init__(self):
|
||||
self.osutil = get_osutil()
|
||||
self.protocol_util = get_protocol_util()
|
||||
|
||||
def run(self):
|
||||
#If provision is not enabled, return
|
||||
# If provision is not enabled, return
|
||||
if not conf.get_provision_enabled():
|
||||
logger.info("Provisioning is disabled. Skip.")
|
||||
return
|
||||
return
|
||||
|
||||
provisioned = os.path.join(conf.get_lib_dir(), "provisioned")
|
||||
if os.path.isfile(provisioned):
|
||||
@@ -57,11 +57,11 @@ class ProvisionHandler(object):
|
||||
except ProtocolError as e:
|
||||
self.report_event("Failed to copy ovf-env.xml: {0}".format(e))
|
||||
return
|
||||
|
||||
|
||||
self.protocol_util.get_protocol_by_file()
|
||||
|
||||
self.report_not_ready("Provisioning", "Starting")
|
||||
|
||||
|
||||
try:
|
||||
logger.info("Start provisioning")
|
||||
self.provision(ovfenv)
|
||||
@@ -77,18 +77,19 @@ class ProvisionHandler(object):
|
||||
|
||||
self.report_ready(thumbprint)
|
||||
self.report_event("Provision succeed", is_success=True)
|
||||
|
||||
|
||||
def reg_ssh_host_key(self):
|
||||
keypair_type = conf.get_ssh_host_keypair_type()
|
||||
if conf.get_regenerate_ssh_host_key():
|
||||
shellutil.run("rm -f /etc/ssh/ssh_host_*key*")
|
||||
shellutil.run(("ssh-keygen -N '' -t {0} -f /etc/ssh/ssh_host_{1}_key"
|
||||
"").format(keypair_type, keypair_type))
|
||||
keygen_cmd = "ssh-keygen -N '' -t {0} -f /etc/ssh/ssh_host_{1}_key"
|
||||
shellutil.run(keygen_cmd.format(keypair_type, keypair_type))
|
||||
thumbprint = self.get_ssh_host_key_thumbprint(keypair_type)
|
||||
return thumbprint
|
||||
|
||||
def get_ssh_host_key_thumbprint(self, keypair_type):
|
||||
cmd = "ssh-keygen -lf /etc/ssh/ssh_host_{0}_key.pub".format(keypair_type)
|
||||
cmd = "ssh-keygen -lf /etc/ssh/ssh_host_{0}_key.pub".format(
|
||||
keypair_type)
|
||||
ret = shellutil.run_get_output(cmd)
|
||||
if ret[0] == 0:
|
||||
return ret[1].rstrip().split()[1].replace(':', '')
|
||||
@@ -108,13 +109,13 @@ class ProvisionHandler(object):
|
||||
self.config_user_account(ovfenv)
|
||||
|
||||
self.save_customdata(ovfenv)
|
||||
|
||||
|
||||
if conf.get_delete_root_password():
|
||||
self.osutil.del_root_password()
|
||||
|
||||
except OSUtilError as e:
|
||||
raise ProvisionError("Failed to handle ovf-env.xml: {0}".format(e))
|
||||
|
||||
|
||||
def config_user_account(self, ovfenv):
|
||||
logger.info("Create user account if not exists")
|
||||
self.osutil.useradd(ovfenv.username)
|
||||
@@ -124,15 +125,16 @@ class ProvisionHandler(object):
|
||||
crypt_id = conf.get_password_cryptid()
|
||||
salt_len = conf.get_password_crypt_salt_len()
|
||||
self.osutil.chpasswd(ovfenv.username, ovfenv.user_password,
|
||||
crypt_id=crypt_id, salt_len=salt_len)
|
||||
|
||||
crypt_id=crypt_id, salt_len=salt_len)
|
||||
|
||||
logger.info("Configure sudoer")
|
||||
self.osutil.conf_sudoer(ovfenv.username, nopasswd=ovfenv.user_password is None)
|
||||
self.osutil.conf_sudoer(ovfenv.username,
|
||||
nopasswd=ovfenv.user_password is None)
|
||||
|
||||
logger.info("Configure sshd")
|
||||
self.osutil.conf_sshd(ovfenv.disable_ssh_password_auth)
|
||||
|
||||
#Disable selinux temporary
|
||||
# Disable selinux temporary
|
||||
sel = self.osutil.is_selinux_enforcing()
|
||||
if sel:
|
||||
self.osutil.set_selinux_enforce(0)
|
||||
@@ -151,11 +153,11 @@ class ProvisionHandler(object):
|
||||
logger.info("Save custom data")
|
||||
lib_dir = conf.get_lib_dir()
|
||||
if conf.get_decode_customdata():
|
||||
customdata= self.osutil.decode_customdata(customdata)
|
||||
customdata = self.osutil.decode_customdata(customdata)
|
||||
|
||||
customdata_file = os.path.join(lib_dir, CUSTOM_DATA_FILE)
|
||||
fileutil.write_file(customdata_file, customdata)
|
||||
|
||||
|
||||
if conf.get_execute_customdata():
|
||||
logger.info("Execute custom data")
|
||||
os.chmod(customdata_file, 0o700)
|
||||
@@ -192,4 +194,3 @@ class ProvisionHandler(object):
|
||||
protocol.report_provision_status(status)
|
||||
except ProtocolError as e:
|
||||
self.report_event(ustr(e))
|
||||
|
||||
|
||||
@@ -32,12 +32,14 @@ from azurelinuxagent.pa.provision.default import ProvisionHandler
|
||||
"""
|
||||
On ubuntu image, provision could be disabled.
|
||||
"""
|
||||
|
||||
|
||||
class UbuntuProvisionHandler(ProvisionHandler):
|
||||
def __init__(self):
|
||||
super(UbuntuProvisionHandler, self).__init__()
|
||||
|
||||
def run(self):
|
||||
#If provision is enabled, run default provision handler
|
||||
# If provision is enabled, run default provision handler
|
||||
if conf.get_provision_enabled():
|
||||
super(UbuntuProvisionHandler, self).run()
|
||||
return
|
||||
@@ -49,23 +51,22 @@ class UbuntuProvisionHandler(ProvisionHandler):
|
||||
|
||||
logger.info("Waiting cloud-init to copy ovf-env.xml.")
|
||||
self.wait_for_ovfenv()
|
||||
|
||||
protocol = self.protocol_util.get_protocol()
|
||||
self.protocol_util.get_protocol()
|
||||
self.report_not_ready("Provisioning", "Starting")
|
||||
logger.info("Sleep 15 seconds to prevent throttling")
|
||||
time.sleep(15) #Sleep to prevent throttling
|
||||
time.sleep(15) # Sleep to prevent throttling
|
||||
|
||||
try:
|
||||
logger.info("Wait for ssh host key to be generated.")
|
||||
thumbprint = self.wait_for_ssh_host_key()
|
||||
fileutil.write_file(provisioned, "")
|
||||
logger.info("Finished provisioning")
|
||||
|
||||
except ProvisionError as e:
|
||||
logger.error("Provision failed: {0}", e)
|
||||
self.report_not_ready("ProvisioningFailed", ustr(e))
|
||||
self.report_event(ustr(e))
|
||||
return
|
||||
|
||||
|
||||
self.report_ready(thumbprint)
|
||||
self.report_event("Provision succeed", is_success=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user