コード例 #1
0
ファイル: test_utils.py プロジェクト: nicolapaoli/nephos
 def test_credentials_secret_again(self, mock_rand_string,
                                   mock_secret_create, mock_secret_read):
     mock_secret_read.side_effect = [self.SECRET_DATA]
     credentials_secret("a-secret", "a-namespace", "a-user", "a-password")
     mock_secret_read.assert_called_once_with("a-secret", "a-namespace")
     mock_rand_string.assert_not_called()
     mock_secret_create.assert_not_called()
コード例 #2
0
ファイル: test_utils.py プロジェクト: nicolapaoli/nephos
 def test_credentials_secret_baduser(self, mock_rand_string,
                                     mock_secret_create, mock_secret_read):
     mock_secret_read.side_effect = [self.SECRET_DATA]
     with pytest.raises(AssertionError):
         credentials_secret("a-secret", "a-namespace", "another-user",
                            "a-password")
     mock_secret_read.assert_called_once_with("a-secret", "a-namespace")
     mock_rand_string.assert_not_called()
     mock_secret_create.assert_not_called()
コード例 #3
0
ファイル: test_utils.py プロジェクト: nicolapaoli/nephos
 def test_credentials_secret(self, mock_rand_string, mock_secret_create,
                             mock_secret_read):
     mock_secret_read.side_effect = [ApiException]
     mock_rand_string.side_effect = ["a-password"]
     credentials_secret("a-secret", "a-namespace", "a-user")
     mock_secret_read.assert_called_once_with("a-secret", "a-namespace")
     mock_rand_string.assert_called_once_with(24)
     mock_secret_create.assert_called_once_with(self.SECRET_DATA,
                                                "a-secret", "a-namespace")
コード例 #4
0
 def test_credentials_secret_again(self, mock_rand_string,
                                   mock_secret_create, mock_secret_read):
     mock_secret_read.side_effect = [self.SECRET_DATA]
     credentials_secret('a-secret', 'a-namespace', 'a-user', 'a-password')
     mock_secret_read.assert_called_once_with('a-secret',
                                              'a-namespace',
                                              verbose=False)
     mock_rand_string.assert_not_called()
     mock_secret_create.assert_not_called()
コード例 #5
0
 def test_credentials_secret_baduser(self, mock_rand_string,
                                     mock_secret_create, mock_secret_read):
     mock_secret_read.side_effect = [self.SECRET_DATA]
     with pytest.raises(AssertionError):
         credentials_secret('a-secret', 'a-namespace', 'another-user',
                            'a-password')
     mock_secret_read.assert_called_once_with('a-secret',
                                              'a-namespace',
                                              verbose=False)
     mock_rand_string.assert_not_called()
     mock_secret_create.assert_not_called()
コード例 #6
0
 def test_credentials_secret(self, mock_rand_string, mock_secret_create,
                             mock_secret_read):
     mock_secret_read.side_effect = [ApiException]
     mock_rand_string.side_effect = ['a-password']
     credentials_secret('a-secret', 'a-namespace', 'a-user')
     mock_secret_read.assert_called_once_with('a-secret',
                                              'a-namespace',
                                              verbose=False)
     mock_rand_string.assert_called_once_with(24)
     mock_secret_create.assert_called_once_with(self.SECRET_DATA,
                                                'a-secret', 'a-namespace')
コード例 #7
0
ファイル: crypto.py プロジェクト: praveendhac/nephos
def setup_nodes(opts, node_type, verbose=False):
    nodes = opts[node_type + 's']
    msp_values = opts['msps'][nodes['msp']]
    node_namespace = get_namespace(opts, nodes['msp'])
    ca_namespace = get_namespace(opts, ca=opts['msps'][nodes['msp']]['ca'])
    for release in nodes['names']:
        # Create secret with Orderer credentials
        secret_name = 'hlf--{}-cred'.format(release)
        secret_data = credentials_secret(secret_name,
                                         node_namespace,
                                         username=release,
                                         verbose=verbose)
        # Register node
        register_node(ca_namespace,
                      msp_values['ca'],
                      node_type,
                      secret_data['CA_USERNAME'],
                      secret_data['CA_PASSWORD'],
                      verbose=verbose)
        # Enroll node
        msp_path = enroll_node(opts,
                               msp_values['ca'],
                               secret_data['CA_USERNAME'],
                               secret_data['CA_PASSWORD'],
                               verbose=verbose)
        # Secrets
        id_to_secrets(namespace=node_namespace,
                      msp_path=msp_path,
                      user=release,
                      verbose=verbose)
