Merge "Merge V2 and V2.1 networks functional tests"

This commit is contained in:
Jenkins 2015-04-28 00:55:40 +00:00 committed by Gerrit Code Review
commit d65b8e201b
31 changed files with 27 additions and 762 deletions

View File

@ -1,12 +0,0 @@
{
"network": {
"label": "new net 111",
"cidr": "10.20.105.0/24",
"mtu": 9000,
"dhcp_server": "10.20.105.2",
"enable_dhcp": false,
"share_address": true,
"allowed_start": "10.20.105.10",
"allowed_end": "10.20.105.200"
}
}

View File

@ -1,36 +0,0 @@
{
"network": {
"bridge": null,
"bridge_interface": null,
"broadcast": "10.20.105.255",
"cidr": "10.20.105.0/24",
"cidr_v6": null,
"created_at": null,
"deleted": null,
"deleted_at": null,
"dhcp_server": "10.20.105.2",
"dhcp_start": "10.20.105.2",
"dns1": null,
"dns2": null,
"enable_dhcp": false,
"gateway": "10.20.105.1",
"gateway_v6": null,
"host": null,
"id": "d7a17c0c-457e-4ab4-a99c-4fa1762f5359",
"injected": null,
"label": "new net 111",
"mtu": 9000,
"multi_host": null,
"netmask": "255.255.255.0",
"netmask_v6": null,
"priority": null,
"project_id": null,
"rxtx_base": null,
"share_address": true,
"updated_at": null,
"vlan": null,
"vpn_private_address": null,
"vpn_public_address": null,
"vpn_public_port": null
}
}

View File

@ -1,36 +0,0 @@
{
"network": {
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "10.0.0.7",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "2011-08-15T06:19:19.387525",
"deleted": false,
"deleted_at": null,
"dhcp_server": "10.0.0.1",
"dhcp_start": "10.0.0.3",
"dns1": null,
"dns2": null,
"enable_dhcp": true,
"gateway": "10.0.0.1",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "20c8acc0-f747-4d71-a389-46d078ebf047",
"injected": false,
"label": "mynet_0",
"mtu": null,
"multi_host": false,
"netmask": "255.255.255.248",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"share_address": false,
"updated_at": "2011-08-16T09:26:13.048257",
"vlan": 100,
"vpn_private_address": "10.0.0.2",
"vpn_public_address": "127.0.0.1",
"vpn_public_port": 1000
}
}

View File

@ -1,72 +0,0 @@
{
"networks": [
{
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "10.0.0.7",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "2011-08-15T06:19:19.387525",
"deleted": false,
"deleted_at": null,
"dhcp_server": "10.0.0.1",
"dhcp_start": "10.0.0.3",
"dns1": null,
"dns2": null,
"enable_dhcp": true,
"gateway": "10.0.0.1",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "20c8acc0-f747-4d71-a389-46d078ebf047",
"injected": false,
"label": "mynet_0",
"mtu": null,
"multi_host": false,
"netmask": "255.255.255.248",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"share_address": false,
"updated_at": "2011-08-16T09:26:13.048257",
"vlan": 100,
"vpn_private_address": "10.0.0.2",
"vpn_public_address": "127.0.0.1",
"vpn_public_port": 1000
},
{
"bridge": "br101",
"bridge_interface": "eth0",
"broadcast": "10.0.0.15",
"cidr": "10.0.0.10/29",
"cidr_v6": null,
"created_at": "2011-08-15T06:19:19.885495",
"deleted": false,
"deleted_at": null,
"dhcp_server": "10.0.0.9",
"dhcp_start": "10.0.0.11",
"dns1": null,
"dns2": null,
"enable_dhcp": true,
"gateway": "10.0.0.9",
"gateway_v6": null,
"host": null,
"id": "20c8acc0-f747-4d71-a389-46d078ebf000",
"injected": false,
"label": "mynet_1",
"mtu": null,
"multi_host": false,
"netmask": "255.255.255.248",
"netmask_v6": null,
"priority": null,
"project_id": null,
"rxtx_base": null,
"share_address": false,
"updated_at": null,
"vlan": 101,
"vpn_private_address": "10.0.0.10",
"vpn_public_address": null,
"vpn_public_port": 1001
}
]
}

View File

@ -1,3 +0,0 @@
{
"associate_host": "testHost"
}

View File

@ -1,3 +0,0 @@
{
"disassociate_host": null
}

View File

@ -1,3 +0,0 @@
{
"disassociate_project": null
}

View File

@ -1,3 +0,0 @@
{
"disassociate": null
}

View File

@ -1 +0,0 @@
{"id": "1"}

