instance_network_interface not for all projects

Bug #1731974 reported by amadeus
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ceilometer
Invalid
Undecided
Unassigned

Bug Description

Hello

I have openstack ( admin and demo tenants ) with ceilometer ( backed with gnocchi ).

When i create VM in "admin" tenant it creates resources "instance"(metrics: cpu.*, disk.* and e.t.c) and "instance_network_interface"(metrics: network.incoming.* and e.t.c).
But when i create VM in "demo" tenant it creates only "instance"(cpu.*, disk.* and e.t.c) but no one "instance_network_interface"(network.incoming.* and e.t.c).

[root@controller1 gnocchi(keystone_admin)]# nova list --all-tenants
+--------------------------------------+------------------------+----------------------------------+---------+------------+-------------+---------------------------------------------+
| ID | Name | Tenant ID | Status | Task State | Power State | Networks |
+--------------------------------------+------------------------+----------------------------------+---------+------------+-------------+---------------------------------------------+
| 017caa19-75b6-4dae-b0a0-dab84469afba | 11111111111111111111 | 7db9bff9c9ae4365b7187df0879d4d6e | SHUTOFF | - | Shutdown | external_network=192.168.1.101 |
| 1fe525f5-95e4-4d15-8de1-7c72b8e55033 | 22222222222222222 | 7db9bff9c9ae4365b7187df0879d4d6e | ACTIVE | - | Running | external_network=192.168.1.104 |
| d4b614ba-c8ef-48f2-b722-08664f5c90f3 | 44444444444444444444 | 7db9bff9c9ae4365b7187df0879d4d6e | ACTIVE | - | Running | external_network=192.168.1.109 |
| a2ab564c-ec44-43d6-89a3-5b7e68884a66 | 66666666 | bd48fccc85cb4b549796c87fe12f7770 | ACTIVE | - | Running | external_network=192.168.1.100 |
| 9634aae1-5098-41db-af29-25512f0b518a | 7777777777 | bd48fccc85cb4b549796c87fe12f7770 | ACTIVE | - | Running | external_network=192.168.1.95 |
| dbf29fc1-9b07-4e02-8c74-5f5d6a898cbc | 8888 | bd48fccc85cb4b549796c87fe12f7770 | ACTIVE | - | Running | external_network=192.168.1.103 |
| af77d38f-6433-4e2b-b462-a1bc36533633 | 9999999999999 | 7db9bff9c9ae4365b7187df0879d4d6e | ACTIVE | - | Running | external_network=192.168.1.102 |
+--------------------------------------+------------------------+----------------------------------+---------+------------+-------------+---------------------------------------------+

[root@controller1 gnocchi(keystone_admin)]# gnocchi resource list -t instance_network_interface -c id -c project_id -c original_resource_id
+--------------------------------------+----------------------------------+-----------------------------------------------------------------------+
| id | project_id | original_resource_id |
+--------------------------------------+----------------------------------+-----------------------------------------------------------------------+
| 42c66cd7-c3a0-5bb7-9328-d76aca04ffa4 | bd48fccc85cb4b549796c87fe12f7770 | instance-00000078-9634aae1-5098-41db-af29-25512f0b518a-tapddc96347-de |
| dab263ea-52fd-5c1f-aca9-ef18fa0c0e12 | bd48fccc85cb4b549796c87fe12f7770 | instance-000001ba-dbf29fc1-9b07-4e02-8c74-5f5d6a898cbc-tapd28d4b22-64 |
| 8abc2fb6-b1f6-58f2-a126-92f5eff76399 | bd48fccc85cb4b549796c87fe12f7770 | instance-000001e7-a2ab564c-ec44-43d6-89a3-5b7e68884a66-tapf776b318-fe |
+--------------------------------------+----------------------------------+-----------------------------------------------------------------------+

My configs:

ceilometer.conf:

