Exemplo n.º 1
0
    def create_gateway_device(self,
                              resource_id,
                              name='dev',
                              tunnel_ip=None,
                              dev_type='router_vtep'):
        url = self.endpoint_url + 'gw/gateway_devices.json'
        gw_dict = {
            "type": dev_type,
            "resource_id": resource_id,
            "tenant_id": 'admin'
        }

        if dev_type == 'router_vtep':
            gw_dict["name"] = 'gwdev_' + name
            gw_dict["tunnel_ips"] = [tunnel_ip]

        gw_data = {"gateway_device": gw_dict}
        post_ret = http_post(url,
                             gw_data,
                             token=self.api.httpclient.auth_token)
        gw = json.loads(post_ret)

        self.addCleanup(self.delete_gateway_device, gw['gateway_device']['id'])

        return gw['gateway_device']
Exemplo n.º 2
0
 def create_bgp_speaker(self, name, local_as, router_id,
                        tenant_id='admin', ip_version=4):
     speaker_dict = {'name': name,
                     'logical_router': router_id,
                     'tenant_id': tenant_id,
                     'local_as': local_as,
                     'ip_version': ip_version}
     url = self.endpoint_url + 'bgp-speakers.json'
     speaker_data = {'bgp_speaker': speaker_dict}
     post_ret = http_post(
         url, speaker_data, token=self.api.httpclient.auth_token)
     speaker = json.loads(post_ret)
     self.addCleanup(self.delete_bgp_speaker, speaker['bgp_speaker']['id'])
     return speaker['bgp_speaker']
Exemplo n.º 3
0
    def create_l2_gateway(self, name, gw_id):
        url = self.endpoint_url + 'l2-gateways'
        l2gw_dict = {"name": name,
                     "devices": [{"device_id": gw_id}],
                     "tenant_id": "admin"}

        l2gw_data = {"l2_gateway": l2gw_dict}
        post_ret = http_post(
            url, l2gw_data, token=self.api.httpclient.auth_token)
        l2gw = json.loads(post_ret)

        self.addCleanup(self.delete_l2_gateway, l2gw['l2_gateway']['id'])

        return l2gw['l2_gateway']
Exemplo n.º 4
0
    def create_bgp_peer(self, name, peer_ip, remote_as, auth_type='none',
                        tenant_id='admin'):
        peer_dict = {'name': name,
                     'tenant_id': tenant_id,
                     'peer_ip': peer_ip,
                     'auth_type': auth_type,
                     'remote_as': remote_as}
        url = self.endpoint_url + 'bgp-peers.json'
        peer_data = {'bgp_peer': peer_dict}
        post_ret = http_post(
            url, peer_data, token=self.api.httpclient.auth_token)

        peer = json.loads(post_ret)
        self.addCleanup(self.delete_bgp_peer, peer['bgp_peer']['id'])

        return peer['bgp_peer']
Exemplo n.º 5
0
    def create_l2_gateway_connection(self, net_id, segment_id, l2gw_id):
        url = self.endpoint_url + 'l2-gateway-connections'
        l2gw_conn_dict = {"network_id": net_id,
                          "segmentation_id": segment_id,
                          "l2_gateway_id": l2gw_id,
                          "tenant_id": "admin"}

        l2gw_conn_data = {"l2_gateway_connection": l2gw_conn_dict}
        post_ret = http_post(
            url, l2gw_conn_data, token=self.api.httpclient.auth_token)

        l2gw_conn = json.loads(post_ret)

        self.addCleanup(self.delete_l2_gateway_connection,
                        l2gw_conn['l2_gateway_connection']['id'])

        return l2gw_conn["l2_gateway_connection"]
Exemplo n.º 6
0
    def create_remote_mac_entry(self, ip, mac, segment_id, gwdev_id):
        url = (self.endpoint_url + 'gw/gateway_devices/' + gwdev_id +
               '/remote_mac_entries')
        rme_dict = {"vtep_address": ip,
                    "mac_address": mac,
                    "segmentation_id": segment_id,
                    "tenant_id": "admin"}

        rme_data = {"remote_mac_entry": rme_dict}
        post_ret = http_post(
            url, rme_data, token=self.api.httpclient.auth_token)

        rme = json.loads(post_ret)

        self.addCleanup(self.delete_remote_mac_entry, gwdev_id,
                        rme['remote_mac_entry']['id'])

        return rme['remote_mac_entry']