View File

@ -1,6 +0,0 @@
{
"network": {
"label": "new net 111",
"cidr": "10.20.105.0/24"
}
}

View File

@ -1,32 +0,0 @@
{
"network": {
"bridge": null,
"bridge_interface": null,
"broadcast": "10.20.105.255",
"cidr": "10.20.105.0/24",
"cidr_v6": null,
"created_at": null,
"deleted": null,
"deleted_at": null,
"dhcp_start": "10.20.105.2",
"dns1": null,
"dns2": null,
"gateway": "10.20.105.1",
"gateway_v6": null,
"host": null,
"id": "668687f9-d724-4976-a6f4-a6fd3ad83da3",
"injected": null,
"label": "new net 111",
"multi_host": null,
"netmask": "255.255.255.0",
"netmask_v6": null,
"priority": null,
"project_id": null,
"rxtx_base": null,
"updated_at": null,
"vlan": null,
"vpn_private_address": null,
"vpn_public_address": null,
"vpn_public_port": null
}
}

View File

@ -1,32 +0,0 @@
{
"network": {
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "10.0.0.7",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "2011-08-15T06:19:19.387525",
"deleted": false,
"deleted_at": null,
"dhcp_start": "10.0.0.3",
"dns1": null,
"dns2": null,
"gateway": "10.0.0.1",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "20c8acc0-f747-4d71-a389-46d078ebf047",
"injected": false,
"label": "mynet_0",
"multi_host": false,
"netmask": "255.255.255.248",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"updated_at": "2011-08-16T09:26:13.048257",
"vlan": 100,
"vpn_private_address": "10.0.0.2",
"vpn_public_address": "127.0.0.1",
"vpn_public_port": 1000
}
}

View File

@ -1 +0,0 @@
{"disassociate": null}

View File

@ -1,64 +0,0 @@
{
"networks": [
{
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "10.0.0.7",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "2011-08-15T06:19:19.387525",
"deleted": false,
"deleted_at": null,
"dhcp_start": "10.0.0.3",
"dns1": null,
"dns2": null,
"gateway": "10.0.0.1",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "20c8acc0-f747-4d71-a389-46d078ebf047",
"injected": false,
"label": "mynet_0",
"multi_host": false,
"netmask": "255.255.255.248",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"updated_at": "2011-08-16T09:26:13.048257",
"vlan": 100,
"vpn_private_address": "10.0.0.2",
"vpn_public_address": "127.0.0.1",
"vpn_public_port": 1000
},
{
"bridge": "br101",
"bridge_interface": "eth0",
"broadcast": "10.0.0.15",
"cidr": "10.0.0.10/29",
"cidr_v6": null,
"created_at": "2011-08-15T06:19:19.885495",
"deleted": false,
"deleted_at": null,
"dhcp_start": "10.0.0.11",
"dns1": null,
"dns2": null,
"gateway": "10.0.0.9",
"gateway_v6": null,
"host": null,
"id": "20c8acc0-f747-4d71-a389-46d078ebf000",
"injected": false,
"label": "mynet_1",
"multi_host": false,
"netmask": "255.255.255.248",
"netmask_v6": null,
"priority": null,
"project_id": null,
"rxtx_base": null,
"updated_at": null,
"vlan": 101,
"vpn_private_address": "10.0.0.10",
"vpn_public_address": null,
"vpn_public_port": 1001
}
]
}

View File

@ -1,12 +0,0 @@
{
"network": {
"label": "new net 111",
"cidr": "10.20.105.0/24",
"mtu": 9000,
"dhcp_server": "10.20.105.2",
"enable_dhcp": false,
"share_address": true,
"allowed_start": "10.20.105.10",
"allowed_end": "10.20.105.200"
}
}

View File

@ -1,36 +0,0 @@
{
"network": {
"bridge": null,
"vpn_public_port": null,
"dhcp_start": "%(ip)s",
"bridge_interface": null,
"updated_at": null,
"id": "%(id)s",
"cidr_v6": null,
"deleted_at": null,
"gateway": "%(ip)s",
"rxtx_base": null,
"label": "new net 111",
"priority": null,
"project_id": null,
"vpn_private_address": null,
"deleted": null,
"vlan": null,
"broadcast": "%(ip)s",
"netmask": "%(ip)s",
"injected": null,
"cidr": "10.20.105.0/24",
"vpn_public_address": null,
"multi_host": null,
"dns2": null,
"created_at": null,
"host": null,
"gateway_v6": null,
"netmask_v6": null,
"dns1": null,
"mtu": 9000,
"dhcp_server": "10.20.105.2",
"enable_dhcp": false,
"share_address": true
}
}

