summaryrefslogtreecommitdiffstats
path: root/clover/cloverctl/src/cloverctl/cmd/delete_system.go
AgeCommit message (Collapse)AuthorFilesLines
2018-11-06Add create/delete of clover-system services from CLIearrage1-5/+138
- Improve usability when deploying or deleting various Clover components using cloverctl - Add yaml for each of the clover-system services including controller, collector, spark, redis, cassandra, clovisor and jmeter separated by k8s resource and available under a single yaml directory - Deploy/delete yaml for services in various subsets including: - visibility(controller, collector, spark, redis, cassandra) - datastore(redis, cassandra) - validation(jmeter master/slaves(4)) - clovisor (individually) - collector (individually) - controller (individually) Ex. cloverctl create system controller Ex. cloverctl create system visibility - Ability to add nodeport for controller separately (cloverctl create system controller nodeport) - Use native client-go methods to create/delete all k8s resources used by Clover including: - pods, deployments, statefulsets, daemonsets, services - serviceaccounts, clusterrolebindings - Above allows yaml override of values such as image value specified in deployment or daemonset. This is broken down by: - tag (ex. latest, opnfv-7.0.0) or repo'(ex. opnfv, localhost:5000) that can be added with CLI flags as shown below: (cloverctl create system visibility -t latest -r localhost:5000) - defaults to -r opnfv -t latest - Creates/deletes clover-system namespace - Also added ability to create/delete lb service for controller external access when running on environment such as GKE (cloverctl <create/delete> system controller lb) Change-Id: I2a3c6c80035d4663fa38368b3ff13e9a14090a47 Signed-off-by: earrage <eddie.arrage@huawei.com>
2018-08-02Implement initial cloverctl CLI toolEddie Arrage1-0/+33
- Uses client-go package to interface to k8s API and implement functions as cloverkube package. - Identifies GKE LB IP for clover-controller for user - Identifies NodePort port number for clover-controller for user if environment is local k8s (assumes flannel CNI currently) - Deploys and deletes clover-collector and clover-controller with native client-go constructs (currently images are defined with local registry). Future work will implement other clover services and Istio components. Uses the clover-system namespace. - Uses Cobra go package to implement CLI (used in kubectl and istioctl) using cloverctl <verb> <noun> convention. - Interfaces to clover-controller to configure clover services (visibility, IDS ...) within the cluster via REST messaging - Start visibility (collector) engine using input yaml file or defaults - Init, stop and clear (truncate Cassandra tables) visibility engine or get basic stats. - Add custom rules to IDS from input yaml file and start/stop IDS - Generate jmeter testplan on jmeter-master using input yaml file. Start tests and output log/results from CLI. - Specify number of jmeter slaves to initiate tests on from CLI. Automatically find IP addresses of jmeter slaves within the k8s cluster. - Sample yaml files for adding IDS rules, starting visibility engine and generating jmeter test plans. - Build script to install go and get dependent packages. - Implement a custom Istio inject package for manual sidecar injection (cloverinject). Currently, unused as it is built from Istio 0.8.0/1.0.0 code base. Change-Id: Ibb8d08cb98267bdffb8905c221473f177d51bbb3 Signed-off-by: Eddie Arrage <eddie.arrage@huawei.com>