Пример #1
0
    def load(self):
        super(HttpService, self).load()
        network.check_metadata_ip_route(CONF.metadata_base_url)

        try:
            self._get_meta_data()
            return True
        except Exception:
            LOG.debug('Metadata not found at URL \'%s\'' %
                      CONF.metadata_base_url)
            return False
Пример #2
0
    def load(self):
        super(HttpService, self).load()
        if CONF.add_metadata_private_ip_route:
            network.check_metadata_ip_route(CONF.metadata_base_url)

        try:
            self._get_meta_data()
            return True
        except Exception:
            LOG.debug("Metadata not found at URL '%s'" % CONF.metadata_base_url)
            return False
Пример #3
0
    def load(self):
        super(HttpService, self).load()
        if CONF.add_metadata_private_ip_route:
            network.check_metadata_ip_route(CONF.metadata_base_url)

        try:
            self._get_meta_data()
            return True
        except Exception:
            LOG.debug('Metadata not found at URL \'%s\'' %
                      CONF.metadata_base_url)
            return False
Пример #4
0
    def load(self):
        super(EC2Service, self).load()
        network.check_metadata_ip_route(CONF.ec2_metadata_base_url)

        try:
            self.get_host_name()
            return True
        except Exception, ex:
            LOG.exception(ex)
            LOG.debug('Metadata not found at URL \'%s\'' %
                      CONF.ec2_metadata_base_url)
            return False
Пример #5
0
    def load(self):
        super(EC2Service, self).load()
        if CONF.ec2.add_metadata_private_ip_route:
            network.check_metadata_ip_route(CONF.ec2.metadata_base_url)

        try:
            self.get_host_name()
            return True
        except Exception as ex:
            LOG.exception(ex)
            LOG.debug('Metadata not found at URL \'%s\'' %
                      CONF.ec2.metadata_base_url)
            return False
Пример #6
0
    def load(self):
        super(OracleCloudService, self).load()
        if CONF.oraclecloud.add_metadata_private_ip_route:
            network.check_metadata_ip_route(CONF.oraclecloud.metadata_base_url)

        try:
            self.get_instance_id()
            return True
        except Exception as ex:
            LOG.exception(ex)
            LOG.debug('Metadata not found at URL \'%s\'' %
                      CONF.oraclecloud.metadata_base_url)
            return False
Пример #7
0
 def _test_check_metadata_ip_route(self, mock_urlparse, mock_get_os_utils,
                                   side_effect):
     mock_utils = mock.MagicMock()
     mock_split = mock.MagicMock()
     mock_get_os_utils.return_value = mock_utils
     mock_utils.check_os_version.return_value = True
     mock_urlparse().netloc.split.return_value = mock_split
     mock_split[0].startswith.return_value = True
     mock_utils.check_static_route_exists.return_value = False
     mock_utils.get_default_gateway.return_value = (1, '0.0.0.0')
     mock_utils.add_static_route.side_effect = [side_effect]
     network.check_metadata_ip_route('196.254.196.254')
     mock_utils.check_os_version.assert_called_once_with(6, 0)
     mock_urlparse.assert_called_with('196.254.196.254')
     mock_split[0].startswith.assert_called_once_with("169.254.")
     mock_utils.check_static_route_exists.assert_called_once_with(
         mock_split[0])
     mock_utils.get_default_gateway.assert_called_once_with()
     mock_utils.add_static_route.assert_called_once_with(
         mock_split[0], "255.255.255.255", '0.0.0.0', 1, 10)
Пример #8
0
    def load(self):
        """Obtain all the required information."""
        super(CloudStack, self).load()

        if CONF.cloudstack.add_metadata_private_ip_route:
            network.check_metadata_ip_route(CONF.cloudstack.metadata_base_url)

        if self._test_api(CONF.cloudstack.metadata_base_url):
            return True

        dhcp_servers = self._osutils.get_dhcp_hosts_in_use()
        if not dhcp_servers:
            LOG.debug('No DHCP server was found.')
            return False
        for _, _, ip_address in dhcp_servers:
            LOG.debug('Testing: %s', ip_address)
            if self._test_api('http://%s/' % ip_address):
                return True

        return False
    def load(self):
        super(HttpService, self).load()
        if CONF.openstack.add_metadata_private_ip_route:
            network.check_metadata_ip_route(CONF.openstack.metadata_base_url)

        for i in range(0, self._MAX_META_DATA_GET_RETRIES):
            try:
                self._get_meta_data()
                LOG.debug('Metadata found at URL \'%s\'' %
                          CONF.openstack.metadata_base_url)
                return True
            except Exception:
                LOG.debug(
                    'Metadata not found at URL \'%s\'. '
                    'Retrying in %s seconds' %
                    CONF.openstack.metadata_base_url, self._RETRY_DELAY_SEC)
                wait_until = time.clock() + self._RETRY_DELAY_SEC
                while time.clock() < wait_until:
                    pass
                return False
Пример #10
0
 def _test_check_metadata_ip_route(self, mock_urlparse, mock_get_os_utils,
                                   side_effect):
     mock_utils = mock.MagicMock()
     mock_split = mock.MagicMock()
     mock_get_os_utils.return_value = mock_utils
     mock_utils.check_os_version.return_value = True
     mock_urlparse().netloc.split.return_value = mock_split
     mock_split[0].startswith.return_value = True
     mock_utils.check_static_route_exists.return_value = False
     mock_utils.get_default_gateway.return_value = (1, '0.0.0.0')
     mock_utils.add_static_route.side_effect = [side_effect]
     network.check_metadata_ip_route('196.254.196.254')
     mock_utils.check_os_version.assert_called_once_with(6, 0)
     mock_urlparse.assert_called_with('196.254.196.254')
     mock_split[0].startswith.assert_called_once_with("169.254.")
     mock_utils.check_static_route_exists.assert_called_once_with(
         mock_split[0])
     mock_utils.get_default_gateway.assert_called_once_with()
     mock_utils.add_static_route.assert_called_once_with(
         mock_split[0], "255.255.255.255", '0.0.0.0', 1, 10)
Пример #11
0
import requests
import sys

from cloudbaseinit.utils import network

metadata_url = "http://169.254.169.254"
password_metadata_url = metadata_url  + "/openstack/latest/password"

network.check_metadata_ip_route(metadata_url)

existent_message = requests.get(password_metadata_url).content

print(existent_message)

data = "NIC_ADD"

try:
    data = sys.argv[1] or "NIC_ADD"
except Exception:
    pass

requests.request(method="POST", url=password_metadata_url, data=data)

# TO DO
# Recache the existent_message