View File

@ -1,37 +0,0 @@
{
"network":
{
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "%(ip)s",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "%(strtime)s",
"deleted": false,
"deleted_at": null,
"dhcp_start": "%(ip)s",
"dns1": null,
"dns2": null,
"gateway": "%(ip)s",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "%(id)s",
"injected": false,
"label": "mynet_0",
"multi_host": false,
"netmask": "%(ip)s",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"updated_at": "%(strtime)s",
"vlan": 100,
"vpn_private_address": "%(ip)s",
"vpn_public_address": "%(ip)s",
"vpn_public_port": 1000,
"mtu": null,
"dhcp_server": "%(ip)s",
"enable_dhcp": true,
"share_address": false
}
}

View File

@ -1,72 +0,0 @@
{
"networks": [
{
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "%(ip)s",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "%(strtime)s",
"deleted": false,
"deleted_at": null,
"dhcp_start": "%(ip)s",
"dns1": null,
"dns2": null,
"gateway": "%(ip)s",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "%(id)s",
"injected": false,
"label": "mynet_0",
"multi_host": false,
"netmask": "%(ip)s",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"updated_at": "%(strtime)s",
"vlan": 100,
"vpn_private_address": "%(ip)s",
"vpn_public_address": "%(ip)s",
"vpn_public_port": 1000,
"mtu": null,
"dhcp_server": "%(ip)s",
"enable_dhcp": true,
"share_address": false
},
{
"bridge": "br101",
"bridge_interface": "eth0",
"broadcast": "%(ip)s",
"cidr": "10.0.0.10/29",
"cidr_v6": null,
"created_at": "%(strtime)s",
"deleted": false,
"deleted_at": null,
"dhcp_start": "%(ip)s",
"dns1": null,
"dns2": null,
"gateway": "%(ip)s",
"gateway_v6": null,
"host": null,
"id": "%(id)s",
"injected": false,
"label": "mynet_1",
"multi_host": false,
"netmask": "%(ip)s",
"netmask_v6": null,
"priority": null,
"project_id": null,
"rxtx_base": null,
"updated_at": null,
"vlan": 101,
"vpn_private_address": "%(ip)s",
"vpn_public_address": null,
"vpn_public_port": 1001,
"mtu": null,
"dhcp_server": "%(ip)s",
"enable_dhcp": true,
"share_address": false
}
]
}

View File

@ -1,3 +0,0 @@
{
"associate_host": "%(host)s"
}

View File

@ -1,6 +0,0 @@
{
"network": {
"label": "new net 111",
"cidr": "10.20.105.0/24"
}
}

View File

@ -1,32 +0,0 @@
{
"network": {
"bridge": null,
"vpn_public_port": null,
"dhcp_start": "%(ip)s",
"bridge_interface": null,
"updated_at": null,
"id": "%(id)s",
"cidr_v6": null,
"deleted_at": null,
"gateway": "%(ip)s",
"rxtx_base": null,
"label": "new net 111",
"priority": null,
"project_id": null,
"vpn_private_address": null,
"deleted": null,
"vlan": null,
"broadcast": "%(ip)s",
"netmask": "%(ip)s",
"injected": null,
"cidr": "10.20.105.0/24",
"vpn_public_address": null,
"multi_host": null,
"dns2": null,
"created_at": null,
"host": null,
"gateway_v6": null,
"netmask_v6": null,
"dns1": null
}
}

View File

@ -1,33 +0,0 @@
{
"network":
{
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "%(ip)s",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "%(strtime)s",
"deleted": false,
"deleted_at": null,
"dhcp_start": "%(ip)s",
"dns1": null,
"dns2": null,
"gateway": "%(ip)s",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "%(id)s",
"injected": false,
"label": "mynet_0",
"multi_host": false,
"netmask": "%(ip)s",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"updated_at": "%(strtime)s",
"vlan": 100,
"vpn_private_address": "%(ip)s",
"vpn_public_address": "%(ip)s",
"vpn_public_port": 1000
}
}

View File

