Merge "Move /httpboot to /var/lib/ironic"

This commit is contained in:
Zuul 2022-01-10 15:06:29 +00:00 committed by Gerrit Code Review
commit 5fd6251f22
11 changed files with 26 additions and 33 deletions

View File

@ -34,19 +34,6 @@ Example error::
NodeLocked: Node 00000000-0000-0000-0000-046ebb96ec21 is locked by NodeLocked: Node 00000000-0000-0000-0000-046ebb96ec21 is locked by
host $HOSTNAME, please retry after the current operation is completed. host $HOSTNAME, please retry after the current operation is completed.
*****************************************************
New image appears not to be deploying upon deployment
*****************************************************
When deploying a new image with the same previous name, it is necessary to
purge the contents of the TFTP master_images folder which caches the image
file for deployments. The default location for this folder is
``/tftpboot/master_images``.
Additionally, a playbook has been included that can be used prior to a
re-installation to ensure fresh images are deployed. This playbook can
be found at ``playbooks/cleanup-deployment-images.yaml``.
********************* *********************
Building an IPA image Building an IPA image
********************* *********************
@ -74,11 +61,7 @@ use to create an IPA image for Bifrost are the same as for ironic. See:
https://docs.openstack.org/ironic/latest/install/deploy-ramdisk.html https://docs.openstack.org/ironic/latest/install/deploy-ramdisk.html
Once your build is completed, you will need to copy the images files into Once your build is completed, you will need to copy the images files into
the ``/httpboot`` folder. the ``/var/lib/ironic/httpboot`` folder.
Since you have updated the image to be deployed, you will need to purge the
contents of ``/tftpboot/master_images`` for the new image to be utilized for
the deployment process.
********************************************* *********************************************
Unexpected/Unknown failure with the IPA Agent Unexpected/Unknown failure with the IPA Agent

View File

@ -33,7 +33,7 @@ testing_user: root
# If this setting is changed, it must be applied to both the baremetal # If this setting is changed, it must be applied to both the baremetal
# and localhost groups. Presently the role defaults are set to the value # and localhost groups. Presently the role defaults are set to the value
# below. # below.
# http_boot_folder: /httpboot # http_boot_folder: /var/lib/ironic/httpboot
# The settings for the name of the image to be deployed along with the # The settings for the name of the image to be deployed along with the
# on disk location are below. If changed, these settings must be applied # on disk location are below. If changed, these settings must be applied

View File

@ -40,7 +40,7 @@ mysql_password:
# If this setting is changed, it must be applied to both the baremetal # If this setting is changed, it must be applied to both the baremetal
# and localhost groups. Presently the role defaults are set to the value # and localhost groups. Presently the role defaults are set to the value
# below. # below.
# http_boot_folder: /httpboot # http_boot_folder: /var/lib/ironic/httpboot
# The settings for the name of the image to be deployed along with the # The settings for the name of the image to be deployed along with the
# on disk location are below. If changed, these settings must be applied # on disk location are below. If changed, these settings must be applied

View File

@ -40,7 +40,7 @@ mysql_password:
# If this setting is changed, it must be applied to both the baremetal # If this setting is changed, it must be applied to both the baremetal
# and localhost groups. Presently the role defaults are set to the value # and localhost groups. Presently the role defaults are set to the value
# below. # below.
# http_boot_folder: /httpboot # http_boot_folder: /var/lib/ironic/httpboot
# The settings for the name of the image to be deployed along with the # The settings for the name of the image to be deployed along with the
# on disk location are below. If changed, these settings must be applied # on disk location are below. If changed, these settings must be applied

View File

@ -4,7 +4,7 @@
# such that cirros will receive basic network configuration when # such that cirros will receive basic network configuration when
# performing basic testing. # performing basic testing.
write_interfaces_file: false write_interfaces_file: false
http_boot_folder: /httpboot http_boot_folder: /var/lib/ironic/httpboot
# Default location to the ssh public key for the user operating Bifrost. # Default location to the ssh public key for the user operating Bifrost.
#ssh_public_key_path: "/path/to/id_rsa.pub" #ssh_public_key_path: "/path/to/id_rsa.pub"

View File

