Skip to content

Commit 15a7a73

Browse files
author
French Ben
committed
Added support for metaserver container
Signed-off-by: French Ben <[email protected]>
1 parent b240ae0 commit 15a7a73

File tree

8 files changed

+117
-51
lines changed

8 files changed

+117
-51
lines changed

azure/dockerfiles/files/guide/refresh.sh

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,37 @@ if [ "$NODE_TYPE" == "worker" ] ; then
55
exit 0
66
fi
77

8+
get_manager_token()
9+
{
10+
if [ -n "$MANAGER_IP" ]; then
11+
export MANAGER_TOKEN=$(wget -qO- http://$MANAGER_IP:9024/token/manager/)
12+
echo "MANAGER_TOKEN=$MANAGER_TOKEN"
13+
else
14+
echo "MANAGER_TOKEN can't be found yet. MANAGER_IP isn't set yet."
15+
fi
16+
}
17+
18+
get_worker_token()
19+
{
20+
if [ -n "$MANAGER_IP" ]; then
21+
export WORKER_TOKEN=$(wget -qO- http://$MANAGER_IP:9024/token/worker/)
22+
echo "WORKER_TOKEN=$WORKER_TOKEN"
23+
else
24+
echo "WORKER_TOKEN can't be found yet. MANAGER_IP isn't set yet."
25+
fi
26+
}
27+
828
IS_LEADER=$(docker node inspect self -f '{{ .ManagerStatus.Leader }}')
929

1030
if [[ "$IS_LEADER" == "true" ]]; then
1131
# we are the leader, We only need to call once, so we only call from the current leader.
12-
DATA=$(python /usr/bin/azuretokens.py get-tokens)
13-
MANAGER_IP=$(echo $DATA | cut -d'|' -f 1)
14-
STORED_MANAGER_TOKEN=$(echo $DATA | cut -d'|' -f 2)
15-
STORED_WORKER_TOKEN=$(echo $DATA | cut -d'|' -f 3)
16-
17-
MANAGER_TOKEN=$(docker swarm join-token manager -q)
18-
WORKER_TOKEN=$(docker swarm join-token worker -q)
32+
MYIP=$(ifconfig eth0 | grep "inet addr:" | cut -d: -f2 | cut -d" " -f1)
33+
CURRENT_MANAGER_IP=$(python /usr/bin/azuretokens.py get-ip)
34+
echo "Current manager IP = $CURRENT_MANAGER_IP ; my IP = $MYIP"
1935

20-
if [[ "$STORED_MANAGER_TOKEN" != "$MANAGER_TOKEN" ]] || [[ "$STORED_WORKER_TOKEN" != "$WORKER_TOKEN" ]]; then
21-
echo "Swarm tokens changed, updating azure table with new tokens"
22-
python /usr/bin/azuretokens.py insert-tokens $MANAGER_IP $MANAGER_TOKEN $WORKER_TOKEN
36+
if [ "$CURRENT_MANAGER_IP" == "$MYIP" ]; then
37+
echo "Swarm Manager IP changed, updating azure table with new ip"
38+
python /usr/bin/azuretokens.py insert-ip $MYIP
2339
fi
2440

2541
fi

azure/dockerfiles/files/init/azuretokens.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,23 @@ def get_storage_key():
3636
return storage_keys['key1']
3737

3838

39-
def print_tokens(sa_key):
39+
def print_ip(sa_key):
4040
global PARTITION_NAME, ROW_ID, SA_NAME, TBL_NAME
4141
tbl_svc = TableService(account_name=SA_NAME, account_key=sa_key)
4242
if not tbl_svc.exists(TBL_NAME):
4343
return False
4444
try:
4545
token = tbl_svc.get_entity(TBL_NAME, PARTITION_NAME, ROW_ID)
46-
print '{}|{}|{}'.format(token.manager_ip, token.manager_token, token.worker_token)
46+
print '{}'.format(token.manager_ip)
4747
return True
4848
except:
4949
return False
5050

5151

52-
def insert_tokens(sa_key, manager_ip, manager_token, worker_token):
52+
def insert_ip(sa_key, manager_ip):
5353
global PARTITION_NAME, ROW_ID, TBL_NAME, SA_NAME
5454
tbl_svc = TableService(account_name=SA_NAME, account_key=sa_key)
55-
token = {'PartitionKey': PARTITION_NAME, 'RowKey': ROW_ID, 'manager_ip': manager_ip, 'manager_token': manager_token, 'worker_token': worker_token}
55+
token = {'PartitionKey': PARTITION_NAME, 'RowKey': ROW_ID, 'manager_ip': manager_ip}
5656
try:
5757
# this upsert operation should always succeed
5858
tbl_svc.insert_or_replace_entity(TBL_NAME, token)
@@ -80,11 +80,9 @@ def main():
8080
parser = argparse.ArgumentParser(description='Tool to store Docker Swarm info in Azure Tables')
8181
subparsers = parser.add_subparsers(help='commands', dest='action')
8282
create_table_parser = subparsers.add_parser('create-table', help='Create table specified in env var AZURE_TBL_NAME')
83-
get_tokens_parser = subparsers.add_parser('get-tokens', help='Get swarm info from table specified in env var AZURE_TBL_NAME')
84-
insert_tokens_parser = subparsers.add_parser('insert-tokens', help='Insert swarm info to table specified in env var AZURE_TBL_NAME')
83+
get_tokens_parser = subparsers.add_parser('get-ip', help='Get swarm info from table specified in env var AZURE_TBL_NAME')
84+
insert_tokens_parser = subparsers.add_parser('insert-ip', help='Insert swarm info to table specified in env var AZURE_TBL_NAME')
8585
insert_tokens_parser.add_argument('ip', help='IP address of the primary swarm manager')
86-
insert_tokens_parser.add_argument('manager_token', help='Manager Token for the swarm')
87-
insert_tokens_parser.add_argument('worker_token', help='Worker token for the swarm')
8886

8987
args = parser.parse_args()
9088

@@ -93,10 +91,10 @@ def main():
9391
if args.action == 'create-table':
9492
if not create_table(key):
9593
sys.exit(1)
96-
elif args.action == 'get-tokens':
97-
print_tokens(key)
98-
elif args.action == 'insert-tokens':
99-
insert_tokens(key, args.ip, args.manager_token, args.worker_token)
94+
elif args.action == 'get-ip':
95+
print_ip(key)
96+
elif args.action == 'insert-ip':
97+
insert_ip(key, args.ip)
10098
else:
10199
parser.print_usage()
102100

azure/dockerfiles/files/init/entry.sh

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,10 @@ get_node_id()
3030

3131
get_tokens_db()
3232
{
33-
echo "Get tokens from Azure Table"
34-
DATA=$(python azuretokens.py get-tokens)
35-
export MANAGER_IP=$(echo $DATA | cut -d'|' -f 1)
36-
export MANAGER_TOKEN=$(echo $DATA | cut -d'|' -f 2)
37-
export WORKER_TOKEN=$(echo $DATA | cut -d'|' -f 3)
38-
39-
echo "MANAGER_TOKEN=$MANAGER_TOKEN"
40-
echo "WORKER_TOKEN=$WORKER_TOKEN"
33+
echo "Get MANAGER IP from Azure Table"
34+
export MANAGER_IP=$(python azuretokens.py get-ip)
35+
get_manager_token
36+
get_worker_token
4137
}
4238

4339
get_tokens_local()
@@ -48,6 +44,26 @@ get_tokens_local()
4844
echo "WORKER_TOKEN=$WORKER_TOKEN"
4945
}
5046

47+
get_manager_token()
48+
{
49+
if [ -n "$MANAGER_IP" ]; then
50+
export MANAGER_TOKEN=$(wget -qO- http://$MANAGER_IP:9024/token/manager/)
51+
echo "MANAGER_TOKEN=$MANAGER_TOKEN"
52+
else
53+
echo "MANAGER_TOKEN can't be found yet. MANAGER_IP isn't set yet."
54+
fi
55+
}
56+
57+
get_worker_token()
58+
{
59+
if [ -n "$MANAGER_IP" ]; then
60+
export WORKER_TOKEN=$(wget -qO- http://$MANAGER_IP:9024/token/worker/)
61+
echo "WORKER_TOKEN=$WORKER_TOKEN"
62+
else
63+
echo "WORKER_TOKEN can't be found yet. MANAGER_IP isn't set yet."
64+
fi
65+
}
66+
5167
confirm_primary_ready()
5268
{
5369
n=0
@@ -132,7 +148,7 @@ setup_manager()
132148
get_node_id
133149

134150
# update azure table with the tokens
135-
python azuretokens.py insert-tokens $PRIVATE_IP $MANAGER_TOKEN $WORKER_TOKEN
151+
python azuretokens.py insert-ip $PRIVATE_IP
136152

137153
echo " Primary Manager init complete"
138154
# send identify message
@@ -192,9 +208,11 @@ get_tokens_db
192208
# if it is a manager, setup as manager, if not, setup as worker node.
193209
if [ "$ROLE" == "MANAGER" ] ; then
194210
echo " It's a Manager, run setup"
211+
get_manager_token
195212
setup_manager
196213
else
197214
echo " It's a worker Node, run setup"
215+
get_worker_token
198216
setup_worker
199217
fi
200218

azure/release/files/custom-data_manager.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,13 @@ sleep 5
2222
# add logging container
2323
docker volume create --name container-logs
2424
docker run --log-driver=json-file --name=editions_logger --restart=always -d -e ROLE="$ROLE" -e REGION="$REGION" -e TENANT_ID="$TENANT_ID" -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e ACCOUNT_ID="$ACCOUNT_ID" -e GROUP_NAME="$GROUP_NAME" -e SWARM_LOGS_STORAGE_ACCOUNT="$SWARM_LOGS_STORAGE_ACCOUNT" -e SWARM_FILE_SHARE=`hostname` -p 514:514/udp -v container-logs:/log/ docker4x/logger-azure:"$DOCKER_FOR_IAAS_VERSION"
25-
25+
# token server
26+
docker run --log-driver=json-file --name=meta-azure --restart=always -d -p $MANAGER_IP:9024:8080 -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e SUBSCRIPTION_ID="$SUB_ID" -e TENANT_ID="$TENANT_ID" -e GROUP_NAME="$GROUP_NAME" -e VMSS_MGR="$VMSS_MGR" -e VMSS_WRK="$VMSS_WRK" -v /var/run/docker.sock:/var/run/docker.sock docker4x/meta-aws:$DOCKER_FOR_IAAS_VERSION metaserver -flavor=azure
27+
# init container
2628
docker run --log-driver=json-file --restart=no -d -e ROLE="$ROLE" -e REGION="$REGION" -e TENANT_ID="$TENANT_ID" -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e ACCOUNT_ID="$ACCOUNT_ID" -e GROUP_NAME="$GROUP_NAME" -e PRIVATE_IP="$MANAGER_IP" -e DOCKER_FOR_IAAS_VERSION="$DOCKER_FOR_IAAS_VERSION" -e SWARM_INFO_TABLE="$SWARM_INFO_TABLE" -e SWARM_INFO_STORAGE_ACCOUNT="$SWARM_INFO_STORAGE_ACCOUNT" -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /var/log:/var/log docker4x/init-azure:"$DOCKER_FOR_IAAS_VERSION"
29+
# guide container
2730
docker run --log-driver=json-file --restart=always -d -e ROLE="$ROLE" -e REGION="$REGION" -e TENANT_ID="$TENANT_ID" -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e ACCOUNT_ID="$ACCOUNT_ID" -e GROUP_NAME="$GROUP_NAME" -e PRIVATE_IP="$MANAGER_IP" -e DOCKER_FOR_IAAS_VERSION="$DOCKER_FOR_IAAS_VERSION" -e SWARM_INFO_TABLE="$SWARM_INFO_TABLE" -e SWARM_INFO_STORAGE_ACCOUNT="$SWARM_INFO_STORAGE_ACCOUNT" -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /var/log:/var/log docker4x/guide-azure:"$DOCKER_FOR_IAAS_VERSION"
2831
echo default: "$LB_NAME" >> /var/lib/docker/swarm/elb.config
2932
echo "$LB_NAME" > /var/lib/docker/swarm/lb_name
33+
# l4controller container
3034
docker run -d --log-driver=json-file -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/swarm:/var/lib/docker/swarm --name=editions_controller docker4x/l4controller-azure:"$DOCKER_FOR_IAAS_VERSION" run --ad_app_id="$APP_ID" --ad_app_secret="$APP_SECRET" --subscription_id="$SUB_ID" --resource_group="$GROUP_NAME" --log=4 --default_lb_name="$LB_NAME" --environment=AzurePublicCloud
31-
32-
docker run --log-driver=json-file --name=meta-azure --restart=always -d -p $MANAGER_IP:9024:8080 -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e SUBSCRIPTION_ID="$SUB_ID" -e TENANT_ID="$TENANT_ID" -e GROUP_NAME="$GROUP_NAME" -e VMSS_MGR="$VMSS_MGR" -e VMSS_WRK="$VMSS_WRK" -v /var/run/docker.sock:/var/run/docker.sock docker4x/meta-aws:$DOCKER_FOR_IAAS_VERSION metaserver -flavor=azure

azure/release/files/custom-data_manager_cloud.sh

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,38 @@ export LB_NAME="variables('lbName')"
88
export APP_ID="variables('adServicePrincipalAppID')"
99
export APP_SECRET="variables('adServicePrincipalAppSecret')"
1010
export TENANT_ID="variables('adServicePrincipalTenantID')"
11-
export CLOUD_USER="variables('dockerCloudUsername')"
12-
export CLOUD_KEY="variables('dockerCloudAPIKey')"
13-
export SWARM_NAME="variables('dockerCloudClusterName')"
1411
export SWARM_INFO_TABLE="variables('swarmInfoTable')"
1512
export SWARM_INFO_STORAGE_ACCOUNT="variables('swarmInfoStorageAccount')"
13+
export SWARM_LOGS_STORAGE_ACCOUNT="variables('swarmLogsStorageAccount')"
14+
export MANAGER_IP=$(ifconfig eth0 | grep "inet addr:" | cut -d: -f2 | cut -d" " -f1)
15+
export VMSS_MGR="dockerswarm-managervmss"
16+
export VMSS_WRK="dockerswarm-worker-vmss"
17+
# Cloud specific
18+
export SWARM_NAME="variables('dockerCloudClusterName')"
19+
export CLOUD_USER="variables('dockerCloudUsername')"
20+
export CLOUD_KEY="variables('dockerCloudAPIKey')"
1621

22+
# create daemon config with custom tag
23+
echo "{\"log-driver\": \"syslog\",\"log-opts\": {\"syslog-address\": \"udp://localhost:514\", \"tag\": \"{{.Name}}/{{.ID}}\" }}" > /etc/docker/daemon.json
24+
service docker restart
25+
sleep 5
26+
1727

28+
# add logging container
29+
docker volume create --name container-logs
30+
docker run --log-driver=json-file --name=editions_logger --restart=always -d -e ROLE="$ROLE" -e REGION="$REGION" -e TENANT_ID="$TENANT_ID" -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e ACCOUNT_ID="$ACCOUNT_ID" -e GROUP_NAME="$GROUP_NAME" -e SWARM_LOGS_STORAGE_ACCOUNT="$SWARM_LOGS_STORAGE_ACCOUNT" -e SWARM_FILE_SHARE=`hostname` -p 514:514/udp -v container-logs:/log/ docker4x/logger-azure:"$DOCKER_FOR_IAAS_VERSION"
31+
# token server
32+
docker run --log-driver=json-file --name=meta-azure --restart=always -d -p $MANAGER_IP:9024:8080 -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e SUBSCRIPTION_ID="$SUB_ID" -e TENANT_ID="$TENANT_ID" -e GROUP_NAME="$GROUP_NAME" -e VMSS_MGR="$VMSS_MGR" -e VMSS_WRK="$VMSS_WRK" -v /var/run/docker.sock:/var/run/docker.sock docker4x/meta-aws:$DOCKER_FOR_IAAS_VERSION metaserver -flavor=azure
33+
# init container
1834
docker run --restart=no -d -e ROLE="$ROLE" -e REGION="$REGION" -e TENANT_ID="$TENANT_ID" -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e ACCOUNT_ID="$ACCOUNT_ID" -e PRIVATE_IP="$MANAGER_IP" -e DOCKER_FOR_IAAS_VERSION="$DOCKER_FOR_IAAS_VERSION" -e SWARM_INFO_TABLE="$SWARM_INFO_TABLE" -e SWARM_INFO_STORAGE_ACCOUNT="$SWARM_INFO_STORAGE_ACCOUNT" -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /var/log:/var/log docker4x/init-azure:"$DOCKER_FOR_IAAS_VERSION"
35+
# guide container
1936
docker run --restart=always -d -e ROLE="$ROLE -e REGION="$REGION -e ACCOUNT_ID="$ACCOUNT_ID" -e PRIVATE_IP="$MANAGER_IP" -e DOCKER_FOR_IAAS_VERSION="$DOCKER_FOR_IAAS_VERSION" -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker docker4x/guide-azure:"$DOCKER_FOR_IAAS_VERSION"
2037
echo default: "$LB_NAME" >> /var/lib/docker/swarm/elb.config
2138
echo "$LB_NAME" > /var/lib/docker/swarm/lb_name
39+
# l4controller container
2240
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/swarm:/var/lib/docker/swarm --name=editions_controller docker4x/l4controller-azure:"$DOCKER_FOR_IAAS_VERSION" run --ad_app_id="$APP_ID" --ad_app_secret="$APP_SECRET" --subscription_id="$SUB_ID" --resource_group="$GROUP_NAME" --log=4 --default_lb_name="$LB_NAME" --environment=AzurePublicCloud
23-
24-
25-
41+
# cloud registration container
2642
export IS_LEADER=$(docker node inspect self -f "{{ .ManagerStatus.Leader }}")
2743
if [ "$IS_LEADER" == "true" ]; then
2844
docker run --rm --name=cloud_registration -v /var/run/docker.sock:/var/run/docker.sock -e DOCKER_USER="$CLOUD_USER" -e DOCKER_PASS="$CLOUD_KEY" -e SWARM_NAME="$SWARM_NAME" -e INTERNAL_ENDPOINT="$LB_SSH_IP:2376" docker4x/cloud-azure:$DOCKER_FOR_IAAS_VERSION
29-
fi
45+
fi

azure/release/files/custom-data_manager_ddc.sh

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@ export LB_NAME="variables('lbName')"
88
export APP_ID="variables('adServicePrincipalAppID')"
99
export APP_SECRET="variables('adServicePrincipalAppSecret')"
1010
export TENANT_ID="variables('adServicePrincipalTenantID')"
11-
export DDC_USER="variables('ddcUser')"
12-
export DDC_PASS="variables('ddcPass')"
13-
export RGROUP_NAME="variables('groupName')";
1411
export SWARM_INFO_TABLE="variables('swarmInfoTable')"
1512
export SWARM_INFO_STORAGE_ACCOUNT="variables('swarmInfoStorageAccount')"
1613
export SWARM_LOGS_STORAGE_ACCOUNT="variables('swarmLogsStorageAccount')"
1714
export MANAGER_IP=$(ifconfig eth0 | grep "inet addr:" | cut -d: -f2 | cut -d" " -f1)
15+
export VMSS_MGR="dockerswarm-managervmss"
16+
export VMSS_WRK="dockerswarm-worker-vmss"
17+
# DDC Specific
18+
export DDC_USER="variables('ddcUser')"
19+
export DDC_PASS="variables('ddcPass')"
20+
1821
# create daemon config with custom tag
1922
echo "{\"log-driver\": \"syslog\",\"log-opts\": {\"syslog-address\": \"udp://localhost:514\", \"tag\": \"{{.Name}}/{{.ID}}\" }}" > /etc/docker/daemon.json
2023
service docker restart
@@ -23,13 +26,16 @@ sleep 5
2326
# add logging container
2427
docker volume create --name container-logs
2528
docker run --log-driver=json-file --name=editions_logger --restart=always -d -e ROLE="$ROLE" -e REGION="$REGION" -e TENANT_ID="$TENANT_ID" -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e ACCOUNT_ID="$ACCOUNT_ID" -e GROUP_NAME="$GROUP_NAME" -e SWARM_LOGS_STORAGE_ACCOUNT="$SWARM_LOGS_STORAGE_ACCOUNT" -e SWARM_FILE_SHARE=`hostname` -p 514:514/udp -v container-logs:/log/ docker4x/logger-azure:"$DOCKER_FOR_IAAS_VERSION"
26-
29+
# token server
30+
docker run --log-driver=json-file --name=meta-azure --restart=always -d -p $MANAGER_IP:9024:8080 -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e SUBSCRIPTION_ID="$SUB_ID" -e TENANT_ID="$TENANT_ID" -e GROUP_NAME="$GROUP_NAME" -e VMSS_MGR="$VMSS_MGR" -e VMSS_WRK="$VMSS_WRK" -v /var/run/docker.sock:/var/run/docker.sock docker4x/meta-aws:$DOCKER_FOR_IAAS_VERSION metaserver -flavor=azure
31+
# init container
2732
docker run --log-driver=json-file --restart=no -d -e ROLE="$ROLE" -e REGION="$REGION" -e TENANT_ID="$TENANT_ID" -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e ACCOUNT_ID="$ACCOUNT_ID" -e GROUP_NAME="$GROUP_NAME" -e PRIVATE_IP="$MANAGER_IP" -e DOCKER_FOR_IAAS_VERSION="$DOCKER_FOR_IAAS_VERSION" -e SWARM_INFO_TABLE="$SWARM_INFO_TABLE" -e SWARM_INFO_STORAGE_ACCOUNT="$SWARM_INFO_STORAGE_ACCOUNT" -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /var/log:/var/log docker4x/init-azure:"$DOCKER_FOR_IAAS_VERSION"
33+
# guid container
2834
docker run --log-driver=json-file --restart=always -d -e ROLE="$ROLE" -e REGION="$REGION" -e TENANT_ID="$TENANT_ID" -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e ACCOUNT_ID="$ACCOUNT_ID" -e GROUP_NAME="$GROUP_NAME" -e PRIVATE_IP="$MANAGER_IP" -e DOCKER_FOR_IAAS_VERSION="$DOCKER_FOR_IAAS_VERSION" -e SWARM_INFO_TABLE="$SWARM_INFO_TABLE" -e SWARM_INFO_STORAGE_ACCOUNT="$SWARM_INFO_STORAGE_ACCOUNT" -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /var/log:/var/log docker4x/guide-azure:"$DOCKER_FOR_IAAS_VERSION"
2935
echo default: "$LB_NAME" >> /var/lib/docker/swarm/elb.config
3036
echo "$LB_NAME" > /var/lib/docker/swarm/lb_name
31-
37+
# ddc init container
3238
docker run --log-driver=json-file --restart=no --rm -e ROLE=$ROLE -e REGION=$REGION -e ACCOUNT_ID=$ACCOUNT_ID -e APP_ID=$APP_ID -e APP_SECRET=$APP_SECRET -e TENANT_ID=$TENANT_ID -e RGROUP_NAME=$RGROUP_NAME -e UCP_ADMIN_USER=$DDC_USER -e UCP_ADMIN_PASSWORD=$DDC_PASS -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker docker4x/ddc-init-azure:$DOCKER_FOR_IAAS_VERSION
33-
39+
# l4controller container
3440
docker run -d --log-driver=json-file -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/swarm:/var/lib/docker/swarm --name=editions_controller docker4x/l4controller-azure:"$DOCKER_FOR_IAAS_VERSION" run --ad_app_id="$APP_ID" --ad_app_secret="$APP_SECRET" --subscription_id="$SUB_ID" --resource_group="$GROUP_NAME" --log=4 --default_lb_name="$LB_NAME" --environment=AzurePublicCloud
3541

azure/release/files/custom-data_worker.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@ export ROLE="WORKER"
22
export REGION="variables('storageLocation')"
33
export ACCOUNT_ID="variables('accountID')"
44
export DOCKER_FOR_IAAS_VERSION="variables('dockerForIAASVersion')"
5+
export REGION="variables('storageLocation')"
6+
export SUB_ID="variables('accountID')"
57
export GROUP_NAME="variables('groupName')"
8+
export LB_NAME="variables('lbName')"
69
export APP_ID="variables('adServicePrincipalAppID')"
710
export APP_SECRET="variables('adServicePrincipalAppSecret')"
811
export TENANT_ID="variables('adServicePrincipalTenantID')"
912
export SWARM_INFO_TABLE="variables('swarmInfoTable')"
1013
export SWARM_INFO_STORAGE_ACCOUNT="variables('swarmInfoStorageAccount')"
1114
export SWARM_LOGS_STORAGE_ACCOUNT="variables('swarmLogsStorageAccount')"
15+
export MANAGER_IP=$(ifconfig eth0 | grep "inet addr:" | cut -d: -f2 | cut -d" " -f1)
1216

1317
# create daemon config with custom tag
1418
echo "{\"log-driver\": \"syslog\",\"log-opts\": {\"syslog-address\": \"udp://localhost:514\", \"tag\": \"{{.Name}}/{{.ID}}\" }}" > /etc/docker/daemon.json
@@ -18,6 +22,7 @@ sleep 5
1822
# add logging container
1923
docker volume create --name container-logs
2024
docker run --log-driver=json-file --name=editions_logger --restart=always -d -e ROLE="$ROLE" -e REGION="$REGION" -e TENANT_ID="$TENANT_ID" -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e ACCOUNT_ID="$ACCOUNT_ID" -e GROUP_NAME="$GROUP_NAME" -e SWARM_LOGS_STORAGE_ACCOUNT="$SWARM_LOGS_STORAGE_ACCOUNT" -e SWARM_FILE_SHARE=`hostname` -p 514:514/udp -v container-logs:/log/ docker4x/logger-azure:"$DOCKER_FOR_IAAS_VERSION"
21-
25+
# init container
2226
docker run --log-driver=json-file --restart=no -d -e ROLE=$ROLE -e REGION=$REGION -e TENANT_ID="$TENANT_ID" -e APP_ID="$APP_ID" -e APP_SECRET="$APP_SECRET" -e GROUP_NAME="$GROUP_NAME" -e SWARM_INFO_TABLE="$SWARM_INFO_TABLE" -e SWARM_INFO_STORAGE_ACCOUNT="$SWARM_INFO_STORAGE_ACCOUNT" -e ACCOUNT_ID=$ACCOUNT_ID -e MANAGER_IP=$MANAGER_IP -e DOCKER_FOR_IAAS_VERSION=$DOCKER_FOR_IAAS_VERSION -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /var/log:/var/log docker4x/init-azure:$DOCKER_FOR_IAAS_VERSION
27+
# guide container
2328
docker run --log-driver=json-file --restart=always -d -e ROLE=$ROLE -e REGION=$REGION -e ACCOUNT_ID=$ACCOUNT_ID -e MANAGER_IP=$MANAGER_IP -e DOCKER_FOR_IAAS_VERSION=$DOCKER_FOR_IAAS_VERSION -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker docker4x/guide-azure:$DOCKER_FOR_IAAS_VERSION

0 commit comments

Comments
 (0)