5959)
6060from api .utils .node_config import NodeConfig
6161from api .lib .agent import AgentHandler
62+ from api .lib .peer .channel import Channel as PeerChannel
6263from api .utils .port_picker import set_ports_mapping , find_available_ports
6364from api .common import ok , err
64- from api .routes .channel .views import init_env_vars , join_peers
65+ from api .routes .channel .views import init_env_vars
6566
6667LOG = logging .getLogger (__name__ )
6768
@@ -346,12 +347,17 @@ def _set_port(self, type, node, agent):
346347 set_ports_mapping (
347348 node .id ,
348349 [{"internal" : 7051 , "external" : ports [0 ]}, {
349- "internal" : 7053 , "external" : ports [1 ]}],
350+ "internal" : 9444 , "external" : ports [1 ]}],
350351 True )
351352 else :
352- ports = find_available_ports (ip , node .id , agent .id , 1 )
353+ # unify the port mapping for orderer
354+ ports = find_available_ports (ip , node .id , agent .id , 3 )
353355 set_ports_mapping (
354- node .id , [{"internal" : 7050 , "external" : ports [0 ]}], True )
356+ node .id ,
357+ [{"internal" : 7050 , "external" : ports [0 ]}, {
358+ "internal" : 7053 , "external" : ports [1 ]}, {
359+ "internal" : 9443 , "external" : ports [2 ]}],
360+ True )
355361
356362 def _conversion_msp_tls_cfg (self , type , org , node ):
357363 """
@@ -394,7 +400,7 @@ def _conversion_msp_tls_cfg(self, type, org, node):
394400
395401 def _generate_config (self , type , org , node ):
396402 """
397- generate config for node
403+ generate config for node (core.yaml, orderer.yaml)
398404
399405 :param org: organization name
400406 :param type: node type
@@ -405,20 +411,41 @@ def _generate_config(self, type, org, node):
405411 """
406412 args = {}
407413 if type == "peer" :
408- args .update ({"peer_id" : "{}.{}" .format (node , org )})
409- args .update ({"peer_address" : "{}.{}:{}" .format (node , org , 7051 )})
410- args .update (
411- {"peer_gossip_externalEndpoint" : "{}.{}:{}" .format (node , org , 7051 )})
412- args .update (
413- {"peer_chaincodeAddress" : "{}.{}:{}" .format (node , org , 7052 )})
414414 args .update ({"peer_tls_enabled" : True })
415- args .update ({"peer_localMspId" : "{}MSP" .format (org .capitalize ())})
415+ args .update ({"operations_listenAddress" : node + "." + org + ":9444" })
416+ args .update ({"peer_address" : node + "." + org + ":7051" })
417+ args .update ({"peer_gossip_bootstrap" : node + "." + org + ":7051" })
418+ args .update ({"peer_gossip_externalEndpoint" : node + "." + org + ":7051" })
419+ args .update ({"peer_id" : node + "." + org })
420+ args .update ({"peer_localMspId" : org .capitalize () + "MSP" })
421+ args .update ({"peer_mspConfigPath" : "/etc/hyperledger/fabric/msp" })
422+ args .update ({"peer_tls_cert_file" : "/etc/hyperledger/fabric/tls/server.crt" })
423+ args .update ({"peer_tls_key_file" : "/etc/hyperledger/fabric/tls/server.key" })
424+ args .update ({"peer_tls_rootcert_file" : "/etc/hyperledger/fabric/tls/ca.crt" })
425+ args .update ({"vm_docker_hostConfig_NetworkMode" : "cello_net" })
426+ args .update ({"vm_endpoint" : 'unix:///host/var/run/docker.sock' })
416427
417428 a = NodeConfig (org )
418429 a .peer (node , ** args )
419430 else :
420- args .update ({"General_BootstrapMethod" : "none" })
431+ args .update ({"Admin_TLS_Enabled" : True })
432+ args .update ({"Admin_ListenAddress" : "0.0.0.0:7053" })
433+ args .update ({"Admin_TLS_Certificate" : "/etc/hyperledger/fabric/tls/server.crt" })
434+ args .update ({"Admin_TLS_PrivateKey" : "/etc/hyperledger/fabric/tls/server.key" })
421435 args .update ({"ChannelParticipation_Enabled" : True })
436+ args .update ({"General_Cluster_ClientCertificate" : "/etc/hyperledger/fabric/tls/server.crt" })
437+ args .update ({"General_Cluster_ClientPrivateKey" : "/etc/hyperledger/fabric/tls/server.key" })
438+ args .update ({"General_ListenAddress" : "0.0.0.0" })
439+ args .update ({"General_ListenPort" : 7050 })
440+ args .update ({"General_LocalMSPID" : "OrdererMSP" })
441+ args .update ({"General_LocalMSPDir" : "/etc/hyperledger/fabric/msp" })
442+ args .update ({"General_TLS_Enabled" : True })
443+ args .update ({"General_TLS_Certificate" : "/etc/hyperledger/fabric/tls/server.crt" })
444+ args .update ({"General_TLS_PrivateKey" : "/etc/hyperledger/fabric/tls/server.key" })
445+ args .update ({"General_TLS_RootCAs" : "[/etc/hyperledger/fabric/tls/ca.crt]" })
446+ args .update ({"General_BootstrapMethod" : "none" })
447+ args .update ({"Metrics_Provider" : "prometheus" })
448+ args .update ({"Operations_ListenAddress" : node + "." + org .split ("." , 1 )[1 ] + ":9443" })
422449
423450 a = NodeConfig (org )
424451 a .orderer (node , ** args )
@@ -809,7 +836,9 @@ def block_file(self, request, pk=None):
809836 with open (block_path , 'wb+' ) as f :
810837 for chunk in uploaded_block_file .chunks ():
811838 f .write (chunk )
812- join_peers (envs , block_path )
839+ peer_channel_cli = PeerChannel (** envs )
840+ peer_channel_cli .join (
841+ block_path )
813842 os .remove (block_path )
814843 return Response (status = status .HTTP_202_ACCEPTED )
815844 except Exception as e :
0 commit comments