Example #1
0
    def __enter__(self):
        """Perform ephemeral network setup if interface is not connected."""
        if self.connectivity_url_data:
            if net.has_url_connectivity(self.connectivity_url_data):
                LOG.debug(
                    "Skip ephemeral network setup, instance has connectivity"
                    " to %s",
                    self.connectivity_url_data["url"],
                )
                return

        self._bringup_device()

        # rfc3442 requires us to ignore the router config *if* classless static
        # routes are provided.
        #
        # https://tools.ietf.org/html/rfc3442
        #
        # If the DHCP server returns both a Classless Static Routes option and
        # a Router option, the DHCP client MUST ignore the Router option.
        #
        # Similarly, if the DHCP server returns both a Classless Static Routes
        # option and a Static Routes option, the DHCP client MUST ignore the
        # Static Routes option.
        if self.static_routes:
            self._bringup_static_routes()
        elif self.router:
            self._bringup_router()
Example #2
0
 def __enter__(self):
     """Setup sandboxed dhcp context, unless connectivity_url can already be
     reached."""
     if self.connectivity_url:
         if has_url_connectivity(self.connectivity_url):
             LOG.debug(
                 'Skip ephemeral DHCP setup, instance has connectivity'
                 ' to %s', self.connectivity_url)
             return
     return self.obtain_lease()
Example #3
0
 def __enter__(self):
     """Setup sandboxed dhcp context, unless connectivity_url can already be
     reached."""
     if self.connectivity_url:
         if has_url_connectivity(self.connectivity_url):
             LOG.debug(
                 'Skip ephemeral DHCP setup, instance has connectivity'
                 ' to %s', self.connectivity_url)
             return
     return self.obtain_lease()
Example #4
0
 def __enter__(self):
     """Setup sandboxed dhcp context, unless connectivity_url can already be
     reached."""
     if self.connectivity_url_data:
         if net.has_url_connectivity(self.connectivity_url_data):
             LOG.debug(
                 "Skip ephemeral DHCP setup, instance has connectivity"
                 " to %s",
                 self.connectivity_url_data,
             )
             return
     return self.obtain_lease()
Example #5
0
 def test_true_on_url_connectivity_failure(self):
     httpretty.register_uri(httpretty.GET, self.url, body={}, status=404)
     self.assertFalse(net.has_url_connectivity(self.url),
                      'Expected False on url fail')
Example #6
0
 def test_true_on_url_connectivity_timeout(self, m_request):
     """A timeout raised accessing the url will return False."""
     m_request.side_effect = requests.Timeout('Fake Connection Timeout')
     self.assertFalse(net.has_url_connectivity(self.url),
                      'Expected False on url timeout')
Example #7
0
 def test_true_on_url_connectivity_success(self):
     httpretty.register_uri(httpretty.GET, self.url)
     self.assertTrue(net.has_url_connectivity(self.url),
                     'Expected True on url connect')
Example #8
0
 def test_url_timeout_on_connectivity_check(self, m_readurl):
     """A timeout of 5 seconds is provided when reading a url."""
     self.assertTrue(net.has_url_connectivity(self.url),
                     'Expected True on url connect')
Example #9
0
 def test_true_on_url_connectivity_failure(self):
     httpretty.register_uri(httpretty.GET, self.url, body={}, status=404)
     self.assertFalse(
         net.has_url_connectivity(self.url), 'Expected False on url fail')
Example #10
0
 def test_true_on_url_connectivity_timeout(self, m_request):
     """A timeout raised accessing the url will return False."""
     m_request.side_effect = requests.Timeout('Fake Connection Timeout')
     self.assertFalse(
         net.has_url_connectivity(self.url),
         'Expected False on url timeout')
Example #11
0
 def test_true_on_url_connectivity_success(self):
     httpretty.register_uri(httpretty.GET, self.url)
     self.assertTrue(
         net.has_url_connectivity(self.url), 'Expected True on url connect')
Example #12
0
 def test_url_timeout_on_connectivity_check(self, m_readurl):
     """A timeout of 5 seconds is provided when reading a url."""
     self.assertTrue(
         net.has_url_connectivity(self.url), 'Expected True on url connect')