Activity log for bug #1405448

Date Who What changed Old value New value Message
2014-12-24 15:33:44 Vladyslav Drok bug added bug
2014-12-24 15:33:50 Vladyslav Drok ironic: assignee Vladyslav Drok (vdrok)
2014-12-26 15:21:11 Vladyslav Drok description Suppose you have a deployed node and you want to change one of its images in instance_info - kernel, ramdisk, image_source; or you may want to change the driver from pxe_ipmitool to agent_ipmitool and because of that you have to change deploy_kernel and deploy_ramdisk in driver_info. After changing it in node's instance_info or driver_info in conductor log it can be seen that new images are downloaded to image cache, but files in /opt/stack/data/ironic/tftpboot/<node-uuid>/ or /var/lib/ironic/images/<node-uuid> are still hard linked to old values. It happens because of this part of code: https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/image_cache.py#L153-L160 , where OSErrors are just ignored if they happen when hard link is created. OSError appears if you try to do e.g. os.link('aaa', 'bbb') and file 'bbb' already exists. Suppose you have a deployed node and you want to change image_source's kernel or ramdisk; or you may want to change the driver from pxe_ipmitool to agent_ipmitool and because of that you have to change deploy_kernel and deploy_ramdisk in driver_info. After changing it in node's instance_info or driver_info in conductor log it can be seen that new images are downloaded to image cache, but files in /opt/stack/data/ironic/tftpboot/<node-uuid>/ or /var/lib/ironic/images/<node-uuid> are still hard linked to old values. It happens because of this part of code: https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/image_cache.py#L109-L114 , where nothing is done if the path image should be downloaded to exists. This path is <pxe-root-dir>/<node-uuid>/<label>, where <label> can be deploy_kernel, deploy_ramdisk, kernel, ramdisk.
2014-12-26 16:04:18 Vladyslav Drok description Suppose you have a deployed node and you want to change image_source's kernel or ramdisk; or you may want to change the driver from pxe_ipmitool to agent_ipmitool and because of that you have to change deploy_kernel and deploy_ramdisk in driver_info. After changing it in node's instance_info or driver_info in conductor log it can be seen that new images are downloaded to image cache, but files in /opt/stack/data/ironic/tftpboot/<node-uuid>/ or /var/lib/ironic/images/<node-uuid> are still hard linked to old values. It happens because of this part of code: https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/image_cache.py#L109-L114 , where nothing is done if the path image should be downloaded to exists. This path is <pxe-root-dir>/<node-uuid>/<label>, where <label> can be deploy_kernel, deploy_ramdisk, kernel, ramdisk. Suppose you have a deployed node and you want to change image_source's kernel or ramdisk; or you may want to change the driver from pxe_ipmitool to agent_ipmitool and because of that you have to change deploy_kernel and deploy_ramdisk in driver_info. After changing it in node's instance_info or driver_info in conductor log you can see the following lines: DEBUG ironic.drivers.modules.image_cache [-] Destination /opt/stack/data/ironic/tftpboot/5189df61-abd0-498d-b1c5-1bba22d33376/deploy_ramdisk already exists for image 07a8020a-6a4e-4480-b968-0eba1c3a0a85 and deploy_ramdisk is not updated in folder with node's images. It happens when during rebuild from active provision state because of this part of code: https://github.com/openstack/ironic/blob/master/ironic/drivers/modules/image_cache.py#L109-L114 , where nothing is done if the path image should be downloaded to exists. This path is <pxe-root-dir>/<node-uuid>/<label>, where <label> can be deploy_kernel, deploy_ramdisk, kernel, ramdisk.
2014-12-26 16:07:47 Vladyslav Drok marked as duplicate 1401501
2015-01-09 04:32:37 kiran bug added subscriber kiran
2015-01-09 04:32:40 kiran removed subscriber kiran
2015-01-09 13:32:43 Vladyslav Drok removed duplicate marker 1401501
2015-01-09 13:32:56 Vladyslav Drok ironic: assignee Vladyslav Drok (vdrok)
2015-01-10 23:47:14 OpenStack Infra ironic: status New In Progress
2015-01-10 23:47:14 OpenStack Infra ironic: assignee Vladyslav Drok (vdrok)
2015-01-13 17:28:50 Dmitry Tantsur ironic: importance Undecided Medium
2015-01-15 13:06:31 OpenStack Infra ironic: status In Progress Fix Committed
2015-01-23 16:31:31 OpenStack Infra tags in-stable-juno
2015-02-05 20:11:47 Thierry Carrez ironic: status Fix Committed Fix Released
2015-02-05 20:11:47 Thierry Carrez ironic: milestone kilo-2
2015-02-06 18:42:50 Adam Gandelman nominated for series ironic/juno
2015-02-06 18:42:50 Adam Gandelman bug task added ironic/juno
2015-02-06 18:51:01 Adam Gandelman ironic/juno: assignee Matthew Gilliard (matthew-gilliard-u)
2015-02-09 12:15:28 Dmitry Tantsur ironic/juno: status New Fix Committed
2015-02-09 12:15:32 Dmitry Tantsur ironic/juno: importance Undecided Medium
2015-02-19 18:42:28 Adam Gandelman ironic/juno: milestone 2014.2.1
2015-02-19 18:54:42 Adam Gandelman ironic/juno: status Fix Committed Fix Released
2015-04-30 10:05:28 Thierry Carrez ironic: milestone kilo-2 2015.1.0