}
function launch_baremetal_operator {
- docker pull integratedcloudnative/baremetal-operator:v1.0-icn
+ docker pull $IRONIC_BAREMETAL_IMAGE
kubectl apply -f $BMODIR/namespace/namespace.yaml
kubectl apply -f $BMODIR/rbac/service_account.yaml -n metal3
kubectl apply -f $BMODIR/rbac/role.yaml -n metal3
kubectl apply -f $BMODIR/operator/no_ironic/operator.yaml -n metal3
}
-network_config_files() {
-cat << 'EOF'
+function cloud_init_scripts() {
+ cat << 'EOF'
write_files:
-- path: /opt/ironic_net.sh
+- path: /var/lib/cloud/scripts/per-boot/run_dhclient.sh
owner: root:root
permissions: '0777'
content: |
sudo ifconfig `basename $intf` up
sudo dhclient -nw `basename $intf`
done
-runcmd:
- - [ /opt/ironic_net.sh ]
EOF
}
+# documentation for the values below may be found at
+# https://cloudinit.readthedocs.io/en/latest/topics/modules.html
create_userdata() {
name="$1"
COMPUTE_NODE_FQDN="$name.akraino.icn.org"
fi
cat $HOME/.ssh/id_rsa.pub >> $name-userdata.yaml
- network_config_files >> $name-userdata.yaml
+ cloud_init_scripts >> $name-userdata.yaml
printf "\n" >> $name-userdata.yaml
}
}
function make_bm_hosts {
- while read -r name address user password mac; do
+ while IFS=',' read -r name address user password mac; do
create_userdata $name
apply_userdata_credential $name
go run "${BMOPATH}"/cmd/make-bm-worker/main.go \
printf "\n checksum: ""%s" "${IMAGE_CHECKSUM}" >> $name-bm-node.yaml
printf "\n userData:" >> $name-bm-node.yaml
printf "\n name: ""%s" "$name""-user-data" >> $name-bm-node.yaml
- printf "\n namespace: metal3\n" >> $name-bm-node.yaml
+ printf "\n namespace: metal3" >> $name-bm-node.yaml
+ printf "\n rootDeviceHints:" >> $name-bm-node.yaml
+ printf "\n minSizeGigabytes: 48\n" >> $name-bm-node.yaml
kubectl apply -f $name-bm-node.yaml -n metal3
done
}