@ -1,64 +0,0 @@
{
"networks": [
{
"bridge": "br100",
"bridge_interface": "eth0",
"broadcast": "%(ip)s",
"cidr": "10.0.0.0/29",
"cidr_v6": null,
"created_at": "%(strtime)s",
"deleted": false,
"deleted_at": null,
"dhcp_start": "%(ip)s",
"dns1": null,
"dns2": null,
"gateway": "%(ip)s",
"gateway_v6": null,
"host": "nsokolov-desktop",
"id": "%(id)s",
"injected": false,
"label": "mynet_0",
"multi_host": false,
"netmask": "%(ip)s",
"netmask_v6": null,
"priority": null,
"project_id": "1234",
"rxtx_base": null,
"updated_at": "%(strtime)s",
"vlan": 100,
"vpn_private_address": "%(ip)s",
"vpn_public_address": "%(ip)s",
"vpn_public_port": 1000
},
{
"bridge": "br101",
"bridge_interface": "eth0",
"broadcast": "%(ip)s",
"cidr": "10.0.0.10/29",
"cidr_v6": null,
"created_at": "%(strtime)s",
"deleted": false,
"deleted_at": null,
"dhcp_start": "%(ip)s",
"dns1": null,
"dns2": null,
"gateway": "%(ip)s",
"gateway_v6": null,
"host": null,
"id": "%(id)s",
"injected": false,
"label": "mynet_1",
"multi_host": false,
"netmask": "%(ip)s",
"netmask_v6": null,
"priority": null,
"project_id": null,
"rxtx_base": null,
"updated_at": null,
"vlan": 101,
"vpn_private_address": "%(ip)s",
"vpn_public_address": null,
"vpn_public_port": 1001
}
]
}

View File

