示例#1
0
 def test__interface_by_mac_case_insensitive_rh(self):
     with mock.patch('distro.id', return_value='centos'):
         osutil = osutils.BaseOS.get_os_util()
         self.test_plug = plug.Plug(osutil)
         interface = self.test_plug._interface_by_mac(
             FAKE_MAC_ADDRESS.upper())
         self.assertEqual(FAKE_INTERFACE, interface)
示例#2
0
 def setUp(self):
     super(TestPlug, self).setUp()
     self.mock_platform = mock.patch("distro.id").start()
     self.mock_platform.return_value = "ubuntu"
     self.osutil = osutils.BaseOS.get_os_util()
     self.test_plug = plug.Plug(self.osutil)
     self.addCleanup(self.mock_platform.stop)
示例#3
0
 def test__interface_by_mac_case_insensitive_rh(self):
     with mock.patch('platform.linux_distribution',
                     return_value=['centos', 'Foo']):
         osutil = osutils.BaseOS.get_os_util()
         self.test_plug = plug.Plug(osutil)
         interface = self.test_plug._interface_by_mac(
             FAKE_MAC_ADDRESS.upper())
         self.assertEqual(FAKE_INTERFACE, interface)
示例#4
0
    def test__interface_by_mac_case_insensitive_rh(self, mock_ipr):
        mock_ipr_instance = mock.MagicMock()
        mock_ipr_instance.link_lookup.return_value = [33]
        mock_ipr_instance.get_links.return_value = ({
            'attrs': [('IFLA_IFNAME', FAKE_INTERFACE)]},)
        mock_ipr().__enter__.return_value = mock_ipr_instance

        with mock.patch('distro.id', return_value='centos'):
            osutil = osutils.BaseOS.get_os_util()
            self.test_plug = plug.Plug(osutil)
            interface = self.test_plug._interface_by_mac(
                FAKE_MAC_ADDRESS.upper())
            self.assertEqual(FAKE_INTERFACE, interface)
            mock_ipr_instance.get_links.assert_called_once_with(33)
示例#5
0
    def setUp(self):
        super(TestPlug, self).setUp()
        self.mock_netifaces = mock.patch.object(plug, "netifaces").start()
        self.mock_platform = mock.patch("platform.linux_distribution").start()
        self.mock_platform.return_value = ("Ubuntu", )
        self.osutil = osutils.BaseOS.get_os_util()
        self.test_plug = plug.Plug(self.osutil)
        self.addCleanup(self.mock_netifaces.stop)

        # Set up our fake interface
        self.mock_netifaces.AF_LINK = netifaces.AF_LINK
        self.mock_netifaces.interfaces.return_value = [FAKE_INTERFACE]
        self.mock_netifaces.ifaddresses.return_value = {
            netifaces.AF_LINK: [{
                'addr': FAKE_MAC_ADDRESS.lower()
            }]
        }
示例#6
0
 def setUp(self):
     super(TestPlugNetwork, self).setUp()
     self.mock_platform = mock.patch("platform.linux_distribution").start()
     self.mock_platform.return_value = ("Ubuntu", )
     self.osutil = osutils.BaseOS.get_os_util()
     self.test_plug = plug.Plug(self.osutil)
示例#7
0
 def _setup(self, os):
     self.mock_platform.return_value = os
     self.osutil = osutils.BaseOS.get_os_util()
     self.test_plug = plug.Plug(self.osutil)
示例#8
0
    def __init__(self):
        self.app = flask.Flask(__name__)
        self._osutils = osutils.BaseOS.get_os_util()
        self._keepalived = keepalived.Keepalived()
        self._loadbalancer = loadbalancer.Loadbalancer()
        self._udp_listener = (
            udp_listener_base.UdpListenerApiServerBase.get_server_driver())
        self._plug = plug.Plug(self._osutils)
        self._amphora_info = amphora_info.AmphoraInfo(self._osutils)

        register_app_error_handler(self.app)

        self.app.add_url_rule(rule='/',
                              view_func=self.version_discovery,
                              methods=['GET'])
        self.app.add_url_rule(rule=PATH_PREFIX +
                              '/loadbalancer/<amphora_id>/<lb_id>/haproxy',
                              view_func=self.upload_haproxy_config,
                              methods=['PUT'])
        self.app.add_url_rule(rule=PATH_PREFIX +
                              '/listeners/<amphora_id>/<listener_id>'
                              '/udp_listener',
                              view_func=self.upload_udp_listener_config,
                              methods=['PUT'])
        self.app.add_url_rule(rule=PATH_PREFIX +
                              '/loadbalancer/<lb_id>/haproxy',
                              view_func=self.get_haproxy_config,
                              methods=['GET'])
        self.app.add_url_rule(rule=PATH_PREFIX +
                              '/listeners/<listener_id>/udp_listener',
                              view_func=self.get_udp_listener_config,
                              methods=['GET'])
        self.app.add_url_rule(rule=PATH_PREFIX +
                              '/loadbalancer/<object_id>/<action>',
                              view_func=self.start_stop_lb_object,
                              methods=['PUT'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/listeners/<object_id>',
                              view_func=self.delete_lb_object,
                              methods=['DELETE'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/config',
                              view_func=self.upload_config,
                              methods=['PUT'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/details',
                              view_func=self.get_details,
                              methods=['GET'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/info',
                              view_func=self.get_info,
                              methods=['GET'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/listeners',
                              view_func=self.get_all_listeners_status,
                              methods=['GET'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/loadbalancer/<lb_id>'
                              '/certificates/<filename>',
                              view_func=self.upload_certificate,
                              methods=['PUT'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/loadbalancer/<lb_id>'
                              '/certificates/<filename>',
                              view_func=self.get_certificate_md5,
                              methods=['GET'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/loadbalancer/<lb_id>'
                              '/certificates/<filename>',
                              view_func=self.delete_certificate,
                              methods=['DELETE'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/plug/vip/<vip>',
                              view_func=self.plug_vip,
                              methods=['POST'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/plug/network',
                              view_func=self.plug_network,
                              methods=['POST'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/certificate',
                              view_func=self.upload_cert,
                              methods=['PUT'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/vrrp/upload',
                              view_func=self.upload_vrrp_config,
                              methods=['PUT'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/vrrp/<action>',
                              view_func=self.manage_service_vrrp,
                              methods=['PUT'])
        self.app.add_url_rule(rule=PATH_PREFIX + '/interface/<ip_addr>',
                              view_func=self.get_interface,
                              methods=['GET'])