** Patch added: "backport patch from utopic to trusty"
   
https://bugs.launchpad.net/ubuntu/+source/libvirt-python/+bug/1365250/+attachment/4211962/+files/libvirt-memleak.patch

** Description changed:

  [Impact]
  
-  * nova-compute service which uses python-libvirt continuously grows  the 
heap size
-  
- 
+  * nova-compute service which uses python-libvirt continuously grows
+ the heap size
  
  [Test Case]
  
-   * using valgrind tool  can detect memory leak, valgrind --leak-
- check=full /usr/bin/python ./d.py
+   * using valgrind tool  can detect memory leak, valgrind --leak-check=full 
/usr/bin/python ./d.py
+     after patch applied, should be 0 bytes definitely lost.
+ 
+ ==11243== LEAK SUMMARY:
+ ==11243==    definitely lost: 0 bytes in 0 blocks
+ ==11243==    indirectly lost: 0 bytes in 0 blocks
+ ==11243==      possibly lost: 1,064 bytes in 2 blocks
+ ==11243==    still reachable: 984,453 bytes in 1,757 blocks
+ ==11243==         suppressed: 0 bytes in 0 blocks
+ 
  
  [Regression Potential]
  
-  * patch ported from upstream.
- 
+  * patch backported from upstream, and has been fixed in utopic.
  
  [Other Info]
-  
-  * This bug fix has been fixed upstream 
http://libvirt.org/git/?p=libvirt-python.git;a=commitdiff;h=4acfb169400497da2a82a849dc8aaa65f88ac6d1
  
- 
+  * This bug fix has been fixed upstream http://libvirt.org/git/?p
+ =libvirt-
+ python.git;a=commitdiff;h=4acfb169400497da2a82a849dc8aaa65f88ac6d1
  
  We found a symptom like memory leak of nova-compute.
  Even though there are no activities of OpenStack, the heap of
  nova-compute continuously grows as approximately 100KB/sec.
  
  After running for a week the virtual space size of nova-compute
  almost reached 2.5GB. The initial size was around 1.6GB.
  
  Is this bug at upstream? And if this is bug, is there workaround or solution 
to avoid memory leak.
  The following is detail information
  
  root# while true;
  > do
  > date
  > pmap -x 8506 | head
  > sleep 60
  > done
  Tue Sep  2 08:32:28 UTC 2014
  8506:   /usr/bin/python /usr/bin/nova-compute 
--config-file=/etc/nova/nova.conf --config-file=/etc/nova/nova-compute.conf
  Address           Kbytes     RSS   Dirty Mode  Mapping
  0000000000400000    2804    1832       0 r-x-- python2.7
  00000000008bc000       4       4       4 r---- python2.7
  00000000008bd000     468     368     252 rw--- python2.7
  0000000000932000      72      64      64 rw---   [ anon ]
  0000000000cdc000   19948   19708   19708 rw---   [ anon ] *** heap
  00007f47b4000000     132     132     132 rw---   [ anon ]
  00007f47b4021000   65404       0       0 -----   [ anon ]
  00007f47bb7ff000       4       0       0 -----   [ anon ]
  Tue Sep  2 08:33:28 UTC 2014
  8506:   /usr/bin/python /usr/bin/nova-compute 
--config-file=/etc/nova/nova.conf --config-file=/etc/nova/nova-compute.conf
  Address           Kbytes     RSS   Dirty Mode  Mapping
  0000000000400000    2804    1832       0 r-x-- python2.7
  00000000008bc000       4       4       4 r---- python2.7
  00000000008bd000     468     368     252 rw--- python2.7
  0000000000932000      72      64      64 rw---   [ anon ]
  0000000000cdc000   20080   19840   19840 rw---   [ anon ]
  00007f47b4000000     132     132     132 rw---   [ anon ]
  00007f47b4021000   65404       0       0 -----   [ anon ]
  00007f47bb7ff000       4       0       0 -----   [ anon ]
  Tue Sep  2 08:34:28 UTC 2014
  8506:   /usr/bin/python /usr/bin/nova-compute 
--config-file=/etc/nova/nova.conf --config-file=/etc/nova/nova-compute.conf
  Address           Kbytes     RSS   Dirty Mode  Mapping
  0000000000400000    2804    1832       0 r-x-- python2.7
  00000000008bc000       4       4       4 r---- python2.7
  00000000008bd000     468     368     252 rw--- python2.7
  0000000000932000      72      64      64 rw---   [ anon ]
  0000000000cdc000   20080   19848   19848 rw---   [ anon ]
  00007f47b4000000     132     132     132 rw---   [ anon ]
  00007f47b4021000   65404       0       0 -----   [ anon ]
  00007f47bb7ff000       4       0       0 -----   [ anon ]
  Tue Sep  2 08:35:28 UTC 2014
  8506:   /usr/bin/python /usr/bin/nova-compute 