Exemplo n.º 7
0
    def create_gateway_device(self, resource_id, name='dev',
                              tunnel_ip=None, dev_type='router_vtep'):
        url = self.endpoint_url + 'gw/gateway_devices.json'
        gw_dict = {"type": dev_type,
                   "resource_id": resource_id,
                   "tenant_id": 'admin'}

        if dev_type == 'router_vtep':
            gw_dict["name"] = 'gwdev_' + name
            gw_dict["tunnel_ips"] = [tunnel_ip]

        gw_data = {"gateway_device": gw_dict}
        post_ret = http_post(
            url, gw_data, token=self.api.httpclient.auth_token)
        gw = json.loads(post_ret)

        self.addCleanup(self.delete_gateway_device, gw['gateway_device']['id'])

        return gw['gateway_device']
Exemplo n.º 8
0
    def create_l2_gateway(self, name, gw_id):
        url = self.endpoint_url + 'l2-gateways'
        l2gw_dict = {
            "name": name,
            "devices": [{
                "device_id": gw_id
            }],
            "tenant_id": "admin"
        }

        l2gw_data = {"l2_gateway": l2gw_dict}
        post_ret = http_post(url,
                             l2gw_data,
                             token=self.api.httpclient.auth_token)
        l2gw = json.loads(post_ret)

        self.addCleanup(self.delete_l2_gateway, l2gw['l2_gateway']['id'])

        return l2gw['l2_gateway']
Exemplo n.º 9
0
    def create_l2_gateway_connection(self, net_id, segment_id, l2gw_id):
        url = self.endpoint_url + 'l2-gateway-connections'
        l2gw_conn_dict = {
            "network_id": net_id,
            "segmentation_id": segment_id,
            "l2_gateway_id": l2gw_id,
            "tenant_id": "admin"
        }

        l2gw_conn_data = {"l2_gateway_connection": l2gw_conn_dict}
        post_ret = http_post(url,
                             l2gw_conn_data,
                             token=self.api.httpclient.auth_token)

        l2gw_conn = json.loads(post_ret)

        self.addCleanup(self.delete_l2_gateway_connection,
                        l2gw_conn['l2_gateway_connection']['id'])

        return l2gw_conn["l2_gateway_connection"]
Exemplo n.º 10
0
 def create_bgp_speaker(self,
                        name,
                        local_as,
                        router_id,
                        tenant_id='admin',
                        ip_version=4):
     speaker_dict = {
         'name': name,
         'logical_router': router_id,
         'tenant_id': tenant_id,
         'local_as': local_as,
         'ip_version': ip_version
     }
     url = self.endpoint_url + 'bgp-speakers.json'
     speaker_data = {'bgp_speaker': speaker_dict}
     post_ret = http_post(url,
                          speaker_data,
                          token=self.api.httpclient.auth_token)
     speaker = json.loads(post_ret)
     self.addCleanup(self.delete_bgp_speaker, speaker['bgp_speaker']['id'])
     return speaker['bgp_speaker']
Exemplo n.º 11
0
    def create_remote_mac_entry(self, ip, mac, segment_id, gwdev_id):
        url = (self.endpoint_url + 'gw/gateway_devices/' + gwdev_id +
               '/remote_mac_entries')
        rme_dict = {
            "vtep_address": ip,
            "mac_address": mac,
            "segmentation_id": segment_id,
            "tenant_id": "admin"
        }

        rme_data = {"remote_mac_entry": rme_dict}
        post_ret = http_post(url,
                             rme_data,
                             token=self.api.httpclient.auth_token)

        rme = json.loads(post_ret)

        self.addCleanup(self.delete_remote_mac_entry, gwdev_id,
                        rme['remote_mac_entry']['id'])

        return rme['remote_mac_entry']
Exemplo n.º 12
0
    def create_bgp_peer(self,
                        name,
                        peer_ip,
                        remote_as,
                        auth_type='none',
                        tenant_id='admin'):
        peer_dict = {
            'name': name,
            'tenant_id': tenant_id,
            'peer_ip': peer_ip,
            'auth_type': auth_type,
            'remote_as': remote_as
        }
        url = self.endpoint_url + 'bgp-peers.json'
        peer_data = {'bgp_peer': peer_dict}
        post_ret = http_post(url,
                             peer_data,
                             token=self.api.httpclient.auth_token)

        peer = json.loads(post_ret)
        self.addCleanup(self.delete_bgp_peer, peer['bgp_peer']['id'])

        return peer['bgp_peer']