Skip to content

Commit c349309

Browse files
committed
fix ccass start container
Signed-off-by: Osama Rabea <[email protected]>
1 parent 6e3dbb5 commit c349309

12 files changed

+2343
-935
lines changed

e2e/__snapshots__/extendConfig.test.ts.snap

Lines changed: 2042 additions & 928 deletions
Large diffs are not rendered by default.

e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-peer-dev-mode.json.test.ts.snap

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2525,6 +2525,8 @@ chaincodePackageCCaaS() {
25252525
inputLog "CHAINCODE_IMAGE: $CHAINCODE_IMAGE"
25262526
inputLog "CONTAINER_PORT: $CONTAINER_PORT"
25272527
inputLog "TLS_ENABLED: $TLS_ENABLED"
2528+
inputLog "CHANNEL_NAME: $CHANNEL_NAME"
2529+
inputLog "CONTAINER_NAME: $CONTAINER_NAME"
25282530
25292531
local ACTUAL_CONTAINER_NAME="$CONTAINER_NAME"
25302532
ACTUAL_CONTAINER_NAME=$(echo "$ACTUAL_CONTAINER_NAME" | tr '[:upper:]' '[:lower:]')
@@ -2652,6 +2654,21 @@ startCCaaSContainer() {
26522654
# Use generated CCAAS certificates
26532655
local CCAAS_TLS_PATH="$CONFIG_PATH/ccaas/$CONTAINER_NAME/tls"
26542656
2657+
if docker ps -a --format '{{.Names}}' | grep -q "^\${CONTAINER_NAME}$"; then
2658+
local STATE
2659+
STATE=$(docker inspect -f '{{.State.Status}}' "$CONTAINER_NAME" 2>/dev/null || echo "unknown")
2660+
local DESIRED_ID="\${CHAINCODE_LABEL}:\${PACKAGE_HASH}"
2661+
local CURRENT_ID
2662+
CURRENT_ID=$(docker inspect -f '{{range .Config.Env}}{{println .}}{{end}}' "$CONTAINER_NAME" 2>/dev/null | grep '^CORE_CHAINCODE_ID_NAME=' | sed 's/CORE_CHAINCODE_ID_NAME=//')
2663+
if [ "$STATE" = "running" ] && [ "$CURRENT_ID" = "$DESIRED_ID" ]; then
2664+
echo "CCaaS container '$CONTAINER_NAME' already running with desired ID '$DESIRED_ID'. Skipping start."
2665+
return 0
2666+
else
2667+
echo "CCaaS container '$CONTAINER_NAME' exists (state='$STATE', id='$CURRENT_ID'), expected '$DESIRED_ID'. Recreating..."
2668+
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
2669+
fi
2670+
fi
2671+
26552672
docker run -d \\
26562673
--name "$CONTAINER_NAME" \\
26572674
-e CORE_CHAINCODE_ADDRESS="0.0.0.0:7052" \\

e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-raft-ccaas.json.test.ts.snap

Lines changed: 144 additions & 6 deletions
Large diffs are not rendered by default.

e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode.json.test.ts.snap

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2594,6 +2594,8 @@ chaincodePackageCCaaS() {
25942594
inputLog "CHAINCODE_IMAGE: $CHAINCODE_IMAGE"
25952595
inputLog "CONTAINER_PORT: $CONTAINER_PORT"
25962596
inputLog "TLS_ENABLED: $TLS_ENABLED"
2597+
inputLog "CHANNEL_NAME: $CHANNEL_NAME"
2598+
inputLog "CONTAINER_NAME: $CONTAINER_NAME"
25972599
25982600
local ACTUAL_CONTAINER_NAME="$CONTAINER_NAME"
25992601
ACTUAL_CONTAINER_NAME=$(echo "$ACTUAL_CONTAINER_NAME" | tr '[:upper:]' '[:lower:]')
@@ -2721,6 +2723,21 @@ startCCaaSContainer() {
27212723
# Use generated CCAAS certificates
27222724
local CCAAS_TLS_PATH="$CONFIG_PATH/ccaas/$CONTAINER_NAME/tls"
27232725
2726+
if docker ps -a --format '{{.Names}}' | grep -q "^\${CONTAINER_NAME}$"; then
2727+
local STATE
2728+
STATE=$(docker inspect -f '{{.State.Status}}' "$CONTAINER_NAME" 2>/dev/null || echo "unknown")
2729+
local DESIRED_ID="\${CHAINCODE_LABEL}:\${PACKAGE_HASH}"
2730+
local CURRENT_ID
2731+
CURRENT_ID=$(docker inspect -f '{{range .Config.Env}}{{println .}}{{end}}' "$CONTAINER_NAME" 2>/dev/null | grep '^CORE_CHAINCODE_ID_NAME=' | sed 's/CORE_CHAINCODE_ID_NAME=//')
2732+
if [ "$STATE" = "running" ] && [ "$CURRENT_ID" = "$DESIRED_ID" ]; then
2733+
echo "CCaaS container '$CONTAINER_NAME' already running with desired ID '$DESIRED_ID'. Skipping start."
2734+
return 0
2735+
else
2736+
echo "CCaaS container '$CONTAINER_NAME' exists (state='$STATE', id='$CURRENT_ID'), expected '$DESIRED_ID'. Recreating..."
2737+
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
2738+
fi
2739+
fi
2740+
27242741
docker run -d \\
27252742
--name "$CONTAINER_NAME" \\
27262743
-e CORE_CHAINCODE_ADDRESS="0.0.0.0:7052" \\

e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-private-data.yaml.test.ts.snap

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3546,6 +3546,8 @@ chaincodePackageCCaaS() {
35463546
inputLog "CHAINCODE_IMAGE: $CHAINCODE_IMAGE"
35473547
inputLog "CONTAINER_PORT: $CONTAINER_PORT"
35483548
inputLog "TLS_ENABLED: $TLS_ENABLED"
3549+
inputLog "CHANNEL_NAME: $CHANNEL_NAME"
3550+
inputLog "CONTAINER_NAME: $CONTAINER_NAME"
35493551
35503552
local ACTUAL_CONTAINER_NAME="$CONTAINER_NAME"
35513553
ACTUAL_CONTAINER_NAME=$(echo "$ACTUAL_CONTAINER_NAME" | tr '[:upper:]' '[:lower:]')
@@ -3673,6 +3675,21 @@ startCCaaSContainer() {
36733675
# Use generated CCAAS certificates
36743676
local CCAAS_TLS_PATH="$CONFIG_PATH/ccaas/$CONTAINER_NAME/tls"
36753677
3678+
if docker ps -a --format '{{.Names}}' | grep -q "^\${CONTAINER_NAME}$"; then
3679+
local STATE
3680+
STATE=$(docker inspect -f '{{.State.Status}}' "$CONTAINER_NAME" 2>/dev/null || echo "unknown")
3681+
local DESIRED_ID="\${CHAINCODE_LABEL}:\${PACKAGE_HASH}"
3682+
local CURRENT_ID
3683+
CURRENT_ID=$(docker inspect -f '{{range .Config.Env}}{{println .}}{{end}}' "$CONTAINER_NAME" 2>/dev/null | grep '^CORE_CHAINCODE_ID_NAME=' | sed 's/CORE_CHAINCODE_ID_NAME=//')
3684+
if [ "$STATE" = "running" ] && [ "$CURRENT_ID" = "$DESIRED_ID" ]; then
3685+
echo "CCaaS container '$CONTAINER_NAME' already running with desired ID '$DESIRED_ID'. Skipping start."
3686+
return 0
3687+
else
3688+
echo "CCaaS container '$CONTAINER_NAME' exists (state='$STATE', id='$CURRENT_ID'), expected '$DESIRED_ID'. Recreating..."
3689+
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
3690+
fi
3691+
fi
3692+
36763693
docker run -d \\
36773694
--name "$CONTAINER_NAME" \\
36783695
-e CORE_CHAINCODE_ADDRESS="0.0.0.0:7052" \\

e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-raft.yaml.test.ts.snap

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5441,6 +5441,8 @@ chaincodePackageCCaaS() {
54415441
inputLog "CHAINCODE_IMAGE: $CHAINCODE_IMAGE"
54425442
inputLog "CONTAINER_PORT: $CONTAINER_PORT"
54435443
inputLog "TLS_ENABLED: $TLS_ENABLED"
5444+
inputLog "CHANNEL_NAME: $CHANNEL_NAME"
5445+
inputLog "CONTAINER_NAME: $CONTAINER_NAME"
54445446
54455447
local ACTUAL_CONTAINER_NAME="$CONTAINER_NAME"
54465448
ACTUAL_CONTAINER_NAME=$(echo "$ACTUAL_CONTAINER_NAME" | tr '[:upper:]' '[:lower:]')
@@ -5568,6 +5570,21 @@ startCCaaSContainer() {
55685570
# Use generated CCAAS certificates
55695571
local CCAAS_TLS_PATH="$CONFIG_PATH/ccaas/$CONTAINER_NAME/tls"
55705572
5573+
if docker ps -a --format '{{.Names}}' | grep -q "^\${CONTAINER_NAME}$"; then
5574+
local STATE
5575+
STATE=$(docker inspect -f '{{.State.Status}}' "$CONTAINER_NAME" 2>/dev/null || echo "unknown")
5576+
local DESIRED_ID="\${CHAINCODE_LABEL}:\${PACKAGE_HASH}"
5577+
local CURRENT_ID
5578+
CURRENT_ID=$(docker inspect -f '{{range .Config.Env}}{{println .}}{{end}}' "$CONTAINER_NAME" 2>/dev/null | grep '^CORE_CHAINCODE_ID_NAME=' | sed 's/CORE_CHAINCODE_ID_NAME=//')
5579+
if [ "$STATE" = "running" ] && [ "$CURRENT_ID" = "$DESIRED_ID" ]; then
5580+
echo "CCaaS container '$CONTAINER_NAME' already running with desired ID '$DESIRED_ID'. Skipping start."
5581+
return 0
5582+
else
5583+
echo "CCaaS container '$CONTAINER_NAME' exists (state='$STATE', id='$CURRENT_ID'), expected '$DESIRED_ID'. Recreating..."
5584+
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
5585+
fi
5586+
fi
5587+
55715588
docker run -d \\
55725589
--name "$CONTAINER_NAME" \\
55735590
-e CORE_CHAINCODE_ADDRESS="0.0.0.0:7052" \\

e2e/__snapshots__/fablo-config-hlf2-3orgs-1chaincode-raft-explorer.json.test.ts.snap

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6009,6 +6009,8 @@ chaincodePackageCCaaS() {
60096009
inputLog "CHAINCODE_IMAGE: $CHAINCODE_IMAGE"
60106010
inputLog "CONTAINER_PORT: $CONTAINER_PORT"
60116011
inputLog "TLS_ENABLED: $TLS_ENABLED"
6012+
inputLog "CHANNEL_NAME: $CHANNEL_NAME"
6013+
inputLog "CONTAINER_NAME: $CONTAINER_NAME"
60126014
60136015
local ACTUAL_CONTAINER_NAME="$CONTAINER_NAME"
60146016
ACTUAL_CONTAINER_NAME=$(echo "$ACTUAL_CONTAINER_NAME" | tr '[:upper:]' '[:lower:]')
@@ -6136,6 +6138,21 @@ startCCaaSContainer() {
61366138
# Use generated CCAAS certificates
61376139
local CCAAS_TLS_PATH="$CONFIG_PATH/ccaas/$CONTAINER_NAME/tls"
61386140
6141+
if docker ps -a --format '{{.Names}}' | grep -q "^\${CONTAINER_NAME}$"; then
6142+
local STATE
6143+
STATE=$(docker inspect -f '{{.State.Status}}' "$CONTAINER_NAME" 2>/dev/null || echo "unknown")
6144+
local DESIRED_ID="\${CHAINCODE_LABEL}:\${PACKAGE_HASH}"
6145+
local CURRENT_ID
6146+
CURRENT_ID=$(docker inspect -f '{{range .Config.Env}}{{println .}}{{end}}' "$CONTAINER_NAME" 2>/dev/null | grep '^CORE_CHAINCODE_ID_NAME=' | sed 's/CORE_CHAINCODE_ID_NAME=//')
6147+
if [ "$STATE" = "running" ] && [ "$CURRENT_ID" = "$DESIRED_ID" ]; then
6148+
echo "CCaaS container '$CONTAINER_NAME' already running with desired ID '$DESIRED_ID'. Skipping start."
6149+
return 0
6150+
else
6151+
echo "CCaaS container '$CONTAINER_NAME' exists (state='$STATE', id='$CURRENT_ID'), expected '$DESIRED_ID'. Recreating..."
6152+
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
6153+
fi
6154+
fi
6155+
61396156
docker run -d \\
61406157
--name "$CONTAINER_NAME" \\
61416158
-e CORE_CHAINCODE_ADDRESS="0.0.0.0:7052" \\

e2e/__snapshots__/fablo-config-hlf3-1orgs-1chaincode.json.test.ts.snap

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2969,6 +2969,8 @@ chaincodePackageCCaaS() {
29692969
inputLog "CHAINCODE_IMAGE: $CHAINCODE_IMAGE"
29702970
inputLog "CONTAINER_PORT: $CONTAINER_PORT"
29712971
inputLog "TLS_ENABLED: $TLS_ENABLED"
2972+
inputLog "CHANNEL_NAME: $CHANNEL_NAME"
2973+
inputLog "CONTAINER_NAME: $CONTAINER_NAME"
29722974
29732975
local ACTUAL_CONTAINER_NAME="$CONTAINER_NAME"
29742976
ACTUAL_CONTAINER_NAME=$(echo "$ACTUAL_CONTAINER_NAME" | tr '[:upper:]' '[:lower:]')
@@ -3096,6 +3098,21 @@ startCCaaSContainer() {
30963098
# Use generated CCAAS certificates
30973099
local CCAAS_TLS_PATH="$CONFIG_PATH/ccaas/$CONTAINER_NAME/tls"
30983100
3101+
if docker ps -a --format '{{.Names}}' | grep -q "^\${CONTAINER_NAME}$"; then
3102+
local STATE
3103+
STATE=$(docker inspect -f '{{.State.Status}}' "$CONTAINER_NAME" 2>/dev/null || echo "unknown")
3104+
local DESIRED_ID="\${CHAINCODE_LABEL}:\${PACKAGE_HASH}"
3105+
local CURRENT_ID
3106+
CURRENT_ID=$(docker inspect -f '{{range .Config.Env}}{{println .}}{{end}}' "$CONTAINER_NAME" 2>/dev/null | grep '^CORE_CHAINCODE_ID_NAME=' | sed 's/CORE_CHAINCODE_ID_NAME=//')
3107+
if [ "$STATE" = "running" ] && [ "$CURRENT_ID" = "$DESIRED_ID" ]; then
3108+
echo "CCaaS container '$CONTAINER_NAME' already running with desired ID '$DESIRED_ID'. Skipping start."
3109+
return 0
3110+
else
3111+
echo "CCaaS container '$CONTAINER_NAME' exists (state='$STATE', id='$CURRENT_ID'), expected '$DESIRED_ID'. Recreating..."
3112+
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
3113+
fi
3114+
fi
3115+
30993116
docker run -d \\
31003117
--name "$CONTAINER_NAME" \\
31013118
-e CORE_CHAINCODE_ADDRESS="0.0.0.0:7052" \\

e2e/__snapshots__/fablo-config-hlf3-bft-1orgs-1chaincode.json.test.ts.snap

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2993,6 +2993,8 @@ chaincodePackageCCaaS() {
29932993
inputLog "CHAINCODE_IMAGE: $CHAINCODE_IMAGE"
29942994
inputLog "CONTAINER_PORT: $CONTAINER_PORT"
29952995
inputLog "TLS_ENABLED: $TLS_ENABLED"
2996+
inputLog "CHANNEL_NAME: $CHANNEL_NAME"
2997+
inputLog "CONTAINER_NAME: $CONTAINER_NAME"
29962998
29972999
local ACTUAL_CONTAINER_NAME="$CONTAINER_NAME"
29983000
ACTUAL_CONTAINER_NAME=$(echo "$ACTUAL_CONTAINER_NAME" | tr '[:upper:]' '[:lower:]')
@@ -3120,6 +3122,21 @@ startCCaaSContainer() {
31203122
# Use generated CCAAS certificates
31213123
local CCAAS_TLS_PATH="$CONFIG_PATH/ccaas/$CONTAINER_NAME/tls"
31223124
3125+
if docker ps -a --format '{{.Names}}' | grep -q "^\${CONTAINER_NAME}$"; then
3126+
local STATE
3127+
STATE=$(docker inspect -f '{{.State.Status}}' "$CONTAINER_NAME" 2>/dev/null || echo "unknown")
3128+
local DESIRED_ID="\${CHAINCODE_LABEL}:\${PACKAGE_HASH}"
3129+
local CURRENT_ID
3130+
CURRENT_ID=$(docker inspect -f '{{range .Config.Env}}{{println .}}{{end}}' "$CONTAINER_NAME" 2>/dev/null | grep '^CORE_CHAINCODE_ID_NAME=' | sed 's/CORE_CHAINCODE_ID_NAME=//')
3131+
if [ "$STATE" = "running" ] && [ "$CURRENT_ID" = "$DESIRED_ID" ]; then
3132+
echo "CCaaS container '$CONTAINER_NAME' already running with desired ID '$DESIRED_ID'. Skipping start."
3133+
return 0
3134+
else
3135+
echo "CCaaS container '$CONTAINER_NAME' exists (state='$STATE', id='$CURRENT_ID'), expected '$DESIRED_ID'. Recreating..."
3136+
docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
3137+
fi
3138+
fi
3139+
31233140
docker run -d \\
31243141
--name "$CONTAINER_NAME" \\
31253142
-e CORE_CHAINCODE_ADDRESS="0.0.0.0:7052" \\

samples/fablo-config-hlf3-1org-1chaincode-raft-ccaas.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,17 @@
4646
]
4747
}
4848
]
49+
},
50+
{
51+
"name": "my-channel2",
52+
"orgs": [
53+
{
54+
"name": "Org1",
55+
"peers": [
56+
"peer0"
57+
]
58+
}
59+
]
4960
}
5061
],
5162
"chaincodes": [
@@ -55,6 +66,13 @@
5566
"lang": "ccaas",
5667
"channel": "my-channel1",
5768
"image": "ghcr.io/fablo-io/fablo-sample-kv-node-chaincode:2.2.0"
69+
},
70+
{
71+
"name": "chaincode1",
72+
"version": "0.0.1",
73+
"lang": "ccaas",
74+
"channel": "my-channel2",
75+
"image": "ghcr.io/fablo-io/fablo-sample-kv-node-chaincode:2.2.0"
5876
}
5977
],
6078
"hooks": {

0 commit comments

Comments
 (0)