Skip to content

Commit 280f5be

Browse files
author
Keith Smith
committed
[FAB-3098] Add org name options to cryptogen
See [FAB-3098]. This adds the -peerOrgNames option to allow naming of the org names, and the -ordererOrgname option to allow naming of a single orderer org. For example: cryptogen -peerOrgNames A,B -ordererOrgName O Change-Id: I7207a37524bcda5f045a2aa08227e726615b051f Signed-off-by: Keith Smith <[email protected]>
1 parent e1dc407 commit 280f5be

File tree

1 file changed

+35
-22
lines changed

1 file changed

+35
-22
lines changed

common/tools/cryptogen/main.go

+35-22
Original file line numberDiff line numberDiff line change
@@ -21,37 +21,44 @@ import (
2121
"io"
2222
"os"
2323
"path/filepath"
24+
"strings"
2425

2526
"github.com/hyperledger/fabric/common/tools/cryptogen/ca"
2627
"github.com/hyperledger/fabric/common/tools/cryptogen/msp"
2728
)
2829

2930
const (
30-
peerOrgBaseName = "peerOrg"
31-
peerBaseName = "Peer"
32-
userBaseName = "User"
33-
adminBaseName = "Admin"
34-
orderOrgBaseName = "ordererOrg"
35-
ordererBaseName = "Orderer"
31+
peerOrgBaseName = "peerOrg"
32+
peerBaseName = "Peer"
33+
userBaseName = "User"
34+
adminBaseName = "Admin"
35+
ordererOrgBaseName = "ordererOrg"
36+
ordererBaseName = "Orderer"
37+
numOrdererOrgs = 1
3638
)
3739

3840
//command line flags
3941
var (
4042
numPeerOrgs = flag.Int("peerOrgs", 2,
41-
"number of unique organizations with peers")
43+
"number of unique organizations with peers, used if peerOrgNames is not specified")
44+
peerOrgNames = flag.String("peerOrgNames", "",
45+
"comma-separated list of peer organization names")
4246
numPeers = flag.Int("peersPerOrg", 1,
4347
"number of peers per organization")
4448
numPeerOrgUsers = flag.Int("peerOrgUsers", 1,
4549
"number of users per peer organization")
50+
4651
numOrderers = flag.Int("ordererNodes", 1,
47-
"number of ordering service nodes")
52+
"number of ordering service nodes per organization")
53+
ordererOrgName = flag.String("ordererOrgName", "",
54+
"orderer organization name")
55+
4856
baseDir = flag.String("baseDir", ".",
4957
"directory in which to place artifacts")
5058
)
5159

52-
var numOrdererOrgs = 1
53-
5460
func main() {
61+
5562
flag.Parse()
5663

5764
if flag.NFlag() == 0 {
@@ -61,24 +68,22 @@ func main() {
6168
}
6269

6370
genDir := filepath.Join(*baseDir, "crypto-config")
64-
if *numPeerOrgs > 0 {
71+
if *peerOrgNames != "" {
72+
generatePeerOrgs(genDir, strings.Split(*peerOrgNames, ","))
73+
} else if *numPeerOrgs > 0 {
6574
fmt.Printf("Generating %d peer organization(s) each with %d peer(s) ...\n",
6675
*numPeerOrgs, *numPeers)
67-
68-
// TODO: add ability to specify peer org names
69-
// for name just use default base name
70-
peerOrgNames := []string{}
71-
for i := 1; i <= *numPeerOrgs; i++ {
72-
peerOrgNames = append(peerOrgNames, fmt.Sprintf("%s%d", peerOrgBaseName, i))
73-
}
74-
generatePeerOrgs(genDir, peerOrgNames)
75-
76+
generatePeerOrgs(genDir, getOrgNames(peerOrgBaseName, *numPeerOrgs))
7677
}
7778

78-
if *numOrderers > 0 {
79+
if *ordererOrgName != "" {
80+
fmt.Printf("Generating orderer organization %s with %d ordering node(s) ...\n",
81+
*ordererOrgName, *numOrderers)
82+
generateOrdererOrg(genDir, *ordererOrgName)
83+
} else if numOrdererOrgs > 0 {
7984
fmt.Printf("Generating %d orderer organization(s) and %d ordering node(s) ...\n",
8085
numOrdererOrgs, *numOrderers)
81-
generateOrdererOrg(genDir, fmt.Sprintf("%s1", orderOrgBaseName))
86+
generateOrdererOrg(genDir, fmt.Sprintf("%s1", ordererOrgBaseName))
8287
}
8388

8489
}
@@ -138,6 +143,14 @@ func generatePeerOrgs(baseDir string, orgNames []string) {
138143
}
139144
}
140145

146+
func getOrgNames(baseName string, count int) []string {
147+
orgNames := []string{}
148+
for i := 1; i <= count; i++ {
149+
orgNames = append(orgNames, fmt.Sprintf("%s%d", baseName, i))
150+
}
151+
return orgNames
152+
}
153+
141154
func copyAdminCert(usersDir, adminCertsDir, adminUserName string) error {
142155
// delete the contents of admincerts
143156
err := os.RemoveAll(adminCertsDir)

0 commit comments

Comments
 (0)