Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions providers/openstack/scs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# Cluster Stacks

## Getting started

```sh
# Create bootstrap cluster
kind create cluster

# Init Cluster API
export CLUSTER_TOPOLOGY=true
export EXP_CLUSTER_RESOURCE_SET=true
export EXP_RUNTIME_SDK=true
kubectl apply -f https://github.com/k-orc/openstack-resource-controller/releases/latest/download/install.yaml
clusterctl init --infrastructure openstack

kubectl -n capi-system rollout status deployment
kubectl -n capo-system rollout status deployment

```

values.yaml

```
clusterStackVariables:
ociRepository: registry.scs.community/kaas/cluster-stacks
controllerManager:
rbac:
additionalRules:
- apiGroups:
- "openstack.k-orc.cloud"
resources:
- "images"
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
```

```
# Install CSO and CSPO
helm upgrade -i cso \
-n cso-system \
--create-namespace \
oci://registry.scs.community/cluster-stacks/cso \
--values values.yaml

kubectl create namespace cluster
```

```
# Add secret using csp-helper chart
helm upgrade -i openstack-secrets -n cluster --create-namespace https://github.com/SovereignCloudStack/openstack-csp-helper/releases/latest/download/openstack-csp-helper.tgz -f <PATH TO CLOUDS YAML>
```

```sh
cat <<EOF | kubectl apply -f -
apiVersion: clusterstack.x-k8s.io/v1alpha1
kind: ClusterStack
metadata:
name: openstack
namespace: cluster
spec:
provider: openstack
name: scs
kubernetesVersion: "1.32"
channel: custom
autoSubscribe: false
noProvider: true
versions:
- v0-sha.lvlvyfw
EOF
```

Check if ClusterClasses exist

```sh
kubectl get clusterclass -n cluster
```

cluster.yaml

```sh
cat <<EOF | kubectl apply -f -
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: my-cluster
namespace: cluster
labels:
managed-secret: cloud-config
spec:
clusterNetwork:
pods:
cidrBlocks:
- "172.16.0.0/16"
serviceDomain: cluster.local
services:
cidrBlocks:
- "10.96.0.0/12"
topology:
class: openstack-scs-1-32-v0-sha.lvlvyfw
controlPlane:
replicas: 1
version: v1.32.1
workers:
machineDeployments:
- class: default-worker
name: md-0
replicas: 1
EOF
```

```sh
clusterctl get kubeconfig -n cluster openstack-testcluster > /tmp/kubeconfig
kubectl get nodes --kubeconfig /tmp/kubeconfig
```
6 changes: 3 additions & 3 deletions providers/openstack/scs/cluster-class/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
apiVersion: v2
description: 'This chart installs and configures:
description: "This chart installs and configures:

* Openstack scs Cluster Class

'
name: openstack-scs-1-30-cluster-class
"
name: openstack-scs-1-32-cluster-class
type: application
version: v1
21 changes: 21 additions & 0 deletions providers/openstack/scs/cluster-class/templates/image.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
apiVersion: openstack.k-orc.cloud/v1alpha1
kind: Image
metadata:
name: "{{ .Values.images.worker.name }}"
spec:
cloudCredentialsRef:
cloudName: "{{ .Values.identityRef.cloudName }}"
secretName: "{{ .Values.identityRef.name }}"
managementPolicy: managed
resource:
properties:
diskBus: "scsi"
scsiModel: "virtio-scsi"
content:
diskFormat: qcow2
download:
url: https://swift.services.a.regiocloud.tech/swift/v1/AUTH_b182637428444b9aa302bb8d5a5a418c/openstack-k8s-capi-images/ubuntu-2204-kube-v1.32/ubuntu-2204-kube-v1.32.1.qcow2
hash:
algorithm: sha256
value: 1d261cd043f1c16a676be9079984c912df82387be4c6766b122a966e266a080c
4 changes: 2 additions & 2 deletions providers/openstack/scs/cluster-class/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ openstack_loadbalancer_apiserver: false
# TBD, currently needed:
images:
controlPlane:
name: ubuntu-capi-image-v1.30.9
name: ubuntu-capi-image-v1.32.1
worker:
name: ubuntu-capi-image-v1.30.9
name: ubuntu-capi-image-v1.32.1
identityRef:
name: openstack
cloudName: openstack
4 changes: 1 addition & 3 deletions providers/openstack/scs/csctl.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
apiVersion: csctl.clusterstack.x-k8s.io/v1alpha1
config:
clusterStackName: scs
kubernetesVersion: v1.30.9
kubernetesVersion: v1.32.1
provider:
apiVersion: openstack.csctl.clusterstack.x-k8s.io/v1alpha1
config:
method: get
type: openstack
8 changes: 0 additions & 8 deletions providers/openstack/scs/node-images/config.yaml

This file was deleted.

6 changes: 3 additions & 3 deletions providers/openstack/scs/versions.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
- kubernetes: 1.30.9
- kubernetes: 1.30.11
cinder_csi: 2.30.3
occm: 2.30.5
- kubernetes: 1.31.6
- kubernetes: 1.31.7
cinder_csi: 2.31.7
occm: 2.31.3
- kubernetes: 1.32.1
- kubernetes: 1.32.3
cinder_csi: 2.32.0
occm: 2.32.0