[DEFAULT]
debug=True
rpc_backend = rabbit
auth_strategy = keystone
meter_dispatchers=gnocchi
event_dispatchers=gnocchi
[api]
[collector]
[compute]
[coordination]
backend_url=redis://192.168.1.1:6379
[cors]
[cors.subdomain]
[database]
connection = mongodb://ceilometer:ceilometerdbpass@192.168.1.1:27017/ceilometer
[dispatcher_file]
[dispatcher_gnocchi]
filter_service_activity = False
archive_policy = low
[event]
[exchange_control]
[hardware]
[ipmi]
[keystone_authtoken]
auth_uri = http://192.168.1.1:5000
auth_url = http://192.168.1.1:35357
memcached_servers = 192.168.1.1:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = services
username = ceilometer
password = ceilometeruserpass
[matchmaker_redis]
[meter]
[notification]
[oslo_concurrency]
[oslo_messaging_amqp]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
rabbit_host = 192.168.1.1
rabbit_userid = guest
rabbit_password = guest
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[polling]
[publisher]
[publisher_notifier]
[rgw_admin_credentials]
[service_credentials]
auth_type = password
auth_url = http://192.168.1.1:5000/v3
project_domain_name = default
user_domain_name = default
project_name = services
username = ceilometer
password = ceilometeruserpass
interface = internalURL
region_name = RegionOne
[service_types]
[storage]
[vmware]
[xenapi]

pipeline.yaml:

---
sources:
    - name: meter_source
      interval: 300
      meters:
          - "*"
      sinks:
          - meter_sink
    - name: cpu_source
      interval: 300
      meters:
          - "cpu"
      sinks:
          - cpu_sink
          - cpu_delta_sink
    - name: disk_source
      interval: 300
      meters:
          - "disk.read.bytes"
          - "disk.read.requests"
          - "disk.write.bytes"
          - "disk.write.requests"
          - "disk.device.read.bytes"
          - "disk.device.read.requests"
          - "disk.device.write.bytes"
          - "disk.device.write.requests"
      sinks:
          - disk_sink
    - name: network_source
      interval: 300
      meters:
          - "network.incoming.bytes"
          - "network.incoming.packets"
          - "network.outgoing.bytes"
          - "network.outgoing.packets"
      sinks:
          - network_sink
          - network_sink_delta
sinks:
    - name: meter_sink
      transformers:
      publishers:
          - notifier://
    - name: cpu_sink
      transformers:
          - name: "rate_of_change"
            parameters:
                target:
                    name: "cpu_util"
                    unit: "%"
                    type: "gauge"
                    max: 100
                    scale: "100.0 / (10**9 * (resource_metadata.cpu_number or 1))"
      publishers:
          - notifier://
    - name: cpu_delta_sink
      transformers:
          - name: "delta"
            parameters:
                target:
                    name: "cpu.delta"
                growth_only: True
      publishers:
          - notifier://
    - name: disk_sink
      transformers:
          - name: "rate_of_change"
            parameters:
                source:
                    map_from:
                        name: "(disk\\.device|disk)\\.(read|write)\\.(bytes|requests)"
                        unit: "(B|request)"
                target:
                    map_to:
                        name: "\\1.\\2.\\3.rate"
                        unit: "\\1/s"
                    type: "gauge"
      publishers:
          - notifier://
    - name: network_sink
      transformers:
          - name: "rate_of_change"
            parameters:
                source:
                   map_from:
                       name: "network\\.(incoming|outgoing)\\.(bytes|packets)"
                       unit: "(B|packet)"
                target:
                    map_to:
                        name: "network.\\1.\\2.rate"
                        unit: "\\1/s"
                    type: "gauge"
      publishers:
          - notifier://
    - name: network_sink_delta
      transformers:
          - name: "delta"
            parameters:
                source:
                   map_from:
                       name: "network\\.(incoming|outgoing)\\.(bytes|packets)"
                       unit: "(B|packet)"
                target:
                    map_to:
                        name: "network.\\1.\\2.delta"
                        unit: "\\1"
      publishers:
          - notifier://

gnocchi_resources.yaml:

---