コード例 #8
0
def setup_id(opts, msp_name, release, id_type, verbose=False):
    """Setup single ID by registering, enrolling, and saving ID to K8S secrets.

    Args:
        opts (dict): Nephos options dict.
        msp_name (str): Name of Membership Service Provider.
        release (str): Name of release/node.
        id_type (str): Type of ID we use.
        verbose (bool) Verbosity. False by default.
    """
    msp_values = opts["msps"][msp_name]
    node_namespace = get_namespace(opts, msp_name)
    if opts["cas"]:
        ca_namespace = get_namespace(opts, ca=opts["msps"][msp_name]["ca"])
        # Create secret with Orderer credentials
        secret_name = "hlf--{}-cred".format(release)
        secret_data = credentials_secret(
            secret_name, node_namespace, username=release, verbose=verbose
        )
        # Register node
        register_id(
            ca_namespace,
            msp_values["ca"],
            secret_data["CA_USERNAME"],
            secret_data["CA_PASSWORD"],
            id_type,
            verbose=verbose,
        )
        # Enroll node
        msp_path = enroll_id(
            opts,
            msp_values["ca"],
            secret_data["CA_USERNAME"],
            secret_data["CA_PASSWORD"],
            verbose=verbose,
        )
    else:
        # Otherwise we are using Cryptogen
        glob_target = "{dir_crypto}/crypto-config/{node_type}Organizations/{ns}*/{node_type}s/{node_name}*/msp".format(
            dir_crypto=opts["core"]["dir_crypto"],
            node_type=id_type,
            node_name=release,
            ns=node_namespace,
        )
        msp_path_list = glob(glob_target)
        if len(msp_path_list) == 1:
            msp_path = msp_path_list[0]
        else:
            raise ValueError(
                "MSP path list length is {} - {}".format(
                    len(msp_path_list), msp_path_list
                )
            )
    # Secrets
    id_to_secrets(
        namespace=node_namespace, msp_path=msp_path, username=release, verbose=verbose
    )
コード例 #9
0
ファイル: crypto.py プロジェクト: praveendhac/nephos
def admin_creds(opts, msp_name, verbose=False):
    msp_namespace = get_namespace(opts, msp=msp_name)
    msp_values = opts['msps'][msp_name]

    admin_cred_secret = 'hlf--{}-admincred'.format(msp_values['org_admin'])
    secret_data = credentials_secret(admin_cred_secret,
                                     msp_namespace,
                                     username=msp_values['org_admin'],
                                     password=msp_values.get('org_adminpw'),
                                     verbose=verbose)
    msp_values['org_adminpw'] = secret_data['CA_PASSWORD']
コード例 #10
0
ファイル: crypto.py プロジェクト: nicolapaoli/nephos
def setup_id(opts, msp_name, release, id_type):
    """Setup single ID by registering, enrolling, and saving ID to K8S secrets.

    Args:
        opts (dict): Nephos options dict.
        msp_name (str): Name of Membership Service Provider.
        release (str): Name of release/node.
        id_type (str): Type of ID we use.
    """
    msp_values = opts["msps"][msp_name]
    node_namespace = get_namespace(opts, msp_name)
    if opts["cas"]:
        ca_namespace = get_namespace(opts, ca=opts["msps"][msp_name]["ca"])
        # Create secret with Orderer credentials
        secret_name = f"hlf--{release}-cred"
        secret_data = credentials_secret(secret_name,
                                         node_namespace,
                                         username=release)
        # Register node
        register_id(
            ca_namespace,
            msp_values["ca"],
            secret_data["CA_USERNAME"],
            secret_data["CA_PASSWORD"],
            id_type,
        )
        # Enroll node
        msp_path = enroll_id(
            opts,
            msp_values["ca"],
            secret_data["CA_USERNAME"],
            secret_data["CA_PASSWORD"],
        )
    else:
        # Otherwise we are using Cryptogen
        glob_target = f"{opts['core']['dir_crypto']}/crypto-config/{id_type}Organizations/{node_namespace}*/{id_type}s/{release}*/msp"
        msp_path_list = glob(glob_target)
        if len(msp_path_list) == 1:
            msp_path = msp_path_list[0]
        else:
            raise ValueError(
                f"MSP path list length is {msp_path_list} - {msp_path_list}")
    # Secrets
    id_to_secrets(namespace=node_namespace,
                  msp_path=msp_path,
                  username=release)
コード例 #11
0
ファイル: crypto.py プロジェクト: nicolapaoli/nephos
def admin_creds(opts, msp_name):
    """Get admin credentials and save them to Nephos options dict.

    Args:
        opts (dict): Nephos options dict.
        msp_name (str): Name of Membership Service Provider.
    """
    msp_namespace = get_namespace(opts, msp=msp_name)
    msp_values = opts["msps"][msp_name]

    admin_cred_secret = f"hlf--{msp_values['org_admin']}-admincred"
    secret_data = credentials_secret(
        admin_cred_secret,
        msp_namespace,
        username=msp_values["org_admin"],
        password=msp_values.get("org_adminpw"),
    )
    msp_values["org_adminpw"] = secret_data["CA_PASSWORD"]
コード例 #12
0
ファイル: crypto.py プロジェクト: minhlh/nephos
def admin_creds(opts, msp_name, verbose=False):
    """Get admin credentials and save them to Nephos options dict.

    Args:
        opts (dict): Nephos options dict.
        msp_name (str): Name of Membership Service Provider.
        verbose (bool) Verbosity. False by default.
    """
    msp_namespace = get_namespace(opts, msp=msp_name)
    msp_values = opts["msps"][msp_name]

    admin_cred_secret = "hlf--{}-admincred".format(msp_values["org_admin"])
    secret_data = credentials_secret(
        admin_cred_secret,
        msp_namespace,
        username=msp_values["org_admin"],
        password=msp_values.get("org_adminpw"),
        verbose=verbose,
    )
    msp_values["org_adminpw"] = secret_data["CA_PASSWORD"]