summaryrefslogtreecommitdiff
path: root/azurelinuxagent/pa
diff options
context:
space:
mode:
authorƁukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com>2017-03-15 10:19:34 +0100
committerusd-importer <ubuntu-server@lists.ubuntu.com>2017-03-17 13:08:24 +0000
commit83be006e288c58a46f5b76c29b6886c1f417d88c (patch)
tree91ba57e843714c232b5af5ab8dc6f3322ff7841e /azurelinuxagent/pa
parentd064ab0bffd429382ea4fafeb144784d403848bd (diff)
downloadvyos-walinuxagent-83be006e288c58a46f5b76c29b6886c1f417d88c.tar.gz
vyos-walinuxagent-83be006e288c58a46f5b76c29b6886c1f417d88c.zip
Import patches-unapplied version 2.2.6-0ubuntu1 to ubuntu/zesty-proposed
Imported using git-ubuntu import. Changelog parent: d064ab0bffd429382ea4fafeb144784d403848bd New changelog entries: * New upstream release (LP: #1661750). * debian/control: - Change the maintainer to Ubuntu Developers (LP: #1657528). - Add the dependency of isc-dhcp-client as our maintainer scripts assume it's installed. - Add trailing commas to dependencies, add whitespaces. * Rename ephemeral-disk-warning.sh to ephemeral-disk-warning (lintian error). * debian/docs: - Remove LICENSE.txt as it's redundant. * debian/postinst: - Stop checking for update-initramfs existence using the absolute path, use the 'command' command instead to make lintian happy. * Remove debian/patches/disable-auto-update.patch: - We now ship with auto-updates enabled (LP: #1650522). * debian/maintscript: - Add a maintscript to rename the old logrotate file on upgrade from an ancient version of walinuxagent (LP: #1673152).
Diffstat (limited to 'azurelinuxagent/pa')
-rw-r--r--azurelinuxagent/pa/deprovision/default.py17
-rw-r--r--azurelinuxagent/pa/provision/default.py4
-rw-r--r--azurelinuxagent/pa/provision/ubuntu.py20
-rw-r--r--azurelinuxagent/pa/rdma/centos.py3
-rw-r--r--azurelinuxagent/pa/rdma/suse.py6
5 files changed, 29 insertions, 21 deletions
diff --git a/azurelinuxagent/pa/deprovision/default.py b/azurelinuxagent/pa/deprovision/default.py
index a702d3f..ced87ee 100644
--- a/azurelinuxagent/pa/deprovision/default.py
+++ b/azurelinuxagent/pa/deprovision/default.py
@@ -40,6 +40,7 @@ class DeprovisionHandler(object):
def __init__(self):
self.osutil = get_osutil()
self.protocol_util = get_protocol_util()
+ self.actions_running = False
signal.signal(signal.SIGINT, self.handle_interrupt_signal)
def del_root_password(self, warnings, actions):
@@ -87,8 +88,9 @@ class DeprovisionHandler(object):
dirs_to_del = ["/var/lib/dhclient", "/var/lib/dhcpcd", "/var/lib/dhcp"]
actions.append(DeprovisionAction(fileutil.rm_dirs, dirs_to_del))
- # For Freebsd
- actions.append(DeprovisionAction(fileutil.rm_files, ["/var/db/dhclient.leases.hn0"]))
+ # For Freebsd, NM controlled
+ actions.append(DeprovisionAction(fileutil.rm_files, ["/var/db/dhclient.leases.hn0",
+ "/var/lib/NetworkManager/dhclient-*.lease"]))
def del_lib_dir(self, warnings, actions):
dirs_to_del = [conf.get_lib_dir()]
@@ -134,11 +136,16 @@ class DeprovisionHandler(object):
if not confirm.lower().startswith('y'):
return
+ self.actions_running = True
for action in actions:
action.invoke()
- def handle_interrupt_signal(self, frame):
- print("Deprovision is interrupted.")
- sys.exit(0)
+ def handle_interrupt_signal(self, signum, frame):
+ if not self.actions_running:
+ print("Deprovision is interrupted.")
+ sys.exit(0)
+
+ print ('Deprovisioning may not be interrupted.')
+ return
diff --git a/azurelinuxagent/pa/provision/default.py b/azurelinuxagent/pa/provision/default.py
index e851036..a99a006 100644
--- a/azurelinuxagent/pa/provision/default.py
+++ b/azurelinuxagent/pa/provision/default.py
@@ -100,10 +100,10 @@ class ProvisionHandler(object):
def provision(self, ovfenv):
logger.info("Handle ovf-env.xml.")
try:
- logger.info("Set host name.")
+ logger.info("Set hostname [{0}]".format(ovfenv.hostname))
self.osutil.set_hostname(ovfenv.hostname)
- logger.info("Publish host name.")
+ logger.info("Publish hostname [{0}]".format(ovfenv.hostname))
self.osutil.publish_hostname(ovfenv.hostname)
self.config_user_account(ovfenv)
diff --git a/azurelinuxagent/pa/provision/ubuntu.py b/azurelinuxagent/pa/provision/ubuntu.py
index 7f2bce3..a71df37 100644
--- a/azurelinuxagent/pa/provision/ubuntu.py
+++ b/azurelinuxagent/pa/provision/ubuntu.py
@@ -19,14 +19,12 @@
import os
import time
-import azurelinuxagent.common.logger as logger
-from azurelinuxagent.common.future import ustr
+
import azurelinuxagent.common.conf as conf
-import azurelinuxagent.common.protocol.ovfenv as ovfenv
-from azurelinuxagent.common.event import add_event, WALAEventOperation
-from azurelinuxagent.common.exception import ProvisionError, ProtocolError
-import azurelinuxagent.common.utils.shellutil as shellutil
+import azurelinuxagent.common.logger as logger
import azurelinuxagent.common.utils.fileutil as fileutil
+from azurelinuxagent.common.exception import ProvisionError, ProtocolError
+from azurelinuxagent.common.future import ustr
from azurelinuxagent.pa.provision.default import ProvisionHandler
"""
@@ -91,8 +89,14 @@ class UbuntuProvisionHandler(ProvisionHandler):
path = '/etc/ssh/ssh_host_{0}_key.pub'.format(keypair_type)
for retry in range(0, max_retry):
if os.path.isfile(path):
- return self.get_ssh_host_key_thumbprint(keypair_type)
+ logger.info("ssh host key found at: {0}".format(path))
+ try:
+ thumbprint = self.get_ssh_host_key_thumbprint(keypair_type)
+ logger.info("Thumbprint obtained from : {0}".format(path))
+ return thumbprint
+ except ProvisionError:
+ logger.warn("Could not get thumbprint from {0}".format(path))
if retry < max_retry - 1:
- logger.info("Wait for ssh host key be generated: {0}", path)
+ logger.info("Wait for ssh host key be generated: {0}".format(path))
time.sleep(5)
raise ProvisionError("ssh host key is not generated.")
diff --git a/azurelinuxagent/pa/rdma/centos.py b/azurelinuxagent/pa/rdma/centos.py
index 8ad09c5..214f9ea 100644
--- a/azurelinuxagent/pa/rdma/centos.py
+++ b/azurelinuxagent/pa/rdma/centos.py
@@ -173,8 +173,7 @@ class CentOSRDMAHandler(RDMAHandler):
'user mode', self.rdma_user_mode_package_name, umod_pkg_path)
logger.info("RDMA: driver packages installed")
- self.load_driver_module()
- if not self.is_driver_loaded():
+ if not self.load_driver_module() or not self.is_driver_loaded():
logger.info("RDMA: driver module is not loaded; reboot required")
self.reboot_system()
else:
diff --git a/azurelinuxagent/pa/rdma/suse.py b/azurelinuxagent/pa/rdma/suse.py
index f0d8d0f..d31b2b0 100644
--- a/azurelinuxagent/pa/rdma/suse.py
+++ b/azurelinuxagent/pa/rdma/suse.py
@@ -93,8 +93,7 @@ class SUSERDMAHandler(RDMAHandler):
msg = 'RDMA: Successfully installed "%s" from '
msg += 'configured repositories'
logger.info(msg % complete_name)
- self.load_driver_module()
- if requires_reboot:
+ if not self.load_driver_module() or requires_reboot:
self.reboot_system()
return True
else:
@@ -119,8 +118,7 @@ class SUSERDMAHandler(RDMAHandler):
msg = 'RDMA: Successfully installed "%s" from '
msg += 'local package cache'
logger.info(msg % (local_package))
- self.load_driver_module()
- if requires_reboot:
+ if not self.load_driver_module() or requires_reboot:
self.reboot_system()
return True
else: