summaryrefslogtreecommitdiffstats
path: root/clover/cloverctl/src
AgeCommit message (Collapse)AuthorFilesLines
2018-11-05Add ability to read controller nodeport IP from fileearrage29-133/+237
- Formalize use of cloverctl config file using viper - Default name of config file is '.cloverctl.yaml' - Look for file in home directory or relative to cloverctl executable - Single value in config is for 'ControllerIP: <IP Address>' - Still try and retrieve port value of clover-controller nodeport automatically - Still try and retrieve IP address of clover-controller LB if GKE environment is being used and override config file value if found in current kube context - Improve error messaging if controller connect fails - Clean up the CLI help output - Modify jmeter 'get testresult' command to avoid the use of flags and use arguments instead Change-Id: Id95d1b3d1079ac84996681db62da1f9b6b8a88b5 Signed-off-by: earrage <eddie.arrage@huawei.com>
2018-11-02Add minor enhancements to jmeter configurationearrage1-2/+5
- Add user-agent field to jmeter config yaml and jmeter jmx template that can be configured per URL in testplan - Add duration time that can be used in combination with ramp time. Duration is the total time of the test while ramp time governs how much time is allotted to establish all configured requests/connections - Explicitly define clover-jmeter-master service name with default namespace for clover-controller in clover-system namespace to reach - Add missing request_counts.html file Change-Id: I5e2d388db0b73ea6c28482c94c33cc2a01f1b52e Signed-off-by: earrage <eddie.arrage@huawei.com>
2018-10-21Merge "Add visibility API in controller and CLI"Stephen Wong6-16/+99
2018-10-15Add visibility API in controller and CLIearrage6-16/+99
- Modify get visibility to retrieve config and stats - Add visibility REST API in controller to clear, set, and get from redis - Add example yaml to set visibility (service list by name, metric suffixes/prefixes, and custom metrics) from CLI - Modify example yaml to start visibility (collector) for Istio 1.0 from CLI Change-Id: I43304ff6d70bb4b817b345b9c383ce3621fb06c7 Signed-off-by: earrage <eddie.arrage@huawei.com>
2018-10-11Add nginx services control functionalityearrage4-0/+109
- Modify nginx server template to use clover-controller in clover-system namespace for file upload - Add ability to set nginx server paths and move uploaded files in clover-controller and set/get file upload metadata - Add cloverctl commands to set nginx server and lb configurations - Add example yaml files to configure nginx server and lb v1/v2 from cloverctl - Modify service definition for http-lb versions to distinguish the two versions for GRPC messaging from clover-controller in SDC deployment yaml Change-Id: I5c6866c5ff3de358939c58ea8c0bde64a69c6eca Signed-off-by: earrage <eddie.arrage@huawei.com>
2018-09-05Spinnaker as a Servicewutianwei8-2/+510
JIRA: CLOVER-52 1. Add mainfest to install the spinnaker in kubernetes cluster 2. after using mainfest to install spinnaker, we can interacte with the halyard daemon with its REST API and we can add/delete/list the dockerRegistry/kubernetes accounts. 3. Add the cloverctl to interate with the halyard daemon Change-Id: I71bc5977f2d65aab88fa55f7d7a53ab75eb6a46b Signed-off-by: wutianwei <wutianwei1@huawei.com>
2018-08-02Implement initial cloverctl CLI toolEddie Arrage29-0/+1497
- 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>