def install_network(opts, verbose=False): """Install Hyperledger Composer network. Args: opts (dict): Nephos options dict. verbose (bool): Verbosity. False by default. """ peer_namespace = get_namespace(opts, opts["peers"]["msp"]) hlc_cli_ex = get_pod( peer_namespace, opts["composer"]["name"], "hl-composer", verbose=verbose ) # Install network # TODO: Getting BNA could be a helper function bna, _ = hlc_cli_ex.execute("ls /hl_config/blockchain_network") bna_name, bna_rem = bna.split("_") bna_version, _ = bna_rem.split(".bna") # TODO: This could be a single function peer_msp = opts["peers"]["msp"] bna_admin = opts["msps"][peer_msp]["org_admin"] admin_creds(opts, peer_msp, verbose=verbose) bna_pw = opts["msps"][peer_msp]["org_adminpw"] ls_res, _ = hlc_cli_ex.execute( "composer card list --card {bna_admin}@{bna_name}".format( bna_admin=bna_admin, bna_name=bna_name ) ) if not ls_res: hlc_cli_ex.execute( ( "composer network install --card PeerAdmin@hlfv1 " + "--archiveFile /hl_config/blockchain_network/{bna}" ).format(bna=bna) ) hlc_cli_ex.execute( ( "composer network start " + "--card PeerAdmin@hlfv1 " + "--networkName {bna_name} --networkVersion {bna_version} " + "--networkAdmin {bna_admin} --networkAdminEnrollSecret {bna_pw}" ).format( bna_name=bna_name, bna_version=bna_version, bna_admin=bna_admin, bna_pw=bna_pw, ) ) hlc_cli_ex.execute( "composer card import --file {bna_admin}@{bna_name}.card".format( bna_admin=bna_admin, bna_name=bna_name ) ) hlc_cli_ex.execute( "composer network ping --card {bna_admin}@{bna_name}".format( bna_admin=bna_admin, bna_name=bna_name ) )
def test_admin_creds(self, mock_credentials_secret): mock_credentials_secret.side_effect = [{"CA_PASSWORD": "******"}] admin_creds(self.OPTS, "an-msp") mock_credentials_secret.assert_called_once_with( "hlf--an-admin-admincred", "msp-ns", username="******", password=None) assert self.OPTS["msps"]["an-msp"].get("org_adminpw") == "a_password"
def install_network(opts, verbose=False): peer_namespace = get_namespace(opts, opts['peers']['msp']) hlc_cli_ex = get_pod(peer_namespace, opts['composer']['name'], 'hl-composer', verbose=verbose) # Install network # TODO: Getting BNA could be a helper function bna = hlc_cli_ex.execute('ls /hl_config/blockchain_network') bna_name, bna_rem = bna.split('_') bna_version, _ = bna_rem.split('.bna') peer_ca = opts['peers']['ca'] bna_admin = opts['cas'][peer_ca]['org_admin'] admin_creds(opts['cas'][peer_ca], peer_namespace, verbose=verbose) bna_pw = opts['cas'][peer_ca]['org_adminpw'] ls_res = hlc_cli_ex.execute( 'composer card list --card {bna_admin}@{bna_name}'.format( bna_admin=bna_admin, bna_name=bna_name)) if not ls_res: hlc_cli_ex.execute( ('composer network install --card PeerAdmin@hlfv1 ' + '--archiveFile /hl_config/blockchain_network/{bna}').format( bna=bna)) hlc_cli_ex.execute( ('composer network start ' + '--card PeerAdmin@hlfv1 ' + '--networkName {bna_name} --networkVersion {bna_version} ' + '--networkAdmin {bna_admin} --networkAdminEnrollSecret {bna_pw}' ).format(bna_name=bna_name, bna_version=bna_version, bna_admin=bna_admin, bna_pw=bna_pw)) hlc_cli_ex.execute( 'composer card import --file {bna_admin}@{bna_name}.card'.format( bna_admin=bna_admin, bna_name=bna_name)) hlc_cli_ex.execute( 'composer network ping --card {bna_admin}@{bna_name}'.format( bna_admin=bna_admin, bna_name=bna_name))
def test_admin_creds_again(self, mock_credentials_secret): mock_credentials_secret.side_effect = [{'CA_PASSWORD': '******'}] admin_creds(self.OPTS, 'an-msp', verbose=True) mock_credentials_secret.assert_called_once_with( 'hlf--an-admin-admincred', 'msp-namespace', username='******', password='******', verbose=True) assert self.OPTS['msps']['an-msp'].get('org_adminpw') == 'a_password'