def collect(self): results = {} neutron_client = NeutronAPIClient( username=self.username, password=self.password, auth_url=self.auth_url, project_id=self.project_id, region_name=self.region_name, ) result = yield neutron_client.agents() results["agents"] = result["agents"] result = yield neutron_client.networks() results["networks"] = result["networks"] result = yield neutron_client.subnets() results["subnets"] = result["subnets"] result = yield neutron_client.routers() results["routers"] = result["routers"] result = yield neutron_client.ports() results["ports"] = result["ports"] result = yield neutron_client.security_groups() results["security_groups"] = result["security_groups"] result = yield neutron_client.floatingips() results["floatingips"] = result["floatingips"] returnValue(results)
for subnet in network["subnets"]: _subnets.append(subnet) _agent["dhcp_agent_subnets"] = _subnets _agent["dhcp_agent_networks"] = _networks result = yield neutron_client.networks() results["networks"] = result["networks"] result = yield neutron_client.subnets() results["subnets"] = result["subnets"] result = yield neutron_client.routers() results["routers"] = result["routers"] result = yield neutron_client.ports() results["ports"] = result["ports"] result = yield neutron_client.floatingips() results["floatingips"] = result["floatingips"] # Do some DNS lookups as well. hostnames = set([x["host"] for x in results["services"]]) hostnames.update([x["host"] for x in results["agents"]]) hostnames.update(device.zOpenStackExtraHosts) hostnames.update(device.zOpenStackNovaApiHosts) try: hostnames.add(urlparse(results["nova_url"]).hostname) except Exception, e: log.warning("Unable to determine nova URL for nova-api component discovery: %s" % e)