Comment 0 for bug 1856194

Revision history for this message
Mark Goddard (mgoddard) wrote :

Ironic provides a feature to allow instance images to be served from a local HTTP server [1]. This is the same server used for PXE images with iPXE. This does not work currently because the ironic_ipxe container does not have access to /var/lib/ironic/images (ironic docker volume), where the images are cached. The resulting error looks like this:

2019-12-12 12:45:05.462 6 ERROR ironic.drivers.modules.deploy_utils [req-d47b4a83-7b2e-4232-8afd-c9192ebf1f8f fb3334ab10b140c08ca91e616b03adcf 1d9c65fef6db48e39019bf91e8673149 - default default] Agent deploy supports only HTTP(S) URLs as instance_info['image_source'] or swift temporary URL. Either the specified URL is not a valid HTTP(S) URL or is not reachable for node d154e69f-13f6-4574-ab34-7568c400cbab. Error: Validation of image href secreturl failed, reason: Got HTTP code 403 instead of 200 in response to HEAD request.: ImageRefValidationFailed: Validation of image href secreturl failed, reason: Got HTTP code 403 instead of 200 in response to HEAD request.

and apache logs from the ipxe httpd server:

[Thu Dec 12 09:18:08.316587 2019] [core:error] [pid 18] [client 192.168.33.3:41462] AH00037: Symbolic link not allowed or link target not accessible: /httpboot/agent_images/519fa67c-836d-45a5-8aad-ad1f1779aae1

[1] https://docs.openstack.org/ironic/latest/admin/interfaces/deploy.html#deploy-with-custom-http-servers