@ -4,7 +4,7 @@ file_url_port: "8080"
network_interface: "virbr0" network_interface: "virbr0"
ans_network_interface: "{{ network_interface | replace('-', '_') }}" ans_network_interface: "{{ network_interface | replace('-', '_') }}"
internal_ip: "{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}" internal_ip: "{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}"
http_boot_folder: "/httpboot" http_boot_folder: "/var/lib/ironic/httpboot"
deploy_image_filename: "deployment_image.qcow2" deploy_image_filename: "deployment_image.qcow2"
deploy_image: "{{http_boot_folder}}/{{deploy_image_filename}}" deploy_image: "{{http_boot_folder}}/{{deploy_image_filename}}"
inventory_dhcp: false inventory_dhcp: false

View File

@ -10,7 +10,7 @@ cleaning_disk_erase: false
fast_track: true fast_track: true
tftp_boot_folder: /tftpboot tftp_boot_folder: /tftpboot
http_boot_folder: /httpboot http_boot_folder: /var/lib/ironic/httpboot
ironic_tftp_master_path: /var/lib/ironic/master_images ironic_tftp_master_path: /var/lib/ironic/master_images
staging_drivers_include: false staging_drivers_include: false
file_url_port: "8080" file_url_port: "8080"

View File

@ -66,7 +66,7 @@ deploy_logs_local_path = {{ ironic_agent_deploy_logs_local_path }}
[pxe] [pxe]
kernel_append_params = {{ pxe_kernel_params }} kernel_append_params = {{ pxe_kernel_params }}
tftp_server = {{ internal_ip }} tftp_server = {{ internal_ip }}
tftp_root = /tftpboot tftp_root = {{ tftp_boot_folder }}
ipxe_fallback_script = pxelinux.cfg/default ipxe_fallback_script = pxelinux.cfg/default
tftp_master_path = {{ ironic_tftp_master_path }} tftp_master_path = {{ ironic_tftp_master_path }}
{% if enable_uefi_ipxe | bool %} {% if enable_uefi_ipxe | bool %}

View File

@ -38,11 +38,6 @@ internal_ip: "{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface
api_protocol: "{{ 'https' if enable_tls | bool else 'http' }}" api_protocol: "{{ 'https' if enable_tls | bool else 'http' }}"
keystone_api_url: "{{ api_protocol }}://{{ internal_ip }}:5000/v3" keystone_api_url: "{{ api_protocol }}://{{ internal_ip }}:5000/v3"
# Defaults required by this role that are normally inherited via
# other roles.
file_url_port: 8080
http_boot_folder: /httpboot
# Settings related to installing bifrost in a virtual environment # Settings related to installing bifrost in a virtual environment
bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}" bifrost_venv_dir: "{{ lookup('env', 'VENV') or '/opt/stack/bifrost' }}"
bifrost_venv_env: bifrost_venv_env:

View File

@ -0,0 +1,15 @@
---
upgrade:
- |
The location of the HTTP boot directory has been changed to
``/var/lib/ironic/httpboot``. Please avoid running cleanings or deployments
during the upgrade, otherwise PXE booting may fail until Ironic rebuilds
the iPXE configuration.
Any custom images will not be migrated from the old location ``/httpboot``,
please migrate them manually if needed. You may remove the old location
after the upgrade.
fixes:
- |
Makes sure the image cache directories are on the same filesystem as
the PXE/HTTP directories to avoid the "Invalid cross-device link" error.

View File

@ -82,9 +82,9 @@ sudo journalctl -u uwsgi@keystone-public &> ${LOG_LOCATION}/keystone-public.log
# Copy PXE information # Copy PXE information
mkdir -p ${LOG_LOCATION}/pxe/ mkdir -p ${LOG_LOCATION}/pxe/
ls -lR /httpboot > ${LOG_LOCATION}/pxe/listing.txt ls -lR /var/lib/ironic/httpboot > ${LOG_LOCATION}/pxe/listing.txt
cp -aL /httpboot/*.ipxe ${LOG_LOCATION}/pxe/ cp -aL /var/lib/ironic/httpboot/*.ipxe ${LOG_LOCATION}/pxe/
cp -aL /httpboot/pxelinux.cfg/ ${LOG_LOCATION}/pxe/ cp -aL /var/lib/ironic/httpboot/pxelinux.cfg/ ${LOG_LOCATION}/pxe/
# Copy baremetal information # Copy baremetal information
source $HOME/openrc bifrost source $HOME/openrc bifrost