Openstack Version: kilo
I have created ceilometer alarms as follows: (using heat stack I have created the stack which has two alarms and VM is created successully)
ceilometer alarm-list
+--------------------------------------+-----------------------------------------+-------------------+----------+---------+------------+--------------------------------+------------------+
| Alarm ID | Name | State | Severity | Enabled | Continuous | Alarm condition | Time constraints |
+--------------------------------------+-----------------------------------------+-------------------+----------+---------+------------+--------------------------------+------------------+
| 1bfc9cfa-ec01-4006-97ef-73ce0c818634 | autoscaling-cpu_alarm_low-42jb2u7h7hur | insufficient data | low | True | True | cpu_util < 20.0 during 1 x 60s | None |
| fbc503bf-bc12-4d6e-837b-330055574922 | autoscaling-cpu_alarm_high-3zk2xm7cfjsu | insufficient data | low | True | True | cpu_util > 40.0 during 1 x 60s | None |
+--------------------------------------+---------
Alarm state is not modifying.
when I checked for errors I found error ""code": 401, "title": "Unauthorized" in ceilometer-agent-central as follows:
REQ: curl -i http://180.168.1.77:5000/v2.0/tokens/4400867f975b4512b3ffcf6b5eff7bab/endpoints -X GET -H "User-Agent: python-neutronclient"
http_log_req /usr/lib/python2.7/dist-packages/neutronclient/common/utils.py:130
2016-05-11 17:06:14.996 16616 DEBUG neutronclient.client [-] RESP:401 {'content-length': '114', 'x-distribution': 'Ubuntu', 'vary': 'X-Auth-Token', 'www-authenticate': 'Keystone uri="http://180.168.1.77:5000"', 'connection': 'keep-alive', 'date': 'Wed, 11 May 2016 11:36:14 GMT', 'content-type': 'application/json', 'x-openstack-request-id': 'req-edd4ed6e-165f-4288-9d09-61513e4480a2'} {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}
http_log_resp /usr/lib/python2.7/dist-packages/neutronclient/common/utils.py:139
2016-05-11 17:06:14.996 16616 DEBUG neutronclient.client [-]
REQ: curl -i http://180.168.1.77:5000/v2.0/tokens -X POST -H "User-Agent: python-neutronclient" -d '{"auth": {"tenantName": "service", "passwordCredentials": {"username": "ceilometer", "password": "REDACTED"}}}'
http_log_req /usr/lib/python2.7/dist-packages/neutronclient/common/utils.py:130
2016-05-11 17:06:15.104 16616 DEBUG neutronclient.client [-] RESP:200 {'content-length': '2687', 'vary': 'X-Auth-Token', 'x-openstack-request-id': 'req-67627a88-2898-49e5-b825-5c450836a363', 'connection': 'keep-alive', 'date': 'Wed, 11 May 2016 11:36:15 GMT', 'content-type': 'application/json', 'x-distribution': 'Ubuntu'} {"access": {"token": {"issued_at": "2016-05-11T11:36:15.038414", "expires": "2016-05-11T12:36:15Z", "id": "e0b5b7348b0240f09b897c5266bed976", "tenant": {"description": "Service Tenant", "enabled": true, "id": "dd1fccee74c442e8bf6c44e3aed9511b", "name": "service"}, "audit_ids": ["qs7B-qWtQdKTJIzAYb-NPA"]}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://180.168.1.77:8774/v2/dd1fccee74c442e8bf6c44e3aed9511b", "region": "regionOne", "internalURL": "http://180.168.1.77:8774/v2/dd1fccee74c442e8bf6c44e3aed9511b", "id": "118b8ac2a40c496e84740f013f6e7dbf", "publicURL": "http://180.168.1.77:8774/v2/dd1fccee74c442e8bf6c44e3aed9511b"}], "endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": "http://180.168.1.77:9696", "region": "regionOne", "internalURL": "http://180.168.1.77:9696", "id": "289d6e3940014449936ed89392b30c6b", "publicURL": "http://180.168.1.77:9696"}], "endpoints_links": [], "type": "network", "name": "neutron"}, {"endpoints": [{"adminURL": "http://180.168.1.77:9292", "region": "regionOne", "internalURL": "http://180.168.1.77:9292", "id": "471c4bc00dad45d5bcb051c6a1f50b70", "publicURL": "http://180.168.1.77:9292"}], "endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL": "http://180.168.1.77:8777", "region": "regionOne", "internalURL": "http://180.168.1.77:8777", "id": "036e7732594a45d3afe3dab845918432", "publicURL": "http://180.168.1.77:8777"}], "endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints": [{"adminURL": "http://180.168.1.77:8000/v1", "region": "regionOne", "internalURL": "http://180.168.1.77:8000/v1", "id": "6be05261d174472995ee94d7e5bad5c5", "publicURL": "http://180.168.1.77:8000/v1"}], "endpoints_links": [], "type": "cloudformation", "name": "heat-cfn"}, {"endpoints": [{"adminURL": "http://180.168.1.77:8004/v1/dd1fccee74c442e8bf6c44e3aed9511b", "region": "regionOne", "internalURL": "http://180.168.1.77:8004/v1/dd1fccee74c442e8bf6c44e3aed9511b", "id": "28d837b3a63241029441078859e3ec58", "publicURL": "http://180.168.1.77:8004/v1/dd1fccee74c442e8bf6c44e3aed9511b"}], "endpoints_links": [], "type": "orchestration", "name": "heat"}, {"endpoints": [{"adminURL": "http://180.168.1.77:35357/v2.0", "region": "regionOne", "internalURL": "http://180.168.1.77:5000/v2.0", "id": "3dd3ce95b7ac4eba973d30ea03064048", "publicURL": "http://180.168.1.77:5000/v2.0"}], "endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username": "ceilometer", "roles_links": [], "id": "8908f79a76f441a8b843b58271c4869b", "roles": [{"name": "admin"}], "name": "ceilometer"}, "metadata": {"is_admin": 0, "roles": ["c5bf81ceded546109db33f8c5765ea66"]}}}
http_log_resp /usr/lib/python2.7/dist-packages/neutronclient/common/utils.py:139
2016-05-11 17:06:15.105 16616 ERROR ceilometer.neutron_client [-] publicURL endpoint for network service not found
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client Traceback (most recent call last):
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/ceilometer/neutron_client.py", line 42, in with_logging
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client return func(*args, **kwargs)
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/ceilometer/neutron_client.py", line 96, in pool_get_all
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client resp = self.client.list_pools()
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 99, in with_params
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client ret = self.function(instance, *args, **kwargs)
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 994, in list_pools
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client **_params)
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 304, in list
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client for r in self._pagination(collection, path, **params):
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 317, in _pagination
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client res = self.get(path, params=params)
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 290, in get
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client headers=headers, params=params)
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 267, in retry_request
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client headers=headers, params=params)
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 197, in do_request
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client content_type=self.content_type())
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 158, in do_request
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client self.authenticate_and_fetch_endpoint_url()
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 125, in authenticate_and_fetch_endpoint_url
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client self.endpoint_url = self._get_endpoint_url()
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 254, in _get_endpoint_url
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client self.authenticate()
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 237, in authenticate
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client self._authenticate_keystone()
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 226, in _authenticate_keystone
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client self._extract_service_catalog(resp_body)
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/neutronclient/client.py", line 192, in _extract_service_catalog
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client endpoint_type=self.endpoint_type)
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/keystoneclient/utils.py", line 318, in inner
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client return func(*args, **kwargs)
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client File "/usr/lib/python2.7/dist-packages/keystoneclient/service_catalog.py", line 254, in url_for
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client raise exceptions.EndpointNotFound(msg)
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client EndpointNotFound: publicURL endpoint for network service not found
2016-05-11 17:06:15.105 16616 TRACE ceilometer.neutron_client
2016-05-11 17:06:15.106 16616 ERROR ceilometer.agent.base [-] Unable to discover resources: publicURL endpoint for network service not found
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base Traceback (most recent call last):
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/ceilometer/agent/base.py", line 346, in discover
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base discovered = discoverer.discover(self, param)
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/ceilometer/agent/plugin_base.py", line 81, in func
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base return f(self, *args, **kwargs)
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/ceilometer/network/services/discovery.py", line 34, in discover
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base pools = self.neutron_cli.pool_get_all()
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/ceilometer/neutron_client.py", line 42, in with_logging
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base return func(*args, **kwargs)
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/ceilometer/neutron_client.py", line 96, in pool_get_all
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base resp = self.client.list_pools()
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 99, in with_params
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base ret = self.function(instance, *args, **kwargs)
2016-05-11 17:06:15.106 16616 TRACE ceilometer.agent.base File "/usr/lib/python2.7/dist-packages/neutronclient/v2_0/client.py", line 994, in list_pools
keystone endpoint-list
+----------------------------------+-----------+-------------------------------------------+-------------------------------------------+-------------------------------------------+----------------------------------+
| id | region | publicurl | internalurl | adminurl | service_id |
+----------------------------------+-----------+-------------------------------------------+-------------------------------------------+-------------------------------------------+----------------------------------+
| 1e0f0ff354974dd888da285359b8ac39 | regionOne | http://180.168.1.77:8000/v1 | http://180.168.1.77:8000/v1 | http://180.168.1.77:8000/v1 | 04b9e532b87d4f15a6aa6b3aa55ecfe0 |
| 3b6c6c8f4d724c379c1591000c359961 | regionOne | http://180.168.1.77:8774/v2/%(tenant_id)s | http://180.168.1.77:8774/v2/%(tenant_id)s | http://180.168.1.77:8774/v2/%(tenant_id)s | 36d15e8b4535473682dd25c9a4ef2b22 |
| 9e781a60943f41b5aef68eaa78ee9051 | regionOne | http://180.168.1.77:5000/v2.0 | http://180.168.1.77:5000/v2.0 | http://180.168.1.77:35357/v2.0 | 53da348b4d2f45cc991e8ceb2d1cb66b |
| d4f488f2179b4aa8bfbdba01517bb6d7 | regionOne | http://180.168.1.77:8777 | http://180.168.1.77:8777 | http://180.168.1.77:8777 | 1aae5705945c48e38031e6232b0cc767 |
| d5cd461863634d0eb35f2204e0cfab17 | regionOne | http://180.168.1.77:9292 | http://180.168.1.77:9292 | http://180.168.1.77:9292 | d0f222adc92646cf981c65639fab4029 |
| e81f644296d04143a62edab929008844 | regionOne | http://180.168.1.77:9696 | http://180.168.1.77:9696 | http://180.168.1.77:9696 | 3e6c04ab1616433b9f70369595520c35 |
| ee26562cb6e645679a3f490dbfcca1d8 | regionOne | http://180.168.1.77:8004/v1/%(tenant_id)s | http://180.168.1.77:8004/v1/%(tenant_id)s | http://180.168.1.77:8004/v1/%(tenant_id)s | d0d395ca8ce24dbb89a76e72dfd212cc |
+----------------------------------+-----------+-------------------------------------------+-------------------------------------------+-------------------------------------------+----------------------------------+
/etc/ceilometer/ceilometer.conf
[DEFAULT]
verbose = True
auth_strategy = keystone
debug = True
rpc_backend = rabbit
[database]
connection = mysql://ceilometer:ceilometer_dbpass@180.168.1.77/ceilometer
[publisher]
telemetry_secret = ADMIN
[oslo_messaging_rabbit]
rabbit_host = 127.0.0.1
rabbit_password = guest
[service_credentials]
os_auth_url = http://180.168.1.77:5000/v2.0
os_username = ceilometer
os_tenant_name = service
os_password = ceilometer_pass
#os_endpoint_type = internalURL
os_region_name = RegionOne
[keystone_authtoken]
auth_uri = http://180.168.1.77:5000/v2.0
identity_uri = http://180.168.1.77:35357
admin_tenant_name = service
admin_user = ceilometer
admin_password = ceilometer_pass
in /etc/keystone/keystone.conf I have admin_token = ADMIN only.
try os_region_ name=regionOne ?