- cat $HOME/.ssh/id_rsa.pub >> $name-userdata.yaml
- network_config_files >> $name-userdata.yaml
- printf "\n" >> $name-userdata.yaml
-}
-
-function launch_baremetal_operator {
- docker pull integratedcloudnative/baremetal-operator:v1.0-icn
- kubectl apply -f bmo/namespace/namespace.yaml
- kubectl apply -f bmo/rbac/service_account.yaml -n metal3
- kubectl apply -f bmo/rbac/role.yaml -n metal3
- kubectl apply -f bmo/rbac/role_binding.yaml
- kubectl apply -f bmo/crds/metal3.io_baremetalhosts_crd.yaml
- kubectl apply -f bmo/operator/no_ironic/operator.yaml -n metal3
-}
-
-function remove_baremetal_operator {
- kubectl delete -f bmo/operator/no_ironic/operator.yaml -n metal3
- kubectl delete -f bmo/crds/metal3.io_baremetalhosts_crd.yaml
- kubectl delete -f bmo/rbac/role_binding.yaml
- kubectl delete -f bmo/rbac/role.yaml -n metal3
- kubectl delete -f bmo/rbac/service_account.yaml -n metal3
- kubectl delete -f bmo/namespace/namespace.yaml
-}
-
-function network_config_files {
- cat << 'EOF'
-write_files:
-- path: /opt/ironic_net.sh
- owner: root:root
- permissions: '0777'
- content: |
- #!/usr/bin/env bash
- set -xe
- for intf in /sys/class/net/*; do
- sudo ifconfig `basename $intf` up
- sudo dhclient -nw `basename $intf`
- done
-EOF
-cat << EOF
-- path: /opt/user_net.sh
- owner: root:root
- permissions: '0777'
- content: |
- #!/usr/bin/env bash
- set -xe
- route add default gw $PROVIDER_NETWORK_GATEWAY
- sed -i -e 's/^#DNS=.*/DNS=$PROVIDER_NETWORK_DNS/g' /etc/systemd/resolved.conf
- systemctl daemon-reload
- systemctl restart systemd-resolved
-runcmd:
- - [ /opt/ironic_net.sh ]
- - [ /opt/user_net.sh ]
-EOF