summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cloudinit/CloudConfig/cc_ca_certs.py7
-rw-r--r--tests/unittests/test_handler_ca_certs.py9
2 files changed, 7 insertions, 9 deletions
diff --git a/cloudinit/CloudConfig/cc_ca_certs.py b/cloudinit/CloudConfig/cc_ca_certs.py
index c7bacb78..3af6238a 100644
--- a/cloudinit/CloudConfig/cc_ca_certs.py
+++ b/cloudinit/CloudConfig/cc_ca_certs.py
@@ -16,7 +16,7 @@
import os
from subprocess import check_call
from cloudinit.util import (write_file, get_cfg_option_list_or_str,
- delete_dir_contents)
+ delete_dir_contents, subp)
CA_CERT_PATH = "/usr/share/ca-certificates/"
CA_CERT_FILENAME = "cloud-init-ca-certs.crt"
@@ -54,9 +54,8 @@ def remove_default_ca_certs():
delete_dir_contents(CA_CERT_PATH)
delete_dir_contents(CA_CERT_SYSTEM_PATH)
write_file(CA_CERT_CONFIG, "", mode=0644)
- check_call([
- "echo 'ca-certificates ca-certificates/trust_new_crts select no' | "
- "debconf-set-selections"], shell=True)
+ debconf_sel = "ca-certificates ca-certificates/trust_new_crts select no"
+ subp(('debconf-set-selections', '-'), debconf_sel)
def handle(_name, cfg, _cloud, log, _args):
diff --git a/tests/unittests/test_handler_ca_certs.py b/tests/unittests/test_handler_ca_certs.py
index 37bd7a08..21d2442f 100644
--- a/tests/unittests/test_handler_ca_certs.py
+++ b/tests/unittests/test_handler_ca_certs.py
@@ -169,15 +169,14 @@ class TestRemoveDefaultCaCerts(MockerTestCase):
mock_delete_dir_contents = self.mocker.replace(delete_dir_contents,
passthrough=False)
mock_write = self.mocker.replace(write_file, passthrough=False)
- mock_check_call = self.mocker.replace("subprocess.check_call",
- passthrough=False)
+ mock_subp = self.mocker.replace("cloudinit.util.subp",
+ passthrough=False)
mock_delete_dir_contents("/usr/share/ca-certificates/")
mock_delete_dir_contents("/etc/ssl/certs/")
mock_write("/etc/ca-certificates.conf", "", mode=0644)
- mock_check_call([
- "echo 'ca-certificates ca-certificates/trust_new_crts select no'"
- " | debconf-set-selections"], shell=True)
+ mock_subp(('debconf-set-selections', '-'),
+ "ca-certificates ca-certificates/trust_new_crts select no")
self.mocker.replay()
remove_default_ca_certs()