summaryrefslogtreecommitdiffstats
path: root/vnfs/DAaaS/microservices/collectd-operator/deploy
diff options
context:
space:
mode:
authorDileep Ranganathan <dileep.ranganathan@intel.com>2019-08-07 00:14:07 -0700
committerMarco Platania <platania@research.att.com>2019-08-11 21:54:15 +0000
commit787f229616b7d26d4a712288018b83c8de6d900c (patch)
tree7f464f4e4d7a7ff2980fde552269e57b127ad36d /vnfs/DAaaS/microservices/collectd-operator/deploy
parent4c13499b5915842b3c6b7c493310b185d89ae040 (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')
-rw-r--r--vnfs/DAaaS/microservices/collectd-operator/deploy/crds/collectdglobal.yaml15
-rw-r--r--vnfs/DAaaS/microservices/collectd-operator/deploy/crds/cpu_collectdplugin_cr.yaml4
-rw-r--r--vnfs/DAaaS/microservices/collectd-operator/deploy/crds/onap_v1alpha1_collectdglobal_crd.yaml64
-rw-r--r--vnfs/DAaaS/microservices/collectd-operator/deploy/role.yaml1
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:
- '*'