def create_pending_actions_db(): """Create database objects including a pending NetworkingAction. The first version of this function was used to create the dump 'pending-networking-actions.sql'. """ # At a minimum we need a project, node, nic, switch, port, and network: api.project_create('runway') api.node_register( 'node-1', obm={ 'type': MOCK_OBM_TYPE, 'user': '******', 'host': 'host', 'password': '******', }, ) api.node_register_nic('node-1', 'pxe', 'de:ad:be:ef:20:16') api.switch_register( 'sw0', type=MOCK_SWITCH_TYPE, username='******', hostname='host', password='******', ) api.switch_register_port('sw0', 'gi1/0/4') api.port_connect_nic('sw0', 'gi1/0/4', 'node-1', 'pxe') api.project_connect_node('runway', 'node-1') api.network_create('runway_pxe', 'runway', 'runway', '') # Queue up a networking action. Importantly, we do *not* call # deferred.apply_networking, as that would flush the action and # remove it from the database. api.node_connect_network('node-1', 'pxe', 'runway_pxe')
def network_create_simple(network, project): """Create a simple project-owned network. This is a shorthand for the network_create API call, that defaults parameters to the most common case---namely, that the network is owned by a project, has access only by that project, and uses an allocated underlying net_id. Note that this is the only valid set of parameters for a network that belongs to a project. The test-suite uses this extensively, for tests that don't care about more complicated features of networks. """ api.network_create(network, project, project, "")
def test_vlanid_for_admin_network(): """ Test for valid vlanID for administrator-owned networks. """ # create a network with a string vlan id with pytest.raises(api.BadArgumentError): api.network_create('hammernet', 'admin', '', 'yes') # create a network with a vlanid>4096 with pytest.raises(api.BadArgumentError): api.network_create('nailnet', 'admin', '', '5023') # create a netowrk with a vlanid<1 with pytest.raises(api.BadArgumentError): api.network_create('nailnet', 'admin', '', '-2')