diff --git a/releasenotes/notes/ceph-provisioners-create-namespace-52bf4b8d56327393.yaml b/releasenotes/notes/ceph-provisioners-create-namespace-52bf4b8d56327393.yaml new file mode 100644 index 0000000000..aa006f2e29 --- /dev/null +++ b/releasenotes/notes/ceph-provisioners-create-namespace-52bf4b8d56327393.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + The Ceph provisioners role now creates its configured deployment namespace + before creating Kubernetes resources. diff --git a/roles/ceph_provisioners/tasks/main.yml b/roles/ceph_provisioners/tasks/main.yml index e62069bd05..f19f3d979f 100644 --- a/roles/ceph_provisioners/tasks/main.yml +++ b/roles/ceph_provisioners/tasks/main.yml @@ -30,29 +30,35 @@ }} loop: "{{ _ceph_mon_dump.stdout | from_json | community.general.json_query('mons[*].addr') | map('regex_replace', '(.*):(.*)', '\\1') }}" -- name: Create Ceph service +- name: Create Ceph namespace and service + run_once: true kubernetes.core.k8s: state: present definition: - apiVersion: v1 - kind: Service - metadata: - name: ceph-mon - namespace: openstack - labels: - application: ceph - spec: - clusterIP: None - ports: - - name: mon - port: 6789 - targetPort: 6789 - - name: mon-msgr2 - port: 3300 - targetPort: 3300 - - name: metrics - port: 9283 - targetPort: 9283 + - apiVersion: v1 + kind: Namespace + metadata: + name: "{{ ceph_provisioners_helm_release_namespace }}" + + - apiVersion: v1 + kind: Service + metadata: + name: ceph-mon + namespace: "{{ ceph_provisioners_helm_release_namespace }}" + labels: + application: ceph + spec: + clusterIP: None + ports: + - name: mon + port: 6789 + targetPort: 6789 + - name: mon-msgr2 + port: 3300 + targetPort: 3300 + - name: metrics + port: 9283 + targetPort: 9283 - name: Create Ceph endpoints kubernetes.core.k8s: @@ -62,7 +68,7 @@ kind: Endpoints metadata: name: ceph-mon - namespace: openstack + namespace: "{{ ceph_provisioners_helm_release_namespace }}" labels: application: ceph subsets: @@ -99,7 +105,7 @@ type: kubernetes.io/rbd metadata: name: pvc-ceph-client-key - namespace: openstack + namespace: "{{ ceph_provisioners_helm_release_namespace }}" labels: application: ceph stringData: