summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzsdc <taras@vyos.io>2021-02-13 19:56:29 +0200
committerzsdc <taras@vyos.io>2021-02-13 23:16:49 +0200
commitb481bfb90b96c70d5d7c988b111058137b1ca60e (patch)
tree8f58fc22e84fd998e0184a6f894e2ac6f8c59118
parent377d1bbbdd45aad25c36ab15ce15c93a39df4ce9 (diff)
downloadvyos-cloud-init-b481bfb90b96c70d5d7c988b111058137b1ca60e.tar.gz
vyos-cloud-init-b481bfb90b96c70d5d7c988b111058137b1ca60e.zip
dhclient: T3309: Removed dhclient from datasources
After the commit 377d1bbbdd45aad25c36ab15ce15c93a39df4ce9 dhclient should be run by Cloud-init properly even without calls from datasources, if this is necessary. This change solves the problems caused by always active dhclient on eth0 interface when Ec2, GCE, or Azure datasource is used.
-rw-r--r--cloudinit/sources/DataSourceAzure.py6
-rw-r--r--cloudinit/sources/DataSourceEc2.py8
-rw-r--r--cloudinit/sources/DataSourceGCE.py8
3 files changed, 0 insertions, 22 deletions
diff --git a/cloudinit/sources/DataSourceAzure.py b/cloudinit/sources/DataSourceAzure.py
index a06e6e1f..e076d5dc 100644
--- a/cloudinit/sources/DataSourceAzure.py
+++ b/cloudinit/sources/DataSourceAzure.py
@@ -13,7 +13,6 @@ import os
import os.path
import re
from time import time
-from subprocess import call
from xml.dom import minidom
import xml.etree.ElementTree as ET
@@ -269,11 +268,6 @@ class DataSourceAzure(sources.DataSource):
dsname = 'Azure'
_negotiated = False
_metadata_imds = sources.UNSET
- process_name = 'dhclient'
-
- tmpps = os.popen("ps -Af").read()
- if process_name not in tmpps[:]:
- call(['/sbin/dhclient', DEFAULT_PRIMARY_NIC])
def __init__(self, sys_cfg, distro, paths):
sources.DataSource.__init__(self, sys_cfg, distro, paths)
diff --git a/cloudinit/sources/DataSourceEc2.py b/cloudinit/sources/DataSourceEc2.py
index b49a08db..9ccf2cdc 100644
--- a/cloudinit/sources/DataSourceEc2.py
+++ b/cloudinit/sources/DataSourceEc2.py
@@ -10,7 +10,6 @@
import os
import time
-from subprocess import call
from cloudinit import ec2_utils as ec2
from cloudinit import log as logging
@@ -27,7 +26,6 @@ SKIP_METADATA_URL_CODES = frozenset([uhelp.NOT_FOUND])
STRICT_ID_PATH = ("datasource", "Ec2", "strict_id")
STRICT_ID_DEFAULT = "warn"
-DEFAULT_PRIMARY_NIC = 'eth0'
class CloudNames(object):
@@ -45,12 +43,6 @@ class CloudNames(object):
class DataSourceEc2(sources.DataSource):
dsname = 'Ec2'
- process_name = 'dhclient'
-
- tmpps = os.popen("ps -Af").read()
- if process_name not in tmpps[:]:
- call(['/sbin/dhclient', DEFAULT_PRIMARY_NIC])
-
# Default metadata urls that will be used if none are provided
# They will be checked for 'resolveability' and some of the
# following may be discarded if they do not resolve
diff --git a/cloudinit/sources/DataSourceGCE.py b/cloudinit/sources/DataSourceGCE.py
index f72d9836..d8162623 100644
--- a/cloudinit/sources/DataSourceGCE.py
+++ b/cloudinit/sources/DataSourceGCE.py
@@ -2,10 +2,8 @@
#
# This file is part of cloud-init. See LICENSE file for license information.
-import os
import datetime
import json
-from subprocess import call
from base64 import b64decode
@@ -20,7 +18,6 @@ LOG = logging.getLogger(__name__)
MD_V1_URL = 'http://metadata.google.internal/computeMetadata/v1/'
BUILTIN_DS_CONFIG = {'metadata_url': MD_V1_URL}
REQUIRED_FIELDS = ('instance-id', 'availability-zone', 'local-hostname')
-DEFAULT_PRIMARY_NIC = 'eth0'
class GoogleMetadataFetcher(object):
@@ -53,11 +50,6 @@ class GoogleMetadataFetcher(object):
class DataSourceGCE(sources.DataSource):
dsname = 'GCE'
- process_name = 'dhclient'
-
- tmpps = os.popen("ps -Af").read()
- if process_name not in tmpps[:]:
- call(['/sbin/dhclient', DEFAULT_PRIMARY_NIC])
def __init__(self, sys_cfg, distro, paths):
sources.DataSource.__init__(self, sys_cfg, distro, paths)