def test_get_keystone_client(self, client_mock, environ): clients.get_keystone_client() client_mock.assert_called_once_with( username=environ["OS_USERNAME"], password=environ["OS_PASSWORD"], auth_url=environ["OS_AUTH_URL"], tenant_name=environ["OS_TENANT_NAME"])
def initialize_neutron(network_desc): neutron = clients.get_neutron_client() keystone = clients.get_keystone_client() admin_tenant = _get_admin_tenant_id(keystone) if 'physical' in network_desc: network_type = 'physical' if not admin_tenant: raise ValueError("No admin tenant registered in Keystone") if not network_desc['physical']['metadata_server']: raise ValueError("metadata_server is required for physical " "networks") elif 'float' in network_desc: network_type = 'float' else: raise ValueError("No float or physical network defined.") net = _create_net(neutron, network_desc, network_type, admin_tenant) subnet = _create_subnet(neutron, net, network_desc, network_type, admin_tenant) if 'external' in network_desc: router = _create_router(neutron, subnet) ext_net = _create_net(neutron, network_desc, 'external', None) _create_subnet(neutron, ext_net, network_desc, 'external', None) neutron.add_gateway_router(router['router']['id'], {'network_id': ext_net['network']['id']}) LOG.debug("Neutron configured.")
def using_ironic(keystone=None): LOG.debug('Checking for usage of ironic.') if keystone is None: keystone = clients.get_keystone_client() return 'ironic' in [service.name for service in keystone.services.list()]