Skip to content
Draft
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
5 changes: 5 additions & 0 deletions .github/workflows/update-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,11 @@ jobs:
repository: kubernetes-sigs/kustomize
version_jsonpath: kustomize_version

- key: openstack-resource-controller
path: ./roles/clusterapi/defaults/main.yml
repository: k-orc/openstack-resource-controller
version_jsonpath: clusterapi_orc_version

- key: velero-cli
path: ./roles/velero/defaults/main.yml
repository: vmware-tanzu/velero
Expand Down
18 changes: 6 additions & 12 deletions roles/clusterapi/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,14 @@ clusterapi_core_components: "{{ clusterapi_core_repo }}/releases/download/{{ clu

# The repo, version and manifest URL for the Cluster API OpenStack provider components
clusterapi_openstack_repo: https://github.com/kubernetes-sigs/cluster-api-provider-openstack
clusterapi_openstack_version: v0.10.5
clusterapi_openstack_version: v0.12.3
clusterapi_openstack_components: "{{ clusterapi_openstack_repo }}/releases/download/{{ clusterapi_openstack_version }}/infrastructure-components.yaml"

# The repo, version and manifest URL for the OpenStack Resource controller
clusterapi_orc_repo: https://github.com/k-orc/openstack-resource-controller
clusterapi_orc_version: v2.1.0
clusterapi_orc_components: "{{ clusterapi_orc_repo }}/releases/download/{{ clusterapi_orc_version }}/install.yaml"

# The diagnostics address for Cluster API components
clusterapi_diagnostics_address: 0.0.0.0:8443
clusterapi_insecure_diagnostics: false
Expand Down Expand Up @@ -42,17 +47,6 @@ clusterapi_manifests:

# List of patches to apply to the resources in the manifests
clusterapi_patches:
# Remove the caBundle from the CAPO custom resource definitions
# It is injected by cert-manager and causes validation issues if set outside of that
# The CAPI CRDs do not have the field set in the manifests that are shipped
# The caBundle exists on every CRD _except_ openstackfloatingippools
- patch: |-
- op: remove
path: /spec/conversion/webhook/clientConfig/caBundle
target:
kind: CustomResourceDefinition
labelSelector: cluster.x-k8s.io/provider=infrastructure-openstack
name: openstack(cluster|machine).*
# The manifests contain environment variable substitutions for feature gates that we do not need
- patch: |-
- op: replace
Expand Down
18 changes: 18 additions & 0 deletions roles/clusterapi/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,24 @@
loop_var: watch
label: "{{ watch.namespace }}/{{ watch.kind }}/{{ watch.name }}"

- name: Install OpenStack Resource Controller
block:
- name: Install OpenStack Resource Controller resources
ansible.builtin.command: >-
kubectl apply
--server-side
-f {{ clusterapi_orc_components }}
changed_when: true

rescue:
- name: Install OpenStack Resource Controller resources [forcing conflicts]
ansible.builtin.command: >-
kubectl apply
--server-side
--force-conflicts
-f {{ clusterapi_orc_components }}
changed_when: true

- name: Install Cluster API addon provider
kubernetes.core.helm:
chart_ref: "{{ clusterapi_addon_provider_chart_name }}"
Expand Down
Loading