--config-file=/etc/nova/nova.conf --config-file=/etc/nova/nova-compute.conf
  Address           Kbytes     RSS   Dirty Mode  Mapping
  0000000000400000    2804    1832       0 r-x-- python2.7
  00000000008bc000       4       4       4 r---- python2.7
  00000000008bd000     468     368     252 rw--- python2.7
  0000000000932000      72      64      64 rw---   [ anon ]
  0000000000cdc000   20232   19992   19992 rw---   [ anon ]
  00007f47b4000000     132     132     132 rw---   [ anon ]
  00007f47b4021000   65404       0       0 -----   [ anon ]
  00007f47bb7ff000       4       0       0 -----   [ anon ]
  
  - Software versions
  ii  nova-common                         1:2014.1.2-0ubuntu1.1               
all          OpenStack Compute - common files
  ii  nova-compute                        1:2014.1.2-0ubuntu1.1               
all          OpenStack Compute - compute node base
  ii  nova-compute-kvm                    1:2014.1.2-0ubuntu1.1               
all          OpenStack Compute - compute node (KVM)
  ii  nova-compute-libvirt                1:2014.1.2-0ubuntu1.1               
all          OpenStack Compute - compute node libvirt support
  
  ii  python                              2.7.5-5ubuntu3
  amd64        interactive high-level object-oriented language (default
  version)
  
  - nova-compute.conf
  [DEFAULT]
  compute_driver=libvirt.LibvirtDriver
  [libvirt]
  virt_type=kvm
  
  - nova.conf
  [DEFAULT]
  scheduler_default_filters = 
RetryFilter,AvailabilityZoneFilter,RamFilter,CoreFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,DifferentHostFilter,SameHostFilter
  dhcpbridge_flagfile = /etc/nova/nova.conf
  dhcpbridge = /usr/bin/nova-dhcpbridge
  logdir = /var/log/nova
  state_path = /var/lib/nova
  lock_path = /var/lock/nova
  force_dhcp_release = True
  iscsi_helper = tgtadm
  libvirt_use_virtio_for_bridges = True
  connection_type = libvirt
  root_helper = sudo nova-rootwrap /etc/nova/rootwrap.conf
  verbose = True
  ec2_private_dns_show_ip = True
  api_paste_config = /etc/nova/api-paste.ini
  volumes_path = /var/lib/nova/volumes
  enabled_apis = ec2,osapi_compute,metadata
  auth_strategy = keystone
  rpc_backend = rabbit
  rabbit_host = xxx.xxx.xxx.xxx
  rabbit_password = *********
  my_ip = yyy.yyy.yyy.yyy
  vnc_enabled = True
  vncserver_listen = 0.0.0.0
  vncserver_proxyclient_address = yyy.yyy.yyy.yyy
  novncproxy_base_url = http://zzz.zzz.zzz.zzz:6080/vnc_auto.html
  glance_host = xxx.xxx.xxx.xxx
  network_api_class = nova.network.api.API
  security_group_api = nova
  firewall_driver = nova.virt.libvirt.firewall.IptablesFirewallDriver
  allow_same_net_traffic = False
  multi_host = True
  send_arp_for_ha = True
  share_dhcp_address = True
  public_interface = bond0
  network_size = 256
  block_device_allocate_retries = 360
  block_device_allocate_retries_interval = 5
  network_manager = nova.network.manager.FlatDHCPManager
  flat_network_bridge = br100
  flat_interface = bond1
  libvirt_images_type = rbd
  libvirt_images_rbd_pool = volumes
  libvirt_images_rbd_ceph_conf = /etc/ceph/ceph.conf
  rbd_user = cinder
  rbd_secret_uuid = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  
  [database]
  connection = *********
  
  [keystone_authtoken]
  auth_uri = http://xxx.xxx.xxx.xxx:5000
  auth_host = xxx.xxx.xxx.xxx
  auth_port = 35357
  auth_protocol = http
  admin_tenant_name = service
  admin_user = nova
  admin_password = *********
  
  [osapi_v3]
  enabled = True

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1365250

Title:
  nova-compute memory leak

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt-python/+bug/1365250/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to