From 20d2faee7b9a36a50371854a3688b6421a70ebcb Mon Sep 17 00:00:00 2001 From: Dileep Ranganathan Date: Tue, 28 May 2019 15:02:54 -0700 Subject: Collectd Operator API Define spec for CollectdPlugin CRD. Create CRD and sample CR for CollectdPlugin and autogenerated code. Updated Makefile and deployment artifacts. Issue-ID: ONAPARC-461 Signed-off-by: Dileep Ranganathan Change-Id: I10bc198976b415efcfab01258342abbd2b4dfcc9 --- .../crds/onap_v1alpha1_collectdplugin_cr.yaml | 10 ++++ .../crds/onap_v1alpha1_collectdplugin_crd.yaml | 65 ++++++++++++++++++++++ vnfs/DAaaS/collectd-operator/deploy/operator.yaml | 6 +- vnfs/DAaaS/collectd-operator/deploy/role.yaml | 23 +++++--- .../collectd-operator/deploy/role_binding.yaml | 4 +- 5 files changed, 94 insertions(+), 14 deletions(-) create mode 100644 vnfs/DAaaS/collectd-operator/deploy/crds/onap_v1alpha1_collectdplugin_cr.yaml create mode 100644 vnfs/DAaaS/collectd-operator/deploy/crds/onap_v1alpha1_collectdplugin_crd.yaml (limited to 'vnfs/DAaaS/collectd-operator/deploy') diff --git a/vnfs/DAaaS/collectd-operator/deploy/crds/onap_v1alpha1_collectdplugin_cr.yaml b/vnfs/DAaaS/collectd-operator/deploy/crds/onap_v1alpha1_collectdplugin_cr.yaml new file mode 100644 index 00000000..a4684293 --- /dev/null +++ b/vnfs/DAaaS/collectd-operator/deploy/crds/onap_v1alpha1_collectdplugin_cr.yaml @@ -0,0 +1,10 @@ +apiVersion: onap.org/v1alpha1 +kind: CollectdPlugin +metadata: + name: example-collectdplugin +spec: + # Add fields here + pluginName: "cpu" + pluginConf: | + + diff --git a/vnfs/DAaaS/collectd-operator/deploy/crds/onap_v1alpha1_collectdplugin_crd.yaml b/vnfs/DAaaS/collectd-operator/deploy/crds/onap_v1alpha1_collectdplugin_crd.yaml new file mode 100644 index 00000000..9b944f48 --- /dev/null +++ b/vnfs/DAaaS/collectd-operator/deploy/crds/onap_v1alpha1_collectdplugin_crd.yaml @@ -0,0 +1,65 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: collectdplugins.onap.org +spec: + group: onap.org + names: + kind: CollectdPlugin + listKind: CollectdPluginList + plural: collectdplugins + singular: collectdplugin + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + properties: + pluginConf: + type: string + pluginName: + description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "operator-sdk generate k8s" to regenerate code after + modifying this file Add custom validation using kubebuilder tags: + https://book.kubebuilder.io/beyond_basics/generating_crd.html' + type: string + required: + - pluginName + - pluginConf + type: object + status: + properties: + collectdAgents: + description: 'INSERT ADDITIONAL STATUS FIELD - define observed state + of cluster Important: Run "operator-sdk generate k8s" to regenerate + code after modifying this file Add custom validation using kubebuilder + tags: https://book.kubebuilder.io/beyond_basics/generating_crd.html + CollectdAgents are the collectd pods in the Daemonset' + items: + type: string + type: array + collectdConf: + type: object + required: + - collectdAgents + - collectdConf + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true diff --git a/vnfs/DAaaS/collectd-operator/deploy/operator.yaml b/vnfs/DAaaS/collectd-operator/deploy/operator.yaml index 14f7d2aa..108719ab 100644 --- a/vnfs/DAaaS/collectd-operator/deploy/operator.yaml +++ b/vnfs/DAaaS/collectd-operator/deploy/operator.yaml @@ -16,15 +16,13 @@ spec: containers: - name: collectd-operator # Replace this with the built image name - image: REPLACE_IMAGE + image: dcr.cluster.local:31976/collectd-operator:latest command: - collectd-operator imagePullPolicy: Always env: - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace + value: "" - name: POD_NAME valueFrom: fieldRef: diff --git a/vnfs/DAaaS/collectd-operator/deploy/role.yaml b/vnfs/DAaaS/collectd-operator/deploy/role.yaml index c748132c..d7aba353 100644 --- a/vnfs/DAaaS/collectd-operator/deploy/role.yaml +++ b/vnfs/DAaaS/collectd-operator/deploy/role.yaml @@ -1,6 +1,7 @@ -kind: Role apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole metadata: + creationTimestamp: null name: collectd-operator rules: - apiGroups: @@ -14,7 +15,7 @@ rules: - configmaps - secrets verbs: - - "*" + - '*' - apiGroups: - apps resources: @@ -23,19 +24,25 @@ rules: - replicasets - statefulsets verbs: - - "*" + - '*' - apiGroups: - monitoring.coreos.com resources: - servicemonitors verbs: - - "get" - - "create" + - get + - create - apiGroups: - apps - resources: - - deployments/finalizers resourceNames: - collectd-operator + resources: + - deployments/finalizers + verbs: + - update +- apiGroups: + - onap.org + resources: + - '*' verbs: - - "update" + - '*' diff --git a/vnfs/DAaaS/collectd-operator/deploy/role_binding.yaml b/vnfs/DAaaS/collectd-operator/deploy/role_binding.yaml index e24a9511..5f425081 100644 --- a/vnfs/DAaaS/collectd-operator/deploy/role_binding.yaml +++ b/vnfs/DAaaS/collectd-operator/deploy/role_binding.yaml @@ -1,4 +1,4 @@ -kind: RoleBinding +kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: collectd-operator @@ -6,6 +6,6 @@ subjects: - kind: ServiceAccount name: collectd-operator roleRef: - kind: Role + kind: ClusterRole name: collectd-operator apiGroup: rbac.authorization.k8s.io -- cgit 1.2.3-korg