From fce880575c4ffa42bd535d436ab689b77fa4ab8b Mon Sep 17 00:00:00 2001 From: Sam Betts Date: Fri, 26 May 2017 13:33:17 +0100 Subject: [PATCH] Remove inspector files and configs from ironic-conductor The pxe default entry and the IPA agent files are only required for inspection which runs its own TFTP server, so we remove them from the conductor TFTP server because they can actually cause problems with Ironic provisioning if left around. Change-Id: I9f34f93add348b023d3d620688b8969c0a74ea5c --- ansible/roles/ironic/tasks/config.yml | 10 ++++++---- .../ironic/templates/ironic-conductor-tftp.json.j2 | 11 +++++++++++ ...onic-pxe.json.j2 => ironic-inspector-tftp.json.j2} | 0 etc/kolla-kubernetes/service_resources.yml | 3 ++- helm/all_values.yaml | 4 ---- .../templates/ironic-conductor.yaml | 11 ++--------- .../templates/ironic-inspector.yaml | 2 +- tests/bin/common_iscsi_config_v4.sh | 2 -- tests/bin/common_workflow_config.sh | 2 -- tests/bin/ironic_deploy_tests.sh | 2 +- tools/setup_gate_ceph.sh | 4 ++-- tools/setup_gate_iscsi.sh | 6 +++--- 12 files changed, 28 insertions(+), 29 deletions(-) create mode 100644 ansible/roles/ironic/templates/ironic-conductor-tftp.json.j2 rename ansible/roles/ironic/templates/{ironic-pxe.json.j2 => ironic-inspector-tftp.json.j2} (100%) diff --git a/ansible/roles/ironic/tasks/config.yml b/ansible/roles/ironic/tasks/config.yml index e5cea4041..4db18aaa7 100644 --- a/ansible/roles/ironic/tasks/config.yml +++ b/ansible/roles/ironic/tasks/config.yml @@ -7,8 +7,9 @@ with_items: - "ironic-api" - "ironic-conductor" + - "ironic-conductor-tftp" - "ironic-inspector" - - "ironic-pxe" + - "ironic-inspector-tftp" - "ironic-dnsmasq" - name: Copying over config.json files for services @@ -18,8 +19,9 @@ with_items: - "ironic-api" - "ironic-conductor" + - "ironic-conductor-tftp" - "ironic-inspector" - - "ironic-pxe" + - "ironic-inspector-tftp" - "ironic-dnsmasq" - name: Copying over ironic.conf @@ -65,7 +67,7 @@ - name: Copying pxelinux.cfg default template: src: "{{ item }}" - dest: "{{ node_config_directory }}/ironic-pxe/default" + dest: "{{ node_config_directory }}/ironic-inspector-tftp/default" with_first_found: - "{{ node_custom_config }}/ironic/pxelinux.default" - "{{ node_custom_config }}/ironic/{{ inventory_hostname }}/pxelinux.default" @@ -83,6 +85,6 @@ - "ironic-api" - "ironic-conductor" - "ironic-inspector" - - "ironic-pxe" + - "ironic-inspector-tftp" when: ironic_policy.stat.exists diff --git a/ansible/roles/ironic/templates/ironic-conductor-tftp.json.j2 b/ansible/roles/ironic/templates/ironic-conductor-tftp.json.j2 new file mode 100644 index 000000000..86fc3d043 --- /dev/null +++ b/ansible/roles/ironic/templates/ironic-conductor-tftp.json.j2 @@ -0,0 +1,11 @@ +{ + "command": "/usr/sbin/in.tftpd --verbose --foreground --user root --address 0.0.0.0:69 --map-file /map-file /tftpboot", + "config_files": [], + "permissions": [ + { + "path": "/tftpboot/pxelinux.cfg", + "owner": "ironic:ironic", + "recurse": true + } + ] +} diff --git a/ansible/roles/ironic/templates/ironic-pxe.json.j2 b/ansible/roles/ironic/templates/ironic-inspector-tftp.json.j2 similarity index 100% rename from ansible/roles/ironic/templates/ironic-pxe.json.j2 rename to ansible/roles/ironic/templates/ironic-inspector-tftp.json.j2 diff --git a/etc/kolla-kubernetes/service_resources.yml b/etc/kolla-kubernetes/service_resources.yml index bf82cdcc7..cd575cc24 100755 --- a/etc/kolla-kubernetes/service_resources.yml +++ b/etc/kolla-kubernetes/service_resources.yml @@ -642,7 +642,8 @@ kolla-kubernetes: vars: configmap_name: ironic-conductor-logging log_format: 'openstack' - - name: ironic-pxe + - name: ironic-inspector-tftp + - name: ironic-conductor-tftp - name: ironic-dnsmasq - name: ironic-dnsmasq-logging template: services/common/logging-configmap.yml.j2 diff --git a/helm/all_values.yaml b/helm/all_values.yaml index 72c4e9c76..88d734d7e 100755 --- a/helm/all_values.yaml +++ b/helm/all_values.yaml @@ -1149,10 +1149,6 @@ ironic-conductor-daemonset: all: ironic_api_ip: 172.21.0.10 ironic_provision_cidr: 172.21.0.0/24 - conductor: - all: - initramfs_url: - kernel_url: ironic-inspector-deployment: global: diff --git a/helm/microservice/ironic-conductor-daemonset/templates/ironic-conductor.yaml b/helm/microservice/ironic-conductor-daemonset/templates/ironic-conductor.yaml index 48ac91bce..05ea04ff2 100644 --- a/helm/microservice/ironic-conductor-daemonset/templates/ironic-conductor.yaml +++ b/helm/microservice/ironic-conductor-daemonset/templates/ironic-conductor.yaml @@ -22,8 +22,6 @@ {{- $elementName := .Values.element_name | default $resourceName }} {{- $ironicAPI := include "kolla_val_get_str" (dict "key" "ironic_api_ip" "searchPath" $searchPath "Values" .Values )}} {{- $ironicProvisionCIDR := include "kolla_val_get_str" (dict "key" "ironic_provision_cidr" "searchPath" $searchPath "Values" .Values )}} -{{- $url1 := include "kolla_val_get_str" (dict "key" "initramfs_url" "searchPath" $searchPath "Values" .Values )}} -{{- $url2 := include "kolla_val_get_str" (dict "key" "kernel_url" "searchPath" $searchPath "Values" .Values )}} {{- with $env := dict "netHostTrue" $netHostTrue "podTypeBootstrap" $podTypeBootstrap "imageFull" $imageFull "resourceName" $resourceName "serviceName" $serviceName "serviceType" $serviceType "privileged" $privileged "Values" .Values "Release" .Release "searchPath" $searchPath }} apiVersion: extensions/v1beta1 kind: DaemonSet @@ -52,8 +50,6 @@ spec: if test -z $IP; then exit 1; fi; cp -a /config/ironic/..data/* /ironic/; cp -a /config/pxe/..data/* /pxe/; - curl -L {{ $url1 }} -o /tftpboot/ironic-agent.initramfs; - curl -L {{ $url2 }} -o /tftpboot/ironic-agent.kernel; jq ''.command = \"in.tftpd -v -L -u root -a ''$IP'':69 --map-file /map-file /tftpboot\"'' /config/pxe/..data/config.json > /pxe/config.json; crudini --set /ironic/ironic.conf conductor api_url http://{{ $ironicAPI }}:6385; crudini --set /ironic/ironic.conf pxe tftp_server $IP; @@ -78,10 +74,6 @@ spec: { "name": "ironic-pxe-config", "mountPath": "/pxe/" - }, - { - "name": "tftpboot", - "mountPath": "/tftpboot/" } ] }, @@ -104,6 +96,7 @@ spec: if [ -f /usr/lib/syslinux/modules/bios/chain.c32 ]; then cp /usr/lib/syslinux/modules/bios/chain.c32 /tftpboot; fi; + mkdir -p /tftpboot/pxelinux.cfg; "], "volumeMounts": [ { @@ -159,7 +152,7 @@ spec: name: {{ $elementName }} - name: pxe-config configMap: - name: ironic-pxe + name: ironic-conductor-tftp - name: ironic-pxe-config emptyDir: {} - name: ironic-conductor-config diff --git a/helm/microservice/ironic-inspector-deployment/templates/ironic-inspector.yaml b/helm/microservice/ironic-inspector-deployment/templates/ironic-inspector.yaml index eab968d80..d24060ced 100644 --- a/helm/microservice/ironic-inspector-deployment/templates/ironic-inspector.yaml +++ b/helm/microservice/ironic-inspector-deployment/templates/ironic-inspector.yaml @@ -205,7 +205,7 @@ spec: emptyDir: {} - name: pxe-config configMap: - name: ironic-pxe + name: ironic-inspector-tftp - name: ironic-pxe-config emptyDir: {} - name: ironic-inspector-config diff --git a/tests/bin/common_iscsi_config_v4.sh b/tests/bin/common_iscsi_config_v4.sh index 0abdce7f8..1e69ba56b 100755 --- a/tests/bin/common_iscsi_config_v4.sh +++ b/tests/bin/common_iscsi_config_v4.sh @@ -25,8 +25,6 @@ function common_iscsi_config { echo " image_tag: 4.0.0" echo " conductor:" echo " all:" - echo " initramfs_url: http://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-stable-newton.gz" - echo " kernel_url: http://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-stable-newton.vmlinuz" echo " ironic_api_ip: 172.21.0.10" echo " ironic_provision_cidr: 172.21.0.0/24" echo " inspector:" diff --git a/tests/bin/common_workflow_config.sh b/tests/bin/common_workflow_config.sh index abfcf86f6..24d5ba728 100755 --- a/tests/bin/common_workflow_config.sh +++ b/tests/bin/common_workflow_config.sh @@ -31,8 +31,6 @@ function common_workflow_config { echo " image_tag: 3.0.3-beta.1" echo " conductor:" echo " all:" - echo " initramfs_url: http://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-stable-newton.gz" - echo " kernel_url: http://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-stable-newton.vmlinuz" echo " ironic_api_ip: 172.21.0.10" echo " ironic_provision_cidr: 172.21.0.0/24" echo " inspector:" diff --git a/tests/bin/ironic_deploy_tests.sh b/tests/bin/ironic_deploy_tests.sh index 5ffaa7673..62dc0119b 100755 --- a/tests/bin/ironic_deploy_tests.sh +++ b/tests/bin/ironic_deploy_tests.sh @@ -87,7 +87,7 @@ pip install -U python-ironic-inspector-client sudo pip install libvirt-python # -# Testing ironic-pxe's tftp server and presence of pxelinux.0 +# Testing running tftp servers for presence of pxelinux.0 for tftp_srv in $(sudo netstat -tunlp | grep tftp | awk '{print $4}'); do tftp_addr=${tftp_srv%:*} tftp $tftp_addr <<'EOF' diff --git a/tools/setup_gate_ceph.sh b/tools/setup_gate_ceph.sh index e114b6078..376301222 100755 --- a/tools/setup_gate_ceph.sh +++ b/tools/setup_gate_ceph.sh @@ -150,8 +150,8 @@ kollakube res create configmap \ nova-api-haproxy cinder-api cinder-api-haproxy cinder-backup \ cinder-scheduler cinder-volume keepalived nova-compute-ironic\ ironic-api ironic-api-haproxy ironic-conductor ironic-dnsmasq \ - ironic-inspector ironic-inspector-haproxy ironic-pxe \ - placement-api placement-api-haproxy; + ironic-inspector ironic-inspector-haproxy ironic-inspector-tftp \ + ironic-conductor-tftp placement-api placement-api-haproxy; kollakube res create secret nova-libvirt diff --git a/tools/setup_gate_iscsi.sh b/tools/setup_gate_iscsi.sh index ccbf7bb11..820407d1d 100755 --- a/tools/setup_gate_iscsi.sh +++ b/tools/setup_gate_iscsi.sh @@ -63,9 +63,9 @@ kollakube res create configmap \ if [ "x$4" == "xironic" ]; then kollakube res create configmap \ - ironic-api ironic-api-haproxy ironic-conductor ironic-dnsmasq \ - ironic-inspector ironic-inspector-haproxy ironic-pxe \ - nova-compute-ironic; + ironic-api ironic-api-haproxy ironic-conductor ironic-conductor-tftp \ + ironic-dnsmasq ironic-inspector ironic-inspector-haproxy \ + ironic-inspector-tftp nova-compute-ironic; fi kollakube res create secret nova-libvirt