diff --git a/playbooks/roles/bifrost-ironic-install/README.md b/playbooks/roles/bifrost-ironic-install/README.md index c649e75e0..be36a3d01 100644 --- a/playbooks/roles/bifrost-ironic-install/README.md +++ b/playbooks/roles/bifrost-ironic-install/README.md @@ -87,10 +87,10 @@ variable which defaults to: "agent_ipmitool,pxe_amt,agent_ilo,agent_ucs" By default, PXE driver baseline support, in terms of installation of the iSCSI client and configuration of sudoers and rootwrap configuration is -enabled. If you wish to disable this functionality, set ``pxe_drivers`` -to a value of ``false``. +enabled. If you wish to disable this functionality, set +``enable_pxe_drivers`` to a value of ``false``. -pxe_drivers: false +enable_pxe_drivers: false In the event of an external DHCP server being used, the user will need to configure their DHCP server such that PXE, and iPXE chain loading occurs. diff --git a/playbooks/roles/bifrost-ironic-install/defaults/main.yml b/playbooks/roles/bifrost-ironic-install/defaults/main.yml index 3d8303712..d38274584 100644 --- a/playbooks/roles/bifrost-ironic-install/defaults/main.yml +++ b/playbooks/roles/bifrost-ironic-install/defaults/main.yml @@ -49,8 +49,11 @@ ironic_git_folder: /opt/stack/ironic ironicclient_git_folder: /opt/stack/python-ironicclient shade_git_folder: /opt/stack/shade dib_git_folder: /opt/stack/diskimage-builder -# Comma-separated list, in the format of a string, of drivers that are enabled. -enabled_drivers: "agent_ipmitool,pxe_amt,agent_ilo,agent_ucs" +# Comma-separated list, in the format of a string, of drivers that are enabled +# by default. This is intended to be a list of agent based drivers. +# PXE drivers can be found in the setting pxe_drivers that can be found below. +enabled_drivers: "agent_ipmitool,agent_ilo,agent_ucs" + # DHCP pool for requests -- ignored if inventory_dhcp is set to True # since IP allocation will be static. dhcp_pool_start: 192.168.1.200 @@ -89,4 +92,9 @@ inspector_port_addition: "pxe" # Note: inspector_keep_ports has three valid values: all, present, added inspector_keep_ports: "present" -pxe_drivers: true + +# This enables installation of substrate for PXE driver support +enable_pxe_drivers: true +# Comma-separated list of PXE drivers to enable when +# enable_pxe_drivers is set to true +pxe_drivers: "pxe_amt,pxe_ssh,pxe_ipmitool,pxe_ilo" diff --git a/playbooks/roles/bifrost-ironic-install/tasks/ironic_config.yml b/playbooks/roles/bifrost-ironic-install/tasks/ironic_config.yml index ad2ed7944..4f3744e78 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/ironic_config.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/ironic_config.yml @@ -13,6 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. --- +- name: "Update driver list if PXE drivers are enabled" + set_fact: + enabled_drivers: "{{ enabled_drivers }},{{ pxe_drivers }}" + when: enable_pxe_drivers | bool == true - name: "Determine if ironic.conf needs to be put in place." stat: path=/etc/ironic/ironic.conf register: test_place_ironic_config @@ -182,4 +186,4 @@ dest: /etc/sudoers regexp: '^ironic(.*)/etc/ironic/rootwrap.conf(.*)' line: "ironic ALL = (root) NOPASSWD: /usr/local/bin/ironic-rootwrap /etc/ironic/rootwrap.conf *" - when: pxe_drivers | bool == true + when: enable_pxe_drivers | bool == true diff --git a/playbooks/roles/bifrost-ironic-install/tasks/main.yml b/playbooks/roles/bifrost-ironic-install/tasks/main.yml index f5807c027..5e8610a52 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/main.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/main.yml @@ -70,7 +70,7 @@ package: name: "{{ iscsi_client_package }}" state: present - when: skip_install is not defined and pxe_drivers | bool == true + when: skip_install is not defined and enable_pxe_drivers | bool == true - name: "Shade - Install" include: pip_install.yml package=shade @@ -169,7 +169,7 @@ mode: 0644 owner: root group: root - when: skip_install is not defined and pxe_drivers | bool == true + when: skip_install is not defined and enable_pxe_drivers | bool == true - name: "Copy rootwrap.d contents from ironic source folder" copy: src: "{{ ironic_git_folder }}/etc/ironic/rootwrap.d/" @@ -178,7 +178,7 @@ owner: root group: root directory_mode: yes - when: skip_install is not defined and pxe_drivers | bool == true + when: skip_install is not defined and enable_pxe_drivers | bool == true - name: "Generate ironic Configuration" include: ironic_config.yml - name: "Copy policy.json to /etc/ironic" diff --git a/releasenotes/notes/pxe-driver-support-e2d8a769bf910dbc.yaml b/releasenotes/notes/pxe-driver-support-e2d8a769bf910dbc.yaml index 7ec2366e6..8fba4452c 100644 --- a/releasenotes/notes/pxe-driver-support-e2d8a769bf910dbc.yaml +++ b/releasenotes/notes/pxe-driver-support-e2d8a769bf910dbc.yaml @@ -5,7 +5,7 @@ features: target node. By default, this support is enabled. upgrade: - PXE driver substrate support is now enabled by default. - If a user wishes to prevent this, the ``pxe_drivers`` + If a user wishes to prevent this, the ``enable_pxe_drivers`` setting should be set to ``false``. security: - PXE driver support substrate has been added, however