diff options
author | xiaofengw-vmware <42736879+xiaofengw-vmware@users.noreply.github.com> | 2020-07-21 23:52:29 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-21 09:52:29 -0600 |
commit | 995f8adf00509e5d2aefc9f0680c3c4894ae6666 (patch) | |
tree | 77d3f08cd1fe9280ef509240000cc35e55dd7037 /tests/unittests/test_vmware_config_file.py | |
parent | ebc145be5e15c64a31ba496625727a7308a57baf (diff) | |
download | vyos-cloud-init-995f8adf00509e5d2aefc9f0680c3c4894ae6666.tar.gz vyos-cloud-init-995f8adf00509e5d2aefc9f0680c3c4894ae6666.zip |
VMware: Support parsing DEFAULT-RUN-POST-CUST-SCRIPT (#441)
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.
Diffstat (limited to 'tests/unittests/test_vmware_config_file.py')
-rw-r--r-- | tests/unittests/test_vmware_config_file.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/unittests/test_vmware_config_file.py b/tests/unittests/test_vmware_config_file.py index c823889c..9c7d25fa 100644 --- a/tests/unittests/test_vmware_config_file.py +++ b/tests/unittests/test_vmware_config_file.py @@ -356,6 +356,20 @@ class TestVmwareConfigFile(CiTestCase): conf = Config(cf) self.assertTrue(conf.post_gc_status) + def test_no_default_run_post_script(self): + cf = ConfigFile("tests/data/vmware/cust-dhcp-2nic.cfg") + conf = Config(cf) + self.assertFalse(conf.default_run_post_script) + cf._insertKey("MISC|DEFAULT-RUN-POST-CUST-SCRIPT", "NO") + conf = Config(cf) + self.assertFalse(conf.default_run_post_script) + + def test_yes_default_run_post_script(self): + cf = ConfigFile("tests/data/vmware/cust-dhcp-2nic.cfg") + cf._insertKey("MISC|DEFAULT-RUN-POST-CUST-SCRIPT", "yes") + conf = Config(cf) + self.assertTrue(conf.default_run_post_script) + class TestVmwareNetConfig(CiTestCase): """Test conversion of vmware config to cloud-init config.""" |