2016-12-03 1 views
0

ПроблемуНе видя атрибутов сертификата, когда он не работает локально

Когда я разворачивать 4 равноправные узлы с PBFT или Без операционное в облаке, любые атрибуты сертификатов пользователя не видны. Значения пустые.

Наблюдения

  • Все работает локально. Это говорит о том, что я правильно нахожу API, а цепочный код правильно обращается к атрибутам.

  • Когда я прикрепляюсь к контейнеру членства, я вижу правильные членыrvc.yaml с aca.enabled, установленным в true. Это тот же самый ямл, который работает локально. Для хорошей меры я также передаю переменную ENV MEMBERSRVC_CA_ACA_ENABLED = true.

  • Я могу видеть атрибуты для пользователей в базе данных ACA службы членства. (предполагая, что пользователи были созданы с атрибутами)

  • Когда я смотрю на фактический сертификат из журнала (от Bytes до Hex, затем Base64 decode), я вижу атрибуты. (Добавить сертификат [30 82 02 dd 30 8 ....)

  • Все атрибуты пусты при развертывании. Нет ошибок.

Журналы Членство Сервис

Я активировал ведение журнала отладки, и увидеть, что членство услуг думает, что он включен ACA:

19:57:46.421 [server] main -> DEBU 049 ACA was enabled [aca.enabled == true] 
19:57:46.421 [aca] Start -> INFO 04a Staring ACA services... 
19:57:46.421 [aca] startACAP -> INFO 04b ACA PUBLIC gRPC API server started 
19:57:46.421 [aca] Start -> INFO 04c ACA services started 

Это выглядит хорошо. Что мне не хватает?

Guess

  • Может быть, что основной докер Контейнер chaincode развертывает в не включена защита? Использует ли он ENV для родительского партнера? Одно из отличий заключается в том, что локально я использую «режим dev» без шейных масок.

Membership Service

membersrvc: 
    container_name: membersrvc 
    image: hyperledger/fabric-membersrvc 
    volumes: 
    - /home/ec2-user/membership:/user/membership 
    - /var/hyperledger:/var/hyperledger 
    command: sh -c "cp /user/membership/membersrvc.yaml /opt/gopath/src/github.com/hyperledger/fabric/membersrvc && membersrvc" 
    restart: unless-stopped 
    environment: 
    - MEMBERSRVC_CA_ACA_ENABLED=true 
    ports: 
    - 7054:7054 

Root Peer Service

rootpeer: 
    container_name: root-peer 
    image: hyperledger/fabric-peer 
    restart: unless-stopped 
    environment: 
    - CORE_VM_ENDPOINT=unix:///var/run/docker.sock 
    - CORE_LOGGING_LEVEL=DEBUG 
    - CORE_PEER_ID=vp1 
    - CORE_SECURITY_ENROLLID=vp1 
    - CORE_SECURITY_ENROLLSECRET=xxxxxxxx 
    - CORE_SECURITY_ENABLED=true 
    - CORE_SECURITY_ATTRIBUTES_ENABLED=true 
    - CORE_PEER_PKI_ECA_PADDR=members.x.net:7054 
    - CORE_PEER_PKI_TCA_PADDR=members.x.net:7054 
    - CORE_PEER_PKI_TLSCA_PADDR=members.x.net:7054 
    - CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=NOOPS 
    volumes: 
    - /var/run/docker.sock:/var/run/docker.sock 
    - /var/hyperledger:/var/hyperledger 
    command: sh -c "peer node start" 
    ports: 
    - 7051:7051 
    - 7050:7050 

Вот запрос:

{ 
    "jsonrpc": "2.0", 
    "method":"query", 
    "params": { 
    "chaincodeID": { 
     "name" :"659cb5dcc3063054e4c90908050eebf68eb2bd193cc1520f1f2d198f0ff42268" 
     }, 
    "ctorMsg": { 
     "args":["get_results", "{\"Id\":\"abc123\"}"] 
     }, 
     "secureContext": "user123", 
     "attributes":["account_id","role"] 
    }, 
    "id": 2 
} 

E dited *: Я раньше думал, что это просто PBFT ... но это также происходит на NOOPS на облаке. Я привел пример к NOOPS.

ответ

0

Моя проблема заключается в том, что версия ткани внутри контейнера для док-контейнера для ткани является хорошим новее. Это моя ошибка - потому что я заполнил это изображение с помощью версии ткани вручную.

фон

Если один использует не-бродягу с 0,6, а не в режиме DEV, развертывание chaincode будет иметь «не может найти: последние тег» ошибка. Чтобы решить эту проблему, я вытащил версию с базой тканей и заполнил ее тем, что мне нужно, включая git-clone из ткани. Я должен был вытащить ветку 0,6, но вместо этого он потянул хозяина.

По сути, мой разборщик с использованием тэгов, узла-sdk и baseimage использовали несколько разные версии гиперссылок.

После примерно 48 часов конфигурирования ад, я думаю, что он исправлен, отправив все обратно на 0.6. Сейчас у меня есть терраформинг.

Я хочу, чтобы в документации было что-то о развертывании в многоузловой среде с не-dev.

Смежные вопросы