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
This commit is contained in:
Sam Betts 2017-05-26 13:33:17 +01:00
parent dc9762cf0a
commit fce880575c
12 changed files with 28 additions and 29 deletions

View File

@ -7,8 +7,9 @@
with_items: with_items:
- "ironic-api" - "ironic-api"
- "ironic-conductor" - "ironic-conductor"
- "ironic-conductor-tftp"
- "ironic-inspector" - "ironic-inspector"
- "ironic-pxe" - "ironic-inspector-tftp"
- "ironic-dnsmasq" - "ironic-dnsmasq"
- name: Copying over config.json files for services - name: Copying over config.json files for services
@ -18,8 +19,9 @@
with_items: with_items:
- "ironic-api" - "ironic-api"
- "ironic-conductor" - "ironic-conductor"
- "ironic-conductor-tftp"
- "ironic-inspector" - "ironic-inspector"
- "ironic-pxe" - "ironic-inspector-tftp"
- "ironic-dnsmasq" - "ironic-dnsmasq"
- name: Copying over ironic.conf - name: Copying over ironic.conf
@ -65,7 +67,7 @@
- name: Copying pxelinux.cfg default - name: Copying pxelinux.cfg default
template: template:
src: "{{ item }}" src: "{{ item }}"
dest: "{{ node_config_directory }}/ironic-pxe/default" dest: "{{ node_config_directory }}/ironic-inspector-tftp/default"
with_first_found: with_first_found:
- "{{ node_custom_config }}/ironic/pxelinux.default" - "{{ node_custom_config }}/ironic/pxelinux.default"
- "{{ node_custom_config }}/ironic/{{ inventory_hostname }}/pxelinux.default" - "{{ node_custom_config }}/ironic/{{ inventory_hostname }}/pxelinux.default"
@ -83,6 +85,6 @@
- "ironic-api" - "ironic-api"
- "ironic-conductor" - "ironic-conductor"
- "ironic-inspector" - "ironic-inspector"
- "ironic-pxe" - "ironic-inspector-tftp"
when: when:
ironic_policy.stat.exists ironic_policy.stat.exists

View File

@ -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
}
]
}

View File

@ -642,7 +642,8 @@ kolla-kubernetes:
vars: vars:
configmap_name: ironic-conductor-logging configmap_name: ironic-conductor-logging
log_format: 'openstack' log_format: 'openstack'
- name: ironic-pxe - name: ironic-inspector-tftp
- name: ironic-conductor-tftp
- name: ironic-dnsmasq - name: ironic-dnsmasq
- name: ironic-dnsmasq-logging - name: ironic-dnsmasq-logging
template: services/common/logging-configmap.yml.j2 template: services/common/logging-configmap.yml.j2

View File

@ -1149,10 +1149,6 @@ ironic-conductor-daemonset:
all: all:
ironic_api_ip: 172.21.0.10 ironic_api_ip: 172.21.0.10
ironic_provision_cidr: 172.21.0.0/24 ironic_provision_cidr: 172.21.0.0/24
conductor:
all:
initramfs_url:
kernel_url:
ironic-inspector-deployment: ironic-inspector-deployment:
global: global:

View File

@ -22,8 +22,6 @@
{{- $elementName := .Values.element_name | default $resourceName }} {{- $elementName := .Values.element_name | default $resourceName }}
{{- $ironicAPI := include "kolla_val_get_str" (dict "key" "ironic_api_ip" "searchPath" $searchPath "Values" .Values )}} {{- $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 )}} {{- $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 }} {{- 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 apiVersion: extensions/v1beta1
kind: DaemonSet kind: DaemonSet
@ -52,8 +50,6 @@ spec:
if test -z $IP; then exit 1; fi; if test -z $IP; then exit 1; fi;
cp -a /config/ironic/..data/* /ironic/; cp -a /config/ironic/..data/* /ironic/;
cp -a /config/pxe/..data/* /pxe/; 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; 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 conductor api_url http://{{ $ironicAPI }}:6385;
crudini --set /ironic/ironic.conf pxe tftp_server $IP; crudini --set /ironic/ironic.conf pxe tftp_server $IP;
@ -78,10 +74,6 @@ spec:
{ {
"name": "ironic-pxe-config", "name": "ironic-pxe-config",
"mountPath": "/pxe/" "mountPath": "/pxe/"
},
{
"name": "tftpboot",
"mountPath": "/tftpboot/"
} }
] ]
}, },
@ -104,6 +96,7 @@ spec:
if [ -f /usr/lib/syslinux/modules/bios/chain.c32 ]; then if [ -f /usr/lib/syslinux/modules/bios/chain.c32 ]; then
cp /usr/lib/syslinux/modules/bios/chain.c32 /tftpboot; cp /usr/lib/syslinux/modules/bios/chain.c32 /tftpboot;
fi; fi;
mkdir -p /tftpboot/pxelinux.cfg;
"], "],
"volumeMounts": [ "volumeMounts": [
{ {
@ -159,7 +152,7 @@ spec:
name: {{ $elementName }} name: {{ $elementName }}
- name: pxe-config - name: pxe-config
configMap: configMap:
name: ironic-pxe name: ironic-conductor-tftp
- name: ironic-pxe-config - name: ironic-pxe-config
emptyDir: {} emptyDir: {}
- name: ironic-conductor-config - name: ironic-conductor-config

View File

@ -205,7 +205,7 @@ spec:
emptyDir: {} emptyDir: {}
- name: pxe-config - name: pxe-config
configMap: configMap:
name: ironic-pxe name: ironic-inspector-tftp
- name: ironic-pxe-config - name: ironic-pxe-config
emptyDir: {} emptyDir: {}
- name: ironic-inspector-config - name: ironic-inspector-config

View File

@ -25,8 +25,6 @@ function common_iscsi_config {
echo " image_tag: 4.0.0" echo " image_tag: 4.0.0"
echo " conductor:" echo " conductor:"
echo " all:" 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_api_ip: 172.21.0.10"
echo " ironic_provision_cidr: 172.21.0.0/24" echo " ironic_provision_cidr: 172.21.0.0/24"
echo " inspector:" echo " inspector:"

View File

@ -31,8 +31,6 @@ function common_workflow_config {
echo " image_tag: 3.0.3-beta.1" echo " image_tag: 3.0.3-beta.1"
echo " conductor:" echo " conductor:"
echo " all:" 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_api_ip: 172.21.0.10"
echo " ironic_provision_cidr: 172.21.0.0/24" echo " ironic_provision_cidr: 172.21.0.0/24"
echo " inspector:" echo " inspector:"

View File

@ -87,7 +87,7 @@ pip install -U python-ironic-inspector-client
sudo pip install libvirt-python 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 for tftp_srv in $(sudo netstat -tunlp | grep tftp | awk '{print $4}'); do
tftp_addr=${tftp_srv%:*} tftp_addr=${tftp_srv%:*}
tftp $tftp_addr <<'EOF' tftp $tftp_addr <<'EOF'

View File

@ -150,8 +150,8 @@ kollakube res create configmap \
nova-api-haproxy cinder-api cinder-api-haproxy cinder-backup \ nova-api-haproxy cinder-api cinder-api-haproxy cinder-backup \
cinder-scheduler cinder-volume keepalived nova-compute-ironic\ cinder-scheduler cinder-volume keepalived nova-compute-ironic\
ironic-api ironic-api-haproxy ironic-conductor ironic-dnsmasq \ ironic-api ironic-api-haproxy ironic-conductor ironic-dnsmasq \
ironic-inspector ironic-inspector-haproxy ironic-pxe \ ironic-inspector ironic-inspector-haproxy ironic-inspector-tftp \
placement-api placement-api-haproxy; ironic-conductor-tftp placement-api placement-api-haproxy;
kollakube res create secret nova-libvirt kollakube res create secret nova-libvirt

View File

@ -63,9 +63,9 @@ kollakube res create configmap \
if [ "x$4" == "xironic" ]; then if [ "x$4" == "xironic" ]; then
kollakube res create configmap \ kollakube res create configmap \
ironic-api ironic-api-haproxy ironic-conductor ironic-dnsmasq \ ironic-api ironic-api-haproxy ironic-conductor ironic-conductor-tftp \
ironic-inspector ironic-inspector-haproxy ironic-pxe \ ironic-dnsmasq ironic-inspector ironic-inspector-haproxy \
nova-compute-ironic; ironic-inspector-tftp nova-compute-ironic;
fi fi
kollakube res create secret nova-libvirt kollakube res create secret nova-libvirt