diff options
Diffstat (limited to 'src/dcm/test/dcm_call_api.sh')
-rwxr-xr-x | src/dcm/test/dcm_call_api.sh | 137 |
1 files changed, 88 insertions, 49 deletions
diff --git a/src/dcm/test/dcm_call_api.sh b/src/dcm/test/dcm_call_api.sh index 3bf27524..e25a4b6f 100755 --- a/src/dcm/test/dcm_call_api.sh +++ b/src/dcm/test/dcm_call_api.sh @@ -14,12 +14,25 @@ # * limitations under the License. # */ +dcm_addr="http://localhost:9077" +# parameters project="test-project" description="test-description" logical_cloud_name="lc1" -logical_cloud_url="http://localhost:9015/v2/projects/${project}/logical-clouds" +namespace="ns1" +api_groups="" +user="user-1" +permission="permission-1" +cluster_provider_name="cp-1" +cluster_1_name="c1" +cluster_2_name="c2" +lc_cluster_1_name="lc-cl-1" +lc_cluster_2_name="lc-cl-2" quota_name="quota-1" + +# endpoints +logical_cloud_url="$dcm_addr/v2/projects/${project}/logical-clouds" quota_url="${logical_cloud_url}/${logical_cloud_name}/cluster-quotas" cluster_url="${logical_cloud_url}/${logical_cloud_name}/cluster-references" @@ -28,18 +41,18 @@ logical_cloud_data="$(cat << EOF { "metadata" : { "name": "${logical_cloud_name}", - "description": "${test-description}", + "description": "${description}", "userData1":"<user data>", "userData2":"<user data>" }, "spec" : { - "namespace" : "ns-1", + "namespace" : "${namespace}", "user" : { - "user-name" : "user-1", + "user-name" : "${user}", "type" : "certificate", "user-permissions" : [ - { "permission-name" : "permission-1", - "apiGroups" : ["stable.example.com"], + { "permission-name" : "${permission}", + "apiGroups" : ["${api_groups}"], "resources" : ["secrets", "pods"], "verbs" : ["get", "watch", "list", "create"] } @@ -53,15 +66,15 @@ EOF cluster_1_data="$(cat << EOF { "metadata" : { - "name": "lc-cl-1", - "description": "${test-description}", + "name": "${lc_cluster_1_name}", + "description": "${description}", "userData1":"<user data>", "userData2":"<user data>" }, "spec" : { - "cluster-provider": "cp-1", - "cluster-name": "c1", + "cluster-provider": "${cluster_provider_name}", + "cluster-name": "${cluster_1_name}", "loadbalancer-ip" : "0.0.0.0" } } @@ -71,15 +84,15 @@ EOF cluster_2_data="$(cat << EOF { "metadata" : { - "name": "lc-cl-2", - "description": "${test-description}", + "name": "${lc_cluster_2_name}", + "description": "${description}", "userData1":"<user data>", "userData2":"<user data>" }, "spec" : { - "cluster-provider": "cp-1", - "cluster-name": "c2", + "cluster-provider": "${cluster_provider_name}", + "cluster-name": "${cluster_2_name}", "loadbalancer-ip" : "0.0.0.1" } } @@ -90,7 +103,7 @@ quota_data="$(cat << EOF { "metadata" : { "name" : "${quota_name}", - "description": "${test-description}" + "description": "${description}" }, "spec" : { "limits.cpu": "400", @@ -98,50 +111,76 @@ quota_data="$(cat << EOF "requests.cpu": "300", "requests.memory": "900Gi", "requests.storage" : "500Gi", - "requests.ephemeral-storage": "", - "limits.ephemeral-storage": "", - "persistentvolumeclaims" : " ", + "requests.ephemeral-storage": "500", + "limits.ephemeral-storage": "500", + "persistentvolumeclaims" : "500", "pods": "500", - "configmaps" : "", - "replicationcontrollers": "", - "resourcequotas" : "", - "services": "", - "services.loadbalancers" : "", - "services.nodeports" : "", - "secrets" : "", - "count/replicationcontrollers" : "", - "count/deployments.apps" : "", - "count/replicasets.apps" : "", - "count/statefulsets.apps" : "", - "count/jobs.batch" : "", - "count/cronjobs.batch" : "", - "count/deployments.extensions" : "" + "configmaps" : "1000", + "replicationcontrollers": "500", + "resourcequotas" : "500", + "services": "500", + "services.loadbalancers" : "500", + "services.nodeports" : "500", + "secrets" : "500", + "count/replicationcontrollers" : "500", + "count/deployments.apps" : "500", + "count/replicasets.apps" : "500", + "count/statefulsets.apps" : "500", + "count/jobs.batch" : "500", + "count/cronjobs.batch" : "500", + "count/deployments.extensions" : "500" } } EOF )" +# Cleanup (delete created resources) +if [ "$1" == "clean" ]; then + printf "\n\nTerminating logical cloud...\n\n" + curl -X POST "${logical_cloud_url}/${logical_cloud_name}/terminate" + sleep 10 + + printf "\n\nDeleting Quota info for the logical cloud\n\n" + curl -X DELETE "${quota_url}/${quota_name}" + + printf "\n\nDeleting the two clusters from logical cloud\n\n" + curl -X DELETE ${cluster_url}/${lc_cluster_1_name} + curl -X DELETE ${cluster_url}/${lc_cluster_2_name} + + printf "\n\nDeleting logical cloud data\n\n" + curl -X DELETE ${logical_cloud_url}/${logical_cloud_name} +elif [ "$1" == "kube" ]; then + printf "\n\nFetching kubeconfig for cluster 1:\n\n" + curl -X GET "${logical_cloud_url}/${logical_cloud_name}/cluster-references/${lc_cluster_1_name}/kubeconfig" > kubeconfig-${lc_cluster_1_name} + + printf "\n\nFetching kubeconfig for cluster 2:\n\n" + curl -X GET "${logical_cloud_url}/${logical_cloud_name}/cluster-references/${lc_cluster_2_name}/kubeconfig" > kubeconfig-${lc_cluster_2_name} +else + printf "\n\nCreating logical cloud data\n\n" + curl -d "${logical_cloud_data}" -X POST ${logical_cloud_url} + + printf "\n\nAdding two clusters to logical cloud\n\n" + curl -d "${cluster_1_data}" -X POST ${cluster_url} + curl -d "${cluster_2_data}" -X POST ${cluster_url} -# Create logical cloud -printf "\n\nCreating logical cloud data\n\n" -curl -d "${logical_cloud_data}" -X POST ${logical_cloud_url} + printf "\n\nAdding resource quota for the logical cloud\n\n" + curl -d "${quota_data}" -X POST ${quota_url} -# Associate two clusters with the logical cloud -printf "\n\nAdding two clusters to logical cloud\n\n" -curl -d "${cluster_1_data}" -X POST ${cluster_url} -curl -d "${cluster_2_data}" -X POST ${cluster_url} + printf "\n\nGetting logical cloud\n\n" + curl -X GET "${logical_cloud_url}/${logical_cloud_name}" -# Add resource quota for the logical cloud -printf "\n\nAdding resource quota for the logical cloud\n\n" -curl -d "${quota_data}" -X POST ${quota_url} + printf "\n\nGetting clusters info for logical cloud\n\n" + curl -X GET ${cluster_url} + printf "\n\nGetting first cluster of logical cloud\n" + curl -X GET ${cluster_url}/${lc_cluster_1_name} -# Get logical cloud data -printf "\n\nGetting logical cloud\n\n" -curl -X GET "${logical_cloud_url}/${logical_cloud_name}" + printf "\n\nGetting second cluster of logical cloud\n" + curl -X GET ${cluster_url}/${lc_cluster_2_name} -printf "\n\nGetting clusters info for logical cloud\n\n" -curl -X GET ${cluster_url} + printf "\n\nGetting Quota info for the logical cloud\n\n" + curl -X GET "${quota_url}/${quota_name}" -printf "\n\nGetting Quota info for the logical cloud\n\n" -curl -X GET "${quota_url}/${quota_name}"
\ No newline at end of file + printf "\n\nApplying logical cloud...\n\n" + curl -X POST "${logical_cloud_url}/${logical_cloud_name}/apply" +fi |