Forked from anonymous/gist:f59d96918f3103ad5651
Last active
February 8, 2017 20:31
-
-
Save rm-you/e1c2bf33aa570e310b1cdc7ebdd5dc2e to your computer and use it in GitHub Desktop.
octavia curl command help
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MYTOKEN=$(openstack token issue | awk '/ id / { print $4 }') | |
MYPROJECT=$(openstack token issue | awk '/ project_id / { print $4 }') | |
DEFAULT_NETWORK=$(openstack subnet list | awk '/ private-subnet / {print $2}') | |
# Create a loadbalancer: | |
LB_ID=$(curl -X POST -H Content-type:application/json -H "X-Auth-Token:$MYTOKEN" -d '{"name": "test_lb", "vip": {"subnet_id": "'$DEFAULT_NETWORK'"}, "project_id": "'$MYPROJECT'"}' http://localhost:9876/v1/loadbalancers | python -m json.tool | awk '/"id"/ { print $2 }' | cut -d '"' -f 2) | |
# Get loadbalancer (do this until pending create is no longer pending...): | |
curl -H "X-Auth-Token:$MYTOKEN" http://localhost:9876/v1/loadbalancers/${LB_ID} | python -m json.tool | |
# create listener: | |
LISTENER1_ID=$(curl -X POST -H Content-type:application/json -H "X-Auth-Token:$MYTOKEN" -d '{"name": "test_listener", "protocol": "HTTP", "protocol_port": 80, "project_id": "'$MYPROJECT'"}' http://localhost:9876/v1/loadbalancers/${LB_ID}/listeners | python -m json.tool | awk '/"id"/ { print $2 }' | cut -d '"' -f 2) | |
# get listener: | |
curl -H "X-Auth-Token:$MYTOKEN" http://localhost:9876/v1/loadbalancers/${LB_ID}/listeners/${LISTENER1_ID} | python -m json.tool | |
# get the above listener's pools: | |
curl -H "X-Auth-Token:$MYTOKEN" http://localhost:9876/v1/loadbalancers/${LB_ID}/listeners/${LISTENER1_ID}/pools | python -m json.tool | |
# create pool: | |
POOL1_ID=$(curl -X POST -H Content-type:application/json -H "X-Auth-Token:$MYTOKEN" -d '{"name":"test_pool1", "protocol": "HTTP", "lb_algorithm": "ROUND_ROBIN", "project_id": "'$MYPROJECT'"}' http://localhost:9876/v1/loadbalancers/${LB_ID}/listeners/${LISTENER1_ID}/pools | python -m json.tool | awk '/"id"/ { print $2 }' | cut -d '"' -f 2) | |
# create pool in lb context: | |
POOL2_ID=$(curl -X POST -H Content-type:application/json -H "X-Auth-Token:$MYTOKEN" -d '{"name":"test_pool2", "protocol": "HTTP", "lb_algorithm": "ROUND_ROBIN", "project_id": "'$MYPROJECT'"}' http://localhost:9876/v1/loadbalancers/${LB_ID}/pools | python -m json.tool | awk '/"id"/ { print $2 }' | cut -d '"' -f 2) | |
# Update listener to use different pool2 as default: | |
curl -X PUT -H Content-type:application/json -H "X-Auth-Token:$MYTOKEN" -d '{"default_pool_id": "'$POOL2_ID'"}' http://localhost:9876/v1/loadbalancers/${LB_ID}/listeners/${LISTENER1_ID} | python -m json.tool | |
# Create second listener that also uses the above pool | |
LISTENER2_ID=$(curl -X POST -H Content-type:application/json -H "X-Auth-Token:$MYTOKEN" -d '{"name": "test_listener2", "protocol": "HTTP", "protocol_port": 81, "default_pool_id": "'$POOL2_ID'", "project_id": "'$MYPROJECT'"}' http://localhost:9876/v1/loadbalancers/${LB_ID}/listeners | python -m json.tool | awk '/"id"/ { print $2 }' | cut -d '"' -f 2) | |
# Delete that default pool... | |
curl -X DELETE -H "X-Auth-Token:$MYTOKEN" http://localhost:9876/v1/loadbalancers/${LB_ID}/pools/${POOL2_ID} | |
# Get a pool... | |
curl -H "X-Auth-Token:$MYTOKEN" http://localhost:9876/v1/loadbalancers/${LB_ID}/pools/${POOL1_ID} | python -m json.tool | |
# Create a member | |
curl -X POST -H Content-type:application/json -H "X-Auth-Token:$MYTOKEN" -d '{"ip_address": "216.58.192.174", "protocol_port": 80, "project_id": "'$MYPROJECT'"}' http://localhost:9876/v1/loadbalancers/${LB_ID}/listeners/${LISTENER1_ID}/pools/${POOL1_ID}/members | python -m json.tool | |
# Update listener to use different pool1 as default: | |
curl -X PUT -H Content-type:application/json -H "X-Auth-Token:$MYTOKEN" -d '{"default_pool_id": "'$POOL1_ID'"}' http://localhost:9876/v1/loadbalancers/${LB_ID}/listeners/${LISTENER1_ID} | python -m json.tool | |
# Delete that second listener... | |
curl -X DELETE -H "X-Auth-Token:$MYTOKEN" http://localhost:9876/v1/loadbalancers/${LB_ID}/listeners/${LISTENER2_ID} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment