<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-cloud-init.git/cloudinit/sources/helpers, branch 20.3</title>
<subtitle> (mirror of https://github.com/vyos/vyos-cloud-init.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-cloud-init.git/atom?h=20.3</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-cloud-init.git/atom?h=20.3'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/'/>
<updated>2020-08-25T15:21:18+00:00</updated>
<entry>
<title>tox: bump the pylint version to 2.6.0 in the default run (#544)</title>
<updated>2020-08-25T15:21:18+00:00</updated>
<author>
<name>Paride Legovini</name>
<email>paride.legovini@canonical.com</email>
</author>
<published>2020-08-25T15:21:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=07104504ab5b30efd2d1f7a8c36effe18b8e5fe0'/>
<id>urn:sha1:07104504ab5b30efd2d1f7a8c36effe18b8e5fe0</id>
<content type='text'>
Changes:

tox: bump the pylint version to 2.6.0 in the default run
Fix pylint 2.6.0 W0707 warnings (raise-missing-from)</content>
</entry>
<entry>
<title>Pushing cloud-init log to the KVP (#529)</title>
<updated>2020-08-20T19:04:03+00:00</updated>
<author>
<name>Moustafa Moustafa</name>
<email>momousta@microsoft.com</email>
</author>
<published>2020-08-20T19:04:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=d941c7f7846e0216873384044d20f4b6723697c5'/>
<id>urn:sha1:d941c7f7846e0216873384044d20f4b6723697c5</id>
<content type='text'>
Push the cloud-init.log file (Up to 500KB at once) to the KVP before reporting ready to the Azure platform.
Based on the analysis done on a large sample of cloud-init.log files, Here's the statistics collected on the log file size:
P50 	P90 	P95 	P99 	P99.9 	P99.99
137K 	423K 	537K 	3.5MB 	6MB 	16MB

This change limits the size of cloud-init.log file data that gets dumped to KVP to 500KB. So for ~95% of the cases, the whole log file will be dumped and for the remaining ~5%, we will get the last 500KB of the cloud-init.log file.
To asses the performance of the 500KB limit, 250 VM were deployed with a 500KB cloud-init.log file and the time taken to compress, encode and dump the entries to KVP was measured. Here's the time in milliseconds percentiles:
P50 	P99 	P999
75.705 	232.701 	1169.636

Another 250 VMs were deployed with this logic dumping their normal cloud-init.log file to KVP, the same timing was measured as above. Here's the time in milliseconds percentiles:
P50 	P99 	P999
1.88 	5.277 	6.992

Added excluded_handlers to the report_event function to be able to opt-out from reporting the events of the compressed cloud-init.log file to the cloud-init.log file.

The KVP break_down logic had a bug, where it will reuse the same key for all the split chunks of KVP which results in overwriting the split KVPs by the last one when consumed by Hyper-V. I added the split chunk index as a differentiator to the KVP key.

The Hyper-V consumes the KVPs from the KVP file as chunks whose key is 512KB and value is 2048KB but the Azure platform expects the value to be 1024KB, thus I introduced the Azure value limit.</content>
</entry>
<entry>
<title>Refactor Azure report ready code (#468)</title>
<updated>2020-08-13T20:50:07+00:00</updated>
<author>
<name>Johnson Shi</name>
<email>Johnson.Shi@microsoft.com</email>
</author>
<published>2020-08-13T20:50:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=c3556ae82dfb47d635344fcd78908f003648d6d2'/>
<id>urn:sha1:c3556ae82dfb47d635344fcd78908f003648d6d2</id>
<content type='text'>
This PR refactors Azure report ready code to include more robust tests and telemetry.</content>
</entry>
<entry>
<title>VMware: Support parsing DEFAULT-RUN-POST-CUST-SCRIPT (#441)</title>
<updated>2020-07-21T15:52:29+00:00</updated>
<author>
<name>xiaofengw-vmware</name>
<email>42736879+xiaofengw-vmware@users.noreply.github.com</email>
</author>
<published>2020-07-21T15:52:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=995f8adf00509e5d2aefc9f0680c3c4894ae6666'/>
<id>urn:sha1:995f8adf00509e5d2aefc9f0680c3c4894ae6666</id>
<content type='text'>
Add support for VMware's vCD configuration setting DEFAULT-RUN-POST-CUST-SCRIPT.
When set True, it will default vms to run post customization scripts if the VM has not been configured in VMTools with "enable-custom-scripts" set False.

Add datasource documentation with a bit more context about this interaction on VMware products.

With this fix, the behavior will be:
 * If VM administrator doesn't want others to execute a script on this VM,  VMtools can set "enable-custom-scripts" to false from the utility "vmware-toolbox-cmd".
 * If VM administrator doesn't set value to "enable-custom-scripts", then by default this script is disabled for security purpose.
 * For VMware's vCD product , the preference is to enable the script if "enable-custom-scripts" is not set. vCD will generate a configuration file with "DEFAULT-RUN-POST-CUST-SCRIPT" set to true. This flag works for both VMware customization engine and cloud-init.</content>
</entry>
<entry>
<title>cloudinit: remove global disable of pylint W0107 and fix errors (#489)</title>
<updated>2020-07-15T14:26:12+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>oddbloke@ubuntu.com</email>
</author>
<published>2020-07-15T14:26:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=4fe576516d65feda17ba78e9265a8e494a195e7b'/>
<id>urn:sha1:4fe576516d65feda17ba78e9265a8e494a195e7b</id>
<content type='text'>
* cloudinit: remove global disable of pylint W0107 and fix errors

This includes removing a test class which contained no tests but wasn't
detected as empty because of an errant pass statement.

* .pylintrc: update disable comment to match arguments</content>
</entry>
<entry>
<title>cloudinit: fix tip-pylint failures and bump pinned pylint version (#478)</title>
<updated>2020-07-06T15:31:33+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>oddbloke@ubuntu.com</email>
</author>
<published>2020-07-06T15:31:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=411dbbebd328163bcb1c676cc711f3e5ed805375'/>
<id>urn:sha1:411dbbebd328163bcb1c676cc711f3e5ed805375</id>
<content type='text'>
Specifically:

* disable E1102 in cloudinit/sources/helpers/openstack.py for reasons
  described in a comment, and
* refactor `abs_join` to require at least one positional argument; this
  matches os.path.join's signature, and that mismatch is what was
  causing pylint to emit a warning
* bump to pylint 2.4.2</content>
</entry>
<entry>
<title>networking: refactor is_physical from cloudinit.net (#457)</title>
<updated>2020-06-30T18:19:38+00:00</updated>
<author>
<name>Daniel Watkins</name>
<email>oddbloke@ubuntu.com</email>
</author>
<published>2020-06-30T18:19:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=882f1a5f2d5bafd08e6900a2782c3affa67c9d86'/>
<id>urn:sha1:882f1a5f2d5bafd08e6900a2782c3affa67c9d86</id>
<content type='text'>
As the first refactor PR, this also includes the initial structure for tests.

LP: #1884619</content>
</entry>
<entry>
<title>Hetzner: support reading user-data that is base64 encoded. (#448)</title>
<updated>2020-06-22T18:44:37+00:00</updated>
<author>
<name>Scott Moser</name>
<email>smoser@brickies.net</email>
</author>
<published>2020-06-22T18:44:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=76652f3e07b6f659b2fd166a6619cb427dc6bc7e'/>
<id>urn:sha1:76652f3e07b6f659b2fd166a6619cb427dc6bc7e</id>
<content type='text'>
Hetzner cloud only supports user-data as a string (presumably utf-8).

In order to allow users on Hetzner to provide binary data to cloud-init,
we will attempt to base64decode the userdata.

The change here adds a 'maybe_b64decode' function that will decode data
if and only if is base64 encoded.

The reason for not using util.b64d is that we do not want the return value
decoded to a string, and util.b64d will do that if it can.  Additionally
we call decode with validate=True which oddly is not the default.

LP: #1884071</content>
</entry>
<entry>
<title>printing the error stream of the dhclient process before killing it (#369)</title>
<updated>2020-06-19T13:38:05+00:00</updated>
<author>
<name>Moustafa Moustafa</name>
<email>momousta@microsoft.com</email>
</author>
<published>2020-06-19T13:38:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=d083a0315faf67c00acdecdc3f95c700edf6ba06'/>
<id>urn:sha1:d083a0315faf67c00acdecdc3f95c700edf6ba06</id>
<content type='text'>
This introduces a way to log the dhclient error stream, and uses it for the Azure datasource (where we have a specific requirement for this data to be logged).</content>
</entry>
<entry>
<title>test: fix all flake8 E126 errors (#425)</title>
<updated>2020-06-10T14:39:29+00:00</updated>
<author>
<name>Joshua Powers</name>
<email>josh.powers@canonical.com</email>
</author>
<published>2020-06-10T14:39:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-cloud-init.git/commit/?id=f3bd42659efeed4b092ffcdfd5df7f24813f2d3e'/>
<id>urn:sha1:f3bd42659efeed4b092ffcdfd5df7f24813f2d3e</id>
<content type='text'>
</content>
</entry>
</feed>
