diff options
author | Dileep Ranganathan <dileep.ranganathan@intel.com> | 2019-08-07 00:14:07 -0700 |
---|---|---|
committer | Marco Platania <platania@research.att.com> | 2019-08-11 21:54:15 +0000 |
commit | 787f229616b7d26d4a712288018b83c8de6d900c (patch) | |
tree | 7f464f4e4d7a7ff2980fde552269e57b127ad36d /vnfs/DAaaS/microservices/collectd-operator/deploy | |
parent | 4c13499b5915842b3c6b7c493310b185d89ae040 (diff) |
Collectd Global CRD
This patch introduces an enhancement to the existing Collectd Operator.
It has now 2 CRDS CollectdGlobal and CollectdPlugin and corresponding
controllers. CollectdGlobal is used to specify the global options of
collectd conf and CollectdPlugin is used to load/unload plugins.
Added synchronization when both controllers try to fetch the same
resources. Refactored some of the common code to collectdutils.
Issue-ID: ONAPARC-461
Signed-off-by: Dileep Ranganathan <dileep.ranganathan@intel.com>
Change-Id: Id2edf6fa6de56d9d7216ebb258b3017661c6a3dd
Diffstat (limited to 'vnfs/DAaaS/microservices/collectd-operator/deploy')
4 files changed, 82 insertions, 2 deletions
diff --git a/vnfs/DAaaS/microservices/collectd-operator/deploy/crds/collectdglobal.yaml b/vnfs/DAaaS/microservices/collectd-operator/deploy/crds/collectdglobal.yaml new file mode 100644 index 00000000..60dec7c4 --- /dev/null +++ b/vnfs/DAaaS/microservices/collectd-operator/deploy/crds/collectdglobal.yaml @@ -0,0 +1,15 @@ +apiVersion: onap.org/v1alpha1 +kind: CollectdGlobal +metadata: + name: example-collectdglobal +spec: + # Add fields here + globalOptions: | + BaseDir "/opt/collectd/var/lib/collectd" + PIDFile "/opt/collectd/var/run/collectd.pid" + PluginDir "/opt/collectd/lib/collectd" + TypesDB "/opt/collectd/share/collectd/types.db" + TypesDB "/opt/collectd/share/collectd/vcmts.types.db" + #Hostname "localhost" + Interval 1 + configMap: typesdb-configmap diff --git a/vnfs/DAaaS/microservices/collectd-operator/deploy/crds/cpu_collectdplugin_cr.yaml b/vnfs/DAaaS/microservices/collectd-operator/deploy/crds/cpu_collectdplugin_cr.yaml index fb168c7a..d10b82af 100644 --- a/vnfs/DAaaS/microservices/collectd-operator/deploy/crds/cpu_collectdplugin_cr.yaml +++ b/vnfs/DAaaS/microservices/collectd-operator/deploy/crds/cpu_collectdplugin_cr.yaml @@ -4,11 +4,11 @@ metadata: name: cpu spec: # Add fields here - pluginName: "cpu" + pluginName: cpu pluginConf: | <Plugin "cpu"> Interval 5 ReportByState false ReportByCpu false </Plugin> -
\ No newline at end of file + diff --git a/vnfs/DAaaS/microservices/collectd-operator/deploy/crds/onap_v1alpha1_collectdglobal_crd.yaml b/vnfs/DAaaS/microservices/collectd-operator/deploy/crds/onap_v1alpha1_collectdglobal_crd.yaml new file mode 100644 index 00000000..29b13ec1 --- /dev/null +++ b/vnfs/DAaaS/microservices/collectd-operator/deploy/crds/onap_v1alpha1_collectdglobal_crd.yaml @@ -0,0 +1,64 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: collectdglobals.onap.org +spec: + group: onap.org + names: + kind: CollectdGlobal + listKind: CollectdGlobalList + plural: collectdglobals + singular: collectdglobal + 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: + configMap: + type: string + globalOptions: + 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: + - globalOptions + 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 Status can be + one of "", Created, Deleting, Applied, Deprecated' + items: + type: string + type: array + status: + type: string + required: + - status + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true diff --git a/vnfs/DAaaS/microservices/collectd-operator/deploy/role.yaml b/vnfs/DAaaS/microservices/collectd-operator/deploy/role.yaml index d7aba353..504a16cc 100644 --- a/vnfs/DAaaS/microservices/collectd-operator/deploy/role.yaml +++ b/vnfs/DAaaS/microservices/collectd-operator/deploy/role.yaml @@ -44,5 +44,6 @@ rules: - onap.org resources: - '*' + - collectdglobals verbs: - '*' |