resources:
  - resource_type: identity
    archive_policy: low
    metrics:
      - 'identity.authenticate.success'
      - 'identity.authenticate.pending'
      - 'identity.authenticate.failure'
      - 'identity.user.created'
      - 'identity.user.deleted'
      - 'identity.user.updated'
      - 'identity.group.created'
      - 'identity.group.deleted'
      - 'identity.group.updated'
      - 'identity.role.created'
      - 'identity.role.deleted'
      - 'identity.role.updated'
      - 'identity.project.created'
      - 'identity.project.deleted'
      - 'identity.project.updated'
      - 'identity.trust.created'
      - 'identity.trust.deleted'
      - 'identity.role_assignment.created'
      - 'identity.role_assignment.deleted'

  - resource_type: ceph_account
    metrics:
      - 'radosgw.objects'
      - 'radosgw.objects.size'
      - 'radosgw.objects.containers'
      - 'radosgw.api.request'
      - 'radosgw.containers.objects'
      - 'radosgw.containers.objects.size'

  - resource_type: instance
    metrics:
      - 'instance'
      - 'memory'
      - 'memory.usage'
      - 'memory.resident'
      - 'vcpus'
      - 'cpu'
      - 'cpu.delta'
      - 'cpu_util'
      - 'disk.root.size'
      - 'disk.ephemeral.size'
      - 'disk.read.requests'
      - 'disk.read.requests.rate'
      - 'disk.write.requests'
      - 'disk.write.requests.rate'
      - 'disk.read.bytes'
      - 'disk.read.bytes.rate'
      - 'disk.write.bytes'
      - 'disk.write.bytes.rate'
      - 'disk.latency'
      - 'disk.iops'
      - 'disk.capacity'
      - 'disk.allocation'
      - 'disk.usage'
    attributes:
      host: resource_metadata.host
      image_ref: resource_metadata.image_ref
      display_name: resource_metadata.display_name
      flavor_id: resource_metadata.(instance_flavor_id|(flavor.id))
      server_group: resource_metadata.user_metadata.server_group
    event_delete: compute.instance.delete.start
    event_attributes:
      id: instance_id
    event_associated_resources:
      instance_network_interface: '{"=": {"instance_id": "%s"}}'
      instance_disk: '{"=": {"instance_id": "%s"}}'

  - resource_type: instance_network_interface
    metrics:
      - 'network.outgoing.packets.rate'
      - 'network.incoming.packets.rate'
      - 'network.outgoing.packets'
      - 'network.incoming.packets'
      - 'network.outgoing.bytes.rate'
      - 'network.incoming.bytes.rate'
      - 'network.outgoing.bytes'
      - 'network.incoming.bytes'
      - 'network.outgoing.bytes.delta'
      - 'network.incoming.bytes.delta'
      - 'network.outgoing.packets.delta'
      - 'network.incoming.packets.delta'
    attributes:
      name: resource_metadata.vnic_name
      instance_id: resource_metadata.instance_id

  - resource_type: instance_disk
    metrics:
      - 'disk.device.read.requests'
      - 'disk.device.read.requests.rate'
      - 'disk.device.write.requests'
      - 'disk.device.write.requests.rate'
      - 'disk.device.read.bytes'
      - 'disk.device.read.bytes.rate'
      - 'disk.device.write.bytes'
      - 'disk.device.write.bytes.rate'
      - 'disk.device.latency'
      - 'disk.device.iops'
      - 'disk.device.capacity'
      - 'disk.device.allocation'
      - 'disk.device.usage'
    attributes:
      name: resource_metadata.disk_name
      instance_id: resource_metadata.instance_id

  - resource_type: image
    metrics:
      - 'image'
      - 'image.size'
      - 'image.download'
      - 'image.serve'
    attributes:
      name: resource_metadata.name
      container_format: resource_metadata.container_format
      disk_format: resource_metadata.disk_format
    event_delete: image.delete
    event_attributes:
      id: resource_id

  - resource_type: ipmi
    metrics:
      - 'hardware.ipmi.node.power'
      - 'hardware.ipmi.node.temperature'
      - 'hardware.ipmi.node.inlet_temperature'
      - 'hardware.ipmi.node.outlet_temperature'
      - 'hardware.ipmi.node.fan'
      - 'hardware.ipmi.node.current'
      - 'hardware.ipmi.node.voltage'
      - 'hardware.ipmi.node.airflow'
      - 'hardware.ipmi.node.cups'
      - 'hardware.ipmi.node.cpu_util'
      - 'hardware.ipmi.node.mem_util'
      - 'hardware.ipmi.node.io_util'

  - resource_type: network
    metrics:
      - 'bandwidth'
      - 'network'
      - 'network.create'
      - 'network.update'
      - 'subnet'
      - 'subnet.create'
      - 'subnet.update'
      - 'port'
      - 'port.create'
      - 'port.update'
      - 'router'
      - 'router.create'
      - 'router.update'
      - 'ip.floating'
      - 'ip.floating.create'
      - 'ip.floating.update'

  - resource_type: stack
    metrics:
      - 'stack.create'
      - 'stack.update'
      - 'stack.delete'
      - 'stack.resume'
      - 'stack.suspend'

  - resource_type: swift_account
    metrics:
      - 'storage.objects.incoming.bytes'
      - 'storage.objects.outgoing.bytes'
      - 'storage.api.request'
      - 'storage.objects.size'
      - 'storage.objects'
      - 'storage.objects.containers'
      - 'storage.containers.objects'
      - 'storage.containers.objects.size'

  - resource_type: volume
    metrics:
      - 'volume'
      - 'volume.size'
      - 'volume.create'
      - 'volume.delete'
      - 'volume.update'
      - 'volume.resize'
      - 'volume.attach'
      - 'volume.detach'
    attributes:
      display_name: resource_metadata.display_name

  - resource_type: host
    metrics:
      - 'hardware.cpu.load.1min'
      - 'hardware.cpu.load.5min'
      - 'hardware.cpu.load.15min'
      - 'hardware.cpu.util'
      - 'hardware.memory.total'
      - 'hardware.memory.used'
      - 'hardware.memory.swap.total'
      - 'hardware.memory.swap.avail'
      - 'hardware.memory.buffer'
      - 'hardware.memory.cached'
      - 'hardware.network.ip.outgoing.datagrams'
      - 'hardware.network.ip.incoming.datagrams'
      - 'hardware.system_stats.cpu.idle'
      - 'hardware.system_stats.io.outgoing.blocks'
      - 'hardware.system_stats.io.incoming.blocks'
    attributes:
      host_name: resource_metadata.resource_url

  - resource_type: host_disk
    metrics:
      - 'hardware.disk.size.total'
      - 'hardware.disk.size.used'
    attributes:
      host_name: resource_metadata.resource_url
      device_name: resource_metadata.device

  - resource_type: host_network_interface
    metrics:
      - 'hardware.network.incoming.bytes'
      - 'hardware.network.outgoing.bytes'
      - 'hardware.network.outgoing.errors'
    attributes:
      host_name: resource_metadata.resource_url
      device_name: resource_metadata.name

gnocchi.conf:

[DEFAULT]
debug=True
log_dir = /var/log/gnocchi
[api]
max_limit = 1000
host=0.0.0.0
workers=8
port=8041
[archive_policy]
[cors]
[cors.subdomain]
[database]
[indexer]
url = mysql+pymysql://gnocchi:gnocchidbpass@192.169.1.1/gnocchi?charset=utf8
[metricd]
workers = 2
[oslo_middleware]
[oslo_policy]
policy_file = /etc/gnocchi/policy.json
[statsd]
archive_policy_name = low
flush_delay = 10
[storage]
coordination_url = redis://192.169.1.1:6379
driver = file
file_basepath = /var/lib/gnocchi
[keystone_authtoken]
auth_uri=http://192.169.1.1:5000/v2.0
auth_url=http://192.169.1.1:35357
username=gnocchi
password=gnocchipass
project_domain_name=Default
project_name=services
auth_type=password
auth_version=v2.0
user_domain_name=Default

Revision history for this message
amadeus (mozart89) wrote :

The problem was solved. Initially I have node with two openstack-nova-compute OS services ( openstack-nova-compute-hdd on host1 and openstack-nova-compute-ssd on host2; host1 by default and host2 - one and the same ). When openstack-ceilometer-compute and openstack-ceilometer-polling runs it is using /etc/ceilometer/ceilometer.conf. ( requests: /../servers/details?all_tenants=True&host=host1 ). So i just make second service openstack-ceilometer-compute-ssd and openstack-ceilometer-polling-ssd ( --configure-file /etc/ceilometer/ceilometer-ssd.conf ), created /etc/ceilometer/ceilometer-ssd.conf ( with host = host2 ). Thats all.

Changed in ceilometer:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.