diff options
author | Scott Moser <smoser@brickies.net> | 2017-02-28 17:14:45 -0500 |
---|---|---|
committer | Scott Moser <smoser@brickies.net> | 2017-03-03 01:30:15 -0500 |
commit | ade8c2e0266b020089145075e8236b95c000a3cb (patch) | |
tree | cde54a3e19f354ea6a05831038dff1840327b5fd /cloudinit/sources | |
parent | 33518d7d62493c7d00e3792146399c9572abe915 (diff) | |
download | vyos-cloud-init-ade8c2e0266b020089145075e8236b95c000a3cb.tar.gz vyos-cloud-init-ade8c2e0266b020089145075e8236b95c000a3cb.zip |
Move warning functionality to cloudinit/warnings.py
This moves the warning code that was added specifically for
EC2 into a generic path at cloudinit/warnings.py.
It also adds support for writing warning files into the
warnings directory to be shown by Z99-cloudinit-warnings.sh.
Diffstat (limited to 'cloudinit/sources')
-rw-r--r-- | cloudinit/sources/DataSourceEc2.py | 47 |
1 files changed, 5 insertions, 42 deletions
diff --git a/cloudinit/sources/DataSourceEc2.py b/cloudinit/sources/DataSourceEc2.py index c7df8060..6f01a139 100644 --- a/cloudinit/sources/DataSourceEc2.py +++ b/cloudinit/sources/DataSourceEc2.py @@ -9,7 +9,6 @@ # This file is part of cloud-init. See LICENSE file for license information. import os -import textwrap import time from cloudinit import ec2_utils as ec2 @@ -17,6 +16,7 @@ from cloudinit import log as logging from cloudinit import sources from cloudinit import url_helper as uhelp from cloudinit import util +from cloudinit import warnings LOG = logging.getLogger(__name__) @@ -224,7 +224,8 @@ class DataSourceEc2(sources.DataSource): return if self.cloud_platform == Platforms.UNKNOWN: warn_if_necessary( - util.get_cfg_by_path(cfg, STRICT_ID_PATH, STRICT_ID_DEFAULT)) + util.get_cfg_by_path(cfg, STRICT_ID_PATH, STRICT_ID_DEFAULT), + cfg) def read_strict_mode(cfgval, default): @@ -265,7 +266,7 @@ def parse_strict_mode(cfgval): return mode, sleep -def warn_if_necessary(cfgval): +def warn_if_necessary(cfgval, cfg): try: mode, sleep = parse_strict_mode(cfgval) except ValueError as e: @@ -275,45 +276,7 @@ def warn_if_necessary(cfgval): if mode == "false": return - show_warning(sleep) - - -def show_warning(sleep): - message = textwrap.dedent(""" - **************************************************************** - # This system is using the EC2 Metadata Service, but does not # - # appear to be running on Amazon EC2 or one of cloud-init's # - # known platforms that provide a EC2 Metadata service. In the # - # future, cloud-init may stop reading metadata from the EC2 # - # Metadata Service unless the platform can be identified # - # # - # If you are seeing this message, please file a bug against # - # cloud-init at https://bugs.launchpad.net/cloud-init/+filebug # - # Make sure to include the cloud provider your instance is # - # running on. # - # # - # For more information see # - # https://bugs.launchpad.net/cloud-init/+bug/1660385 # - # # - # After you have filed a bug, you can disable this warning by # - # launching your instance with the cloud-config below, or # - # putting that content into # - # /etc/cloud/cloud.cfg.d/99-ec2-datasource.cfg # - # # - # #cloud-config # - # datasource: # - # Ec2: # - # strict_id: false # - # # - """) - closemsg = "" - if sleep: - closemsg = " [sleeping for %d seconds] " % sleep - message += closemsg.center(64, "*") - print(message) - LOG.warn(message) - if sleep: - time.sleep(sleep) + warnings.show_warning('non_ec2_md', cfg, mode=True, sleep=sleep) def identify_aws(data): |