@@ -311,22 +311,11 @@ function magnum_register_image {
311
311
echo " Unknown image extension in $image_filename , supported extensions: tgz, img, qcow2, iso, vhd, vhdx, tar.gz, img.gz, img.bz2, vhd.gz, vhdx.gz, qcow2.xz" ; false
312
312
fi
313
313
314
- # Cluster API driver sets kube_version on the image
315
- # as the image includes the k8s binaries
316
- if [ ! -z " $MAGNUM_IMAGE_KUBE_VERSION " ]; then
317
- magnum_image_property=$magnum_image_property " --property kube_version=$MAGNUM_IMAGE_KUBE_VERSION "
318
- fi
319
-
320
314
openstack image set $image_name $magnum_image_property
321
- openstack image set --public $image_name
322
- openstack image show -f yaml $image_name
323
315
}
324
316
325
317
# magnum_configure_flavor - set hw_rng property for flavor to address the potential entropy issue
326
318
function magnum_configure_flavor {
327
- # add a new flavor with two vcpus and just enough RAM
328
- openstack flavor create ds2G20 --ram 2048 --disk 20 --id d5 --vcpus 2 --public
329
-
330
319
local magnum_flavor_property=" --property hw_rng:allowed=True --property hw_rng:rate_bytes=1024 --property hw_rng:rate_period=1"
331
320
332
321
local FLAVOR_LIST=$( openstack flavor list -c Name -f value)
@@ -344,122 +333,12 @@ function install_magnumclient {
344
333
fi
345
334
}
346
335
347
- function setup_capi_management_cluster {
348
-
349
- # # Install `kubectl` CLI
350
- curl -fsLo /tmp/kubectl " https://dl.k8s.io/release/$( curl -fsL https://dl.k8s.io/release/stable.txt) /bin/linux/amd64/kubectl"
351
- sudo install -o root -g root -m 0755 /tmp/kubectl /usr/local/bin/kubectl
352
-
353
- # K3s has issues without apparmor, so we add it here
354
- sudo apt install -y apparmor apparmor-utils
355
-
356
- # Install k3s
357
- curl -fsL https://get.k3s.io | sudo bash -s - --disable traefik
358
-
359
- # copy kubeconfig file into standard location
360
- mkdir -p $HOME /.kube
361
- sudo cp /etc/rancher/k3s/k3s.yaml $HOME /.kube/config
362
- sudo chown $USER $HOME /.kube/config
363
-
364
- # Install helm
365
- curl -fsL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
366
-
367
- {
368
- # Install cert manager
369
- helm upgrade cert-manager cert-manager \
370
- --install \
371
- --namespace cert-manager \
372
- --create-namespace \
373
- --repo https://charts.jetstack.io \
374
- --version v1.10.1 \
375
- --set installCRDs=true \
376
- --wait \
377
- --timeout 10m
378
- } || {
379
- kubectl -n cert-manager get pods | awk ' $1 && $1!="NAME" { print $1 }' | xargs -n1 kubectl -n cert-manager logs
380
- exit
381
- }
382
-
383
- # Install Cluster API resources
384
- mkdir -p capi
385
- cat << EOF > capi/kustomization.yaml
386
- ---
387
- resources:
388
- - >-
389
- https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.3.2/cluster-api-components.yaml
390
- - >-
391
- https://github.com/kubernetes-sigs/cluster-api-provider-openstack/releases/download/v0.7.2/infrastructure-components.yaml
392
- patches:
393
- - patch: |-
394
- - op: replace
395
- path: /spec/template/spec/containers/0/args
396
- value:
397
- - --leader-elect
398
- - --metrics-bind-addr=localhost:8080
399
- target:
400
- kind: Deployment
401
- namespace: capi-system
402
- name: capi-controller-manager
403
- - patch: |-
404
- - op: replace
405
- path: /spec/template/spec/containers/0/args
406
- value:
407
- - --leader-elect
408
- - --metrics-bind-addr=localhost:8080
409
- target:
410
- kind: Deployment
411
- namespace: capi-kubeadm-bootstrap-system
412
- name: capi-kubeadm-bootstrap-controller-manager
413
- - patch: |-
414
- - op: replace
415
- path: /spec/template/spec/containers/0/args
416
- value:
417
- - --leader-elect
418
- - --metrics-bind-addr=localhost:8080
419
- target:
420
- kind: Deployment
421
- namespace: capi-kubeadm-control-plane-system
422
- name: capi-kubeadm-control-plane-controller-manager
423
- EOF
424
-
425
- kubectl apply -k capi
426
-
427
- kubectl rollout status deployment/capi-controller-manager \
428
- --namespace capi-system \
429
- --timeout 5m \
430
- && \
431
- kubectl rollout status deployment/capi-kubeadm-bootstrap-controller-manager \
432
- --namespace capi-kubeadm-bootstrap-system \
433
- --timeout 5m \
434
- && \
435
- kubectl rollout status deployment/capi-kubeadm-control-plane-controller-manager \
436
- --namespace capi-kubeadm-control-plane-system \
437
- --timeout 5m \
438
- && \
439
- kubectl rollout status deployment/capo-controller-manager \
440
- --namespace capo-system \
441
- --timeout 10m
442
-
443
- # Install addon manager
444
- helm upgrade cluster-api-addon-provider cluster-api-addon-provider \
445
- --install \
446
- --repo https://stackhpc.github.io/cluster-api-addon-provider \
447
- --version 0.1.0-dev.0.main.26 \
448
- --namespace capi-addon-system \
449
- --create-namespace \
450
- --wait \
451
- --timeout 10m
452
- }
453
-
454
336
# install_magnum() - Collect source and prepare
455
337
function install_magnum {
456
338
install_apache_uwsgi
457
339
458
340
git_clone $MAGNUM_REPO $MAGNUM_DIR $MAGNUM_BRANCH
459
341
setup_develop $MAGNUM_DIR
460
-
461
- # get ready for capi driver
462
- setup_capi_management_cluster
463
342
}
464
343
465
344
# start_magnum_api() - Start the API process ahead of other things
0 commit comments