@ -50,7 +50,6 @@ from nova import test
from nova.tests.functional import api_samples_test_base
from nova.tests.functional import integrated_helpers
from nova.tests.unit.api.openstack.compute.contrib import test_fping
from nova.tests.unit.api.openstack.compute.contrib import test_networks
from nova.tests.unit.api.openstack.compute.contrib import test_services
from nova.tests.unit.api.openstack import fakes
from nova.tests.unit import fake_network
@ -1514,157 +1513,6 @@ class DiskConfigJsonTest(ServersSampleBase):
self._verify_response('image-list-resp', subs, response, 200)
class NetworksJsonTests(ApiSampleTestBaseV2):
ADMIN_API = True
extension_name = ("nova.api.openstack.compute.contrib"
".os_networks.Os_networks")
def setUp(self):
super(NetworksJsonTests, self).setUp()
fake_network_api = test_networks.FakeNetworkAPI()
self.stubs.Set(network_api.API, "get_all",
fake_network_api.get_all)
self.stubs.Set(network_api.API, "get",
fake_network_api.get)
self.stubs.Set(network_api.API, "associate",
fake_network_api.associate)
self.stubs.Set(network_api.API, "delete",
fake_network_api.delete)
self.stubs.Set(network_api.API, "create",
fake_network_api.create)
self.stubs.Set(network_api.API, "add_network_to_project",
fake_network_api.add_network_to_project)
def test_network_list(self):
response = self._do_get('os-networks')
subs = self._get_regexes()
self._verify_response('networks-list-resp', subs, response, 200)
def test_network_disassociate(self):
uuid = test_networks.FAKE_NETWORKS[0]['uuid']
response = self._do_post('os-networks/%s/action' % uuid,
'networks-disassociate-req', {})
self.assertEqual(response.status_code, 202)
self.assertEqual(response.content, "")
def test_network_show(self):
uuid = test_networks.FAKE_NETWORKS[0]['uuid']
response = self._do_get('os-networks/%s' % uuid)
subs = self._get_regexes()
self._verify_response('network-show-resp', subs, response, 200)
def test_network_create(self):
response = self._do_post("os-networks",
'network-create-req', {})
subs = self._get_regexes()
self._verify_response('network-create-resp', subs, response, 200)
def test_network_add(self):
response = self._do_post("os-networks/add",
'network-add-req', {})
self.assertEqual(response.status_code, 202)
self.assertEqual(response.content, "")
def test_network_delete(self):
response = self._do_delete('os-networks/always_delete')
self.assertEqual(response.status_code, 202)
self.assertEqual(response.content, "")
class ExtendedNetworksJsonTests(ApiSampleTestBaseV2):
ADMIN_API = True
extends_name = ("nova.api.openstack.compute.contrib."
"os_networks.Os_networks")
extension_name = ("nova.api.openstack.compute.contrib."
"extended_networks.Extended_networks")
def setUp(self):
super(ExtendedNetworksJsonTests, self).setUp()
fake_network_api = test_networks.FakeNetworkAPI()
self.stubs.Set(network_api.API, "get_all",
fake_network_api.get_all)
self.stubs.Set(network_api.API, "get",
fake_network_api.get)
self.stubs.Set(network_api.API, "associate",
fake_network_api.associate)
self.stubs.Set(network_api.API, "delete",
fake_network_api.delete)
self.stubs.Set(network_api.API, "create",
fake_network_api.create)
self.stubs.Set(network_api.API, "add_network_to_project",
fake_network_api.add_network_to_project)
def test_network_list(self):
response = self._do_get('os-networks')
subs = self._get_regexes()
self._verify_response('networks-list-resp', subs, response, 200)
def test_network_show(self):
uuid = test_networks.FAKE_NETWORKS[0]['uuid']
response = self._do_get('os-networks/%s' % uuid)
subs = self._get_regexes()
self._verify_response('network-show-resp', subs, response, 200)
def test_network_create(self):
response = self._do_post("os-networks",
'network-create-req', {})
subs = self._get_regexes()
self._verify_response('network-create-resp', subs, response, 200)
class NetworksAssociateJsonTests(ApiSampleTestBaseV2):
extension_name = ("nova.api.openstack.compute.contrib"
".networks_associate.Networks_associate")
_sentinel = object()
def _get_flags(self):
f = super(NetworksAssociateJsonTests, self)._get_flags()
f['osapi_compute_extension'] = CONF.osapi_compute_extension[:]
# Networks_associate requires Networks to be update
f['osapi_compute_extension'].append(
'nova.api.openstack.compute.contrib.os_networks.Os_networks')
return f
def setUp(self):
super(NetworksAssociateJsonTests, self).setUp()
def fake_associate(self, context, network_id,
host=NetworksAssociateJsonTests._sentinel,
project=NetworksAssociateJsonTests._sentinel):
return True
self.stubs.Set(network_api.API, "associate", fake_associate)
def test_disassociate(self):
response = self._do_post('os-networks/1/action',
'network-disassociate-req',
{})
self.assertEqual(response.status_code, 202)
self.assertEqual(response.content, "")
def test_disassociate_host(self):
response = self._do_post('os-networks/1/action',
'network-disassociate-host-req',
{})
self.assertEqual(response.status_code, 202)
self.assertEqual(response.content, "")
def test_disassociate_project(self):
response = self._do_post('os-networks/1/action',
'network-disassociate-project-req',
{})
self.assertEqual(response.status_code, 202)
self.assertEqual(response.content, "")
def test_associate_host(self):
response = self._do_post('os-networks/1/action',
'network-associate-host-req',
{"host": "testHost"})
self.assertEqual(response.status_code, 202)
self.assertEqual(response.content, "")
class BlockDeviceMappingV2BootJsonTest(ServersSampleBase):
extension_name = ('nova.api.openstack.compute.contrib.'
'block_device_mapping_v2_boot.'

View File

@ -13,14 +13,33 @@
# License for the specific language governing permissions and limitations
# under the License.
from oslo_config import cfg
from nova.network import api as network_api
from nova.tests.functional.v3 import api_sample_base
from nova.tests.unit.api.openstack.compute.contrib import test_networks
CONF = cfg.CONF
CONF.import_opt('osapi_compute_extension',
'nova.api.openstack.compute.extensions')
class NetworksJsonTests(api_sample_base.ApiSampleTestBaseV3):
ADMIN_API = True
extension_name = "os-networks"
# TODO(gmann): Overriding '_api_version' till all functional tests
# are merged between v2 and v2.1. After that base class variable
# itself can be changed to 'v2'
_api_version = 'v2'
def _get_flags(self):
f = super(NetworksJsonTests, self)._get_flags()
f['osapi_compute_extension'] = CONF.osapi_compute_extension[:]
f['osapi_compute_extension'].append('nova.api.openstack.compute.'
'contrib.os_networks.Os_networks')
f['osapi_compute_extension'].append('nova.api.openstack.compute.'
'contrib.extended_networks.Extended_networks')
return f
def setUp(self):
super(NetworksJsonTests, self).setUp()

View File

@ -24,8 +24,13 @@ CONF.import_opt('osapi_compute_extension',
class NetworksAssociateJsonTests(api_sample_base.ApiSampleTestBaseV3):
ADMIN_API = True
extension_name = "os-networks-associate"
extra_extensions_to_load = ["os-networks"]
# TODO(gmann): Overriding '_api_version' till all functional tests
# are merged between v2 and v2.1. After that base class variable
# itself can be changed to 'v2'
_api_version = 'v2'
_sentinel = object()
@ -35,6 +40,9 @@ class NetworksAssociateJsonTests(api_sample_base.ApiSampleTestBaseV3):
# Networks_associate requires Networks to be update
f['osapi_compute_extension'].append(
'nova.api.openstack.compute.contrib.os_networks.Os_networks')
f['osapi_compute_extension'].append(
'nova.api.openstack.compute.contrib.networks_associate.'
'Networks_associate')
return f
def setUp(self):