summaryrefslogtreecommitdiff
path: root/cloudinit/sources
diff options
context:
space:
mode:
authorChad Smith <chad.smith@canonical.com>2018-09-26 21:18:24 +0000
committerServer Team CI Bot <josh.powers+server-team-bot@canonical.com>2018-09-26 21:18:24 +0000
commitfd873fa83fb5ca9c6d5f22a7bec6a308448c77ff (patch)
treec9ac65b46b43098cb31e882a567737c7f4ae5b6d /cloudinit/sources
parent27ff9c45744d4d5de44046b8b85ba0d10cd3e3f6 (diff)
downloadvyos-cloud-init-fd873fa83fb5ca9c6d5f22a7bec6a308448c77ff.tar.gz
vyos-cloud-init-fd873fa83fb5ca9c6d5f22a7bec6a308448c77ff.zip
docs: surface experimental doc in instance-data.json
Diffstat (limited to 'cloudinit/sources')
-rw-r--r--cloudinit/sources/__init__.py9
-rw-r--r--cloudinit/sources/tests/test_init.py6
2 files changed, 11 insertions, 4 deletions
diff --git a/cloudinit/sources/__init__.py b/cloudinit/sources/__init__.py
index 730e8174..5ac98826 100644
--- a/cloudinit/sources/__init__.py
+++ b/cloudinit/sources/__init__.py
@@ -38,6 +38,11 @@ DEP_FILESYSTEM = "FILESYSTEM"
DEP_NETWORK = "NETWORK"
DS_PREFIX = 'DataSource'
+EXPERIMENTAL_TEXT = (
+ "EXPERIMENTAL: The structure and format of content scoped under the 'ds'"
+ " key may change in subsequent releases of cloud-init.")
+
+
# File in which public available instance meta-data is written
# security-sensitive key values are redacted from this world-readable file
INSTANCE_JSON_FILE = 'instance-data.json'
@@ -243,8 +248,8 @@ class DataSource(object):
@return True on successful write, False otherwise.
"""
instance_data = {
- 'ds': {
- 'meta_data': self.metadata}}
+ 'ds': {'_doc': EXPERIMENTAL_TEXT,
+ 'meta_data': self.metadata}}
if hasattr(self, 'network_json'):
network_json = getattr(self, 'network_json')
if network_json != UNSET:
diff --git a/cloudinit/sources/tests/test_init.py b/cloudinit/sources/tests/test_init.py
index 6b965750..8082019e 100644
--- a/cloudinit/sources/tests/test_init.py
+++ b/cloudinit/sources/tests/test_init.py
@@ -10,8 +10,8 @@ from cloudinit.event import EventType
from cloudinit.helpers import Paths
from cloudinit import importer
from cloudinit.sources import (
- INSTANCE_JSON_FILE, INSTANCE_JSON_SENSITIVE_FILE, REDACT_SENSITIVE_VALUE,
- UNSET, DataSource, redact_sensitive_keys)
+ EXPERIMENTAL_TEXT, INSTANCE_JSON_FILE, INSTANCE_JSON_SENSITIVE_FILE,
+ REDACT_SENSITIVE_VALUE, UNSET, DataSource, redact_sensitive_keys)
from cloudinit.tests.helpers import CiTestCase, skipIf, mock
from cloudinit.user_data import UserDataProcessor
from cloudinit import util
@@ -305,6 +305,7 @@ class TestDataSource(CiTestCase):
'local_hostname': 'test-subclass-hostname',
'region': 'myregion'},
'ds': {
+ '_doc': EXPERIMENTAL_TEXT,
'meta_data': {'availability_zone': 'myaz',
'local-hostname': 'test-subclass-hostname',
'region': 'myregion'}}}
@@ -348,6 +349,7 @@ class TestDataSource(CiTestCase):
'local_hostname': 'test-subclass-hostname',
'region': 'myregion'},
'ds': {
+ '_doc': EXPERIMENTAL_TEXT,
'meta_data': {
'availability_zone': 'myaz',
'local-hostname': 'test-subclass-hostname',