Date   

Re: fabric-samples for 2.0

David Enyeart
 

Both configtx.yaml files should work:
https://github.com/hyperledger/fabric/blob/release-2.0/sampleconfig/configtx.yaml (Gets added to image)
https://github.com/hyperledger/fabric-samples/blob/master/first-network/configtx.yaml

It is not a one or the other thing, both appear valid. I would look at the file in fabric repo as the template, for example it has all the Application ACLs defined, whereas the fabric-samples doesn't spell them out (defaults would be used).

I did notice the fabric-samples file has not switched to the recommended OrdererEndpoints approach that was called out in the v2.0.0 release notes. I opened Jira FAB-17504 for this a few weeks ago, and it looks like somebody has picked it up and done a PR:
https://github.com/hyperledger/fabric-samples/pull/125

If you see other things that need to change or are questionable, please push a PR with recommended changes (or at least open a Jira with the specific observations).


Thanks,

Dave Enyeart

"Siddharth Jain" ---03/02/2020 03:55:51 PM---hello, is there any ETA on updated fabric-samples corresponding to the 2.0 release? we looked at the

From: "Siddharth Jain" <siddjain@...>
To: "fabric@..." <fabric@...>
Date: 03/02/2020 03:55 PM
Subject: [EXTERNAL] [Hyperledger Fabric] fabric-samples for 2.0
Sent by: fabric@...





hello, is there any ETA on updated fabric-samples corresponding to the 2.0 release?

we looked at the configtx.yaml here: https://github.com/hyperledger/fabric-samples/blob/v2.0.0-beta/first-network/configtx.yaml

it does not match at all with the configtx.yaml that comes with the docker image hyperledger/fabric-orderer:2.0.1. not sure which one to trust.




fabric-samples for 2.0

Siddharth Jain
 

hello, is there any ETA on updated fabric-samples corresponding to the 2.0 release? 


it does not match at all with the configtx.yaml that comes with the docker image hyperledger/fabric-orderer:2.0.1. not sure which one to trust.


Re: Errors with the Tutorial -- Commercial Paper -- Install and Approve the Smart Contract As...

Nikhil Gupta
 

Hi Paul,

This message states that you have already approved the chaincode definition as this org. The chaincode definition with sequence 1 has already been defined for that organization, and you cannot define the same sequence again. My guess from the tutorial is that you have either already approved the chaincode definition for Org1/digibank, or that you did not set the environment variables correctly and are targeting the command to magnetocorp.

Nik



-----fabric@... wrote: -----
To: fabric@...
From: "Paul Vincent Contreras"
Sent by: fabric@...
Date: 03/02/2020 04:10AM
Subject: [EXTERNAL] [Hyperledger Fabric] Errors with the Tutorial -- Commercial Paper -- Install and Approve the Smart Contract As...

Hello,

I am referring to this tutorial:

https://hyperledger-fabric.readthedocs.io/en/latest/tutorial/commercial_paper.html#install-and-approve-the-smart-contract-as-digibank

I was able to finish the steps and succesfully run the commands for MagnetoCorp but when I then switch to Digibank or in that link above and run the commands,

peer lifecycle chaincode approveformyorg --orderer localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name papercontract -v 0 --package-id $PACKAGE_ID --sequence 1 --tls --cafile $ORDERER_CA

I don’t understand why I get an error message in the terminal:

500 - failed to invoke backing implementation of 'ApproveChaincodeDefinitionForMyOrg': attempted to redefine uncommitted sequence (1) for namespace papercontract with unchanged content

On the DigiBank monitordocker.sh terminal, the messages are:

              couchdb1|[notice] 2020-03-02T09:04:38.218621Z nonode@nohost <0.1269.1> ad8044c538 couchdb1:5984 172.28.0.5 undefined GET /mychannel__lifecycle/namespaces%2Fmetadata%2Fpapercontract?attachments=true 404 ok 1
              couchdb1|[notice] 2020-03-02T09:04:38.220351Z nonode@nohost <0.1269.1> 31ca89d3f2 couchdb1:5984 172.28.0.5 undefined GET /mychannel_lscc/papercontract?attachments=true 404 ok 2
peer0.org2.example.com|2020-03-02 09:04:38.222 UTC [endorser] callChaincode -> INFO 076 finished chaincode: _lifecycle duration: 5ms channel=mychannel txID=ba89eec4
peer0.org2.example.com|2020-03-02 09:04:38.222 UTC [comm.grpc.server] 1 -> INFO 077 unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=172.28.0.1:46736 grpc.code=OK grpc.call_duration=6.002844ms
   orderer.example.com|2020-03-02 09:04:38.227 UTC [orderer.common.broadcast] Handle -> WARN 06c Error reading from 172.28.0.1:47102: rpc error: code = Canceled desc = context canceled
   orderer.example.com|2020-03-02 09:04:38.227 UTC [comm.grpc.server] 1 -> INFO 06d streaming call completed grpc.service=orderer.AtomicBroadcast grpc.method=Broadcast grpc.peer_address=172.28.0.1:47102 error="rpc error: code = Canceled desc = context canceled" grpc.code=Canceled grpc.call_duration=10.660494ms
              couchdb1|[notice] 2020-03-02T09:04:38.222898Z nonode@nohost <0.1269.1> 4a9385050b couchdb1:5984 172.28.0.5 undefined GET /mychannel__lifecycle/namespaces%2Ffields%2Fpapercontract%2FSequence?attachments=true 404 ok 2



I just followed the tutorial as is up until the peer lifecycle chaincode approveformy org for Digibank.


Please help.



Truly yours,


Paul Vincent C.


Re. FABC-900 - Hyperleder Fabric CA – Reference Architecture Topology – Recommended/Suggested Deployment Topolog

Bharg Pvr <pvrbharg@...>
 

Dear team,

Please review the above document and feature/enhancement suggestions and share your feedback and wisdom with me.

IBMers could reach me at bvperepa@... or using internal IBMer collaborative tools.

Any feedback would be gratefully received and appreciated.

Cheers!

--

Thanks.
~~~~~~
Bhargav 


Re: Application example for test network #hyperledger-fabric #fabric-sdk-node

Nikhil Gupta
 

There is a currently a PR open to have the fabcar sample use the test network instead: https://github.com/hyperledger/fabric-samples/pull/103

You can either checkout the PR, or use the changes to point an application to the sample network instead. You can find the connections profiles that you will use to connect to the network in the organizations folder, in the folder of each organization.




-----fabric@... wrote: -----
To: fabric@...
From: rakatti3@...
Sent by: fabric@...
Date: 02/29/2020 03:47AM
Subject: [EXTERNAL] [Hyperledger Fabric] Application example for test network #hyperledger-fabric #fabric-sdk-node

Hi 

I want to write node app for the test network. 
I see that the fabcar app is available for first-network. But the for test network there is no app example.
Can you guide me please. 

Thanks


Re: How to dynamically change block parameters after launching a network

Joe Alewine <joe.alewine@...>
 

It's not possible to do so "dynamically", per se. You will have to submit a channel configuration update transaction and fulfill the relevant policy (which likely will require the signature of ordering service admins).
 
Regards,
 
Joe Alewine
IBM Blockchain, Raleigh
 
rocket chat: joe-alewine
slack: joe.alewine
 
 
 

----- Original message -----
From: "Parthiban Selvaraj" <parthibanft@...>
Sent by: fabric@...
To: fabric@...
Cc:
Subject: [EXTERNAL] [Hyperledger Fabric] How to dynamically change block parameters after launching a network
Date: Mon, Mar 2, 2020 8:38 AM
 
Hi,
 
Is there way to dynamically change block parameters like Batch timeout, Max message count, etc after launching a network 
 
Thanks and Regards
 


How to dynamically change block parameters after launching a network

Parthiban Selvaraj
 

Hi,

Is there way to dynamically change block parameters like Batch timeout, Max message count, etc after launching a network 

Thanks and Regards


#fabric-ca #fabric-ca #fabric #fabric-ca-client #fabric-ca-client #fabric-ca #fabric

muthu.infoavc@...
 

I am facing following issue while executing the command in my local machine.

Error: Failed to read response of request: POST http://localhost:7054/enroll

2020/03/02 13:17:14 [INFO] generating key: &{A:ecdsa S:256}
2020/03/02 13:17:14 [INFO] encoded CSR
Error: Failed to read response of request: POST http://localhost:7054/enroll
{"hosts":["de42bba8f86e"],"certificate_request":"-----BEGIN CERTIFICATE REQUEST-----\nMIIBQjCB6QIBADBdMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xp\nbmExFDASBgNVBAoTC0h5cGVybGVkZ2VyMQ8wDQYDVQQLEwZGYWJyaWMxDjAMBgNV\nBAMTBWFkbWluMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESLuGAZQqo4Ok88ip\nJAMiF5hRh1b59InOiXwqTMFBel3fGPSIOP1f5MCy5F5I0foX4rehIEXYuVwRzbA4\nnf/tKKAqMCgGCSqGSIb3DQEJDjEbMBkwFwYDVR0RBBAwDoIMZGU0MmJiYThmODZl\nMAoGCCqGSM49BAMCA0gAMEUCIQDFZbFGTRXBXXz1aw4UuaPUX/te8t8CClmKqGyN\noFBuqwIgYfn6/+B+NeLerJK5bfILIBUyekleme/ptaa7PtO27VA=\n-----END CERTIFICATE REQUEST-----\n","profile":"","crl_override":"","label":"","NotBefore":"0001-01-01T00:00:00Z","NotAfter":"0001-01-01T00:00:00Z","CAName":""}: read tcp 127.0.0.1:56878->127.0.0.1:7054: read: connection reset by peer


Re: #fabric #tls TLS handshake error on "exotic" ports whereas network works perfectly fine #fabric #tls

Jean-Gaël Dominé <jgdomine@...>
 

Thank you Gari for your feedback.
I never heard of this notion of ephemeral ports before. So they are just ports used for the duration of a given grpc communication?

What I currently have is this:
1) System channel genesis block contains:
  • Orderer organizations MSP chain of trust (root CA and all the intermediates)
  • Orderers admin certificates
  • Orderer organizations TLS chain of trust (root CA and all the intermediates)
  • Orderers TLS certificates for Raft
2) "Application" channel genesis block contains the same information

Each peer mounts its own TLS certificate and key and I define these variables :

CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/crypto/peerOrganizations/org1-example-com/peers/peer0-org1-miles-com/tls/tlscacerts/cert.pem (root ca only, not the intermediates)
CORE_PEER_TLS_ENABLED=true
CORE_PEER_TLS_CLIENTAUTHREQUIRED=false
CORE_PEER_GOSSIP_SKIPHANDSHAKE=true

What am I missing?

Thank you


Re: #fabric #tls TLS handshake error on "exotic" ports whereas network works perfectly fine #fabric #tls

Gari Singh <garis@...>
 

The "exotic" ports are ephemeral ports used by a remote client.
Given the address is that of one of your other peers, my guess is that gossip is failing to connect which would indicate that you have not properly configured TLS in your org's MSP definition in the channel and/or have not properly set the tls.rootcert.file in your peer config.

-----------------------------------------
Gari Singh
Distinguished Engineer, CTO - IBM Blockchain
IBM Middleware
550 King St
Littleton, MA 01460
Cell: 978-846-7499
garis@...
-----------------------------------------

-----fabric@... wrote: -----
To: fabric@...
From: "Jean-Gaël Dominé"
Sent by: fabric@...
Date: 03/02/2020 03:58AM
Subject: [EXTERNAL] [Hyperledger Fabric] #fabric #tls TLS handshake error on "exotic" ports whereas network works perfectly fine

Hi all,

In the logs of my peers, I get a lot of TLS handshake errors similar to this one:

2020-02-27 08:27:53.296 UTC [core.comm] ServerHandshake -> ERRO 07e TLS handshake failed with error remote error: tls: bad certificate server=PeerServer remoteaddress=10.50.134.108:44634
2020-02-27 08:27:53.604 UTC [core.comm] ServerHandshake -> ERRO 07f TLS handshake failed with error remote error: tls: bad certificate server=PeerServer remoteaddress=10.50.134.108:44638
2020-02-27 08:27:54.036 UTC [core.comm] ServerHandshake -> ERRO 080 TLS handshake failed with error remote error: tls: bad certificate server=PeerServer remoteaddress=10.50.134.108:44648 This is an extract from my peer0 of org1. The IP 10.50.134.108 corresponds to my peer1 of org1. But I also get the same kind of errors on peer1-org1 with the IP of peer1-org2.
What I do not understand is:
- What are these ports (on other peers it's in the range of 56000-57000) and where are they defined?
- My network seems to perfectly work (I can query and invoke my chaincode)
Of course I get these errors only when TLS server is enabled in the network

Thanks for your help

JG


Fw: Next Hyperledger Fabric Application Developer Community call - this Thursday, Mar 5th @ 4pm UTC (4pm UK) - 11am ET, 8am PT

Paul O'Mahoney <mahoney@...>
 

dear Fabric Application Developer,


the next  Fabric Application Developer community call is scheduled for this  Thursday Mar 5th @ 4pm UTC (4pm UK) - 11am ET (-5 hrs), 8am PT(-8 hrs) - see time zones.   It lasts approx 30-60 mins FYI.

The agenda will be posted here -> https://wiki.hyperledger.org/display/fabric/Meeting+Agendas%3A+Fabric+Application+Developer+Community+Call

This community call is held bi-weekly via Zoom webconference and is aimed at :

- helping the worldwide Hyperledger Fabric Application Developer community grow (eg. developing applications, smart contracts,  developing application clients, using the SDKs, tutorials/demos etc -  NodeJS/TypeScript, Java, Go etc etc) 
- helping App developers understand / hear more about exciting new things in Fabric, eg. features upcoming or work in progress - ie things that appeal to the developer
- foster more interest, best practices etc in developing applications (eg developing solutions, use cases) with Hyperledger Fabric. 
- opportunity to ask questions of the Fabric team eg. you may have feedback/questions on your experiences developing solutions with Fabric
- to share stuff you've done with the community, eg sample code / sample use cases that others may be interested in

If you wish to share content on a call, just let me know via email direct or DM me on Rocketchat (ID: mahoney1) and I'll put an item on the agenda. Provide the following:
- the topic (state whether its presentation, or demo etc)
- the full name of the presenter, and 
- approx length of your pitch in minutes


The Zoom webconference ID is https://zoom.us/my/hyperledger.community   

More information can be found on the community page -> https://wiki.hyperledger.org/display/fabric/Fabric+Application+Developer+Community+Calls

You can get calendar invites (eg iCal) here

many thanks for your time - feel free to forward this email if you think it is of interest to a colleague.

Paul O'Mahony
Community Lead - Hyperledger Fabric Developer Community
RocketChat:  mahoney1

mahoney@...


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


#fabric #tls TLS handshake error on "exotic" ports whereas network works perfectly fine #fabric #tls

Jean-Gaël Dominé <jgdomine@...>
 

Hi all,

In the logs of my peers, I get a lot of TLS handshake errors similar to this one:
2020-02-27 08:27:53.296 UTC [core.comm] ServerHandshake -> ERRO 07e TLS handshake failed with error remote error: tls: bad certificate server=PeerServer remoteaddress=10.50.134.108:44634
2020-02-27 08:27:53.604 UTC [core.comm] ServerHandshake -> ERRO 07f TLS handshake failed with error remote error: tls: bad certificate server=PeerServer remoteaddress=10.50.134.108:44638
2020-02-27 08:27:54.036 UTC [core.comm] ServerHandshake -> ERRO 080 TLS handshake failed with error remote error: tls: bad certificate server=PeerServer remoteaddress=10.50.134.108:44648
This is an extract from my peer0 of org1. The IP 10.50.134.108 corresponds to my peer1 of org1. But I also get the same kind of errors on peer1-org1 with the IP of peer1-org2.
What I do not understand is:
- What are these ports (on other peers it's in the range of 56000-57000) and where are they defined?
- My network seems to perfectly work (I can query and invoke my chaincode)
Of course I get these errors only when TLS server is enabled in the network

Thanks for your help

JG


HSMs best practice

Trevor Lee Oakley <trevor@...>
 

I have been using softhsm2 and testing that. It has a lot of options. Given the basic problem of CAs being Org based, I was wondering if any guidelines exist for HSMs. I saw AWS have a service and I think Azure has one too.
 
I am wondering especially if there is any recommended way of storing keys on actual hardware versus a software based service.
 
 
Does anyone have any views?
 
Trevor


Re: HSMs and clients

Ashutosh Kumar
 

Node is and Java SDK client has HSM support. Fabric CA client also has HSM support


From: fabric@... <fabric@...> on behalf of Trevor Lee Oakley <trevor@...>
Sent: Saturday, February 29, 2020 3:24:23 AM
To: fabric@... <fabric@...>
Subject: [Hyperledger Fabric] HSMs and clients
 
I saw in the docs - 9.3 that HSMs may be used for peers and orderers for private keys, but what about clients? I heard a few people talk about using HSMs for clients. I did not see that so far in the docs.
 
If the client has a wallet then can HSMs be used to manage the private keys?
 
Trevor
 
 


Application example for test network #hyperledger-fabric #fabric-sdk-node

rakatti3@...
 

Hi 

I want to write node app for the test network. 
I see that the fabcar app is available for first-network. But the for test network there is no app example.
Can you guide me please. 

Thanks


HSMs and clients

Trevor Lee Oakley <trevor@...>
 

I saw in the docs - 9.3 that HSMs may be used for peers and orderers for private keys, but what about clients? I heard a few people talk about using HSMs for clients. I did not see that so far in the docs.
 
If the client has a wallet then can HSMs be used to manage the private keys?
 
Trevor
 
 


Hyperledger Fabric Documentation Workgroup call - Western hemisphere - Fri, 02/28/2020 #cal-notice

fabric@lists.hyperledger.org Calendar <noreply@...>
 

Hyperledger Fabric Documentation Workgroup call - Western hemisphere

When:
Friday, 28 February 2020
4:00pm to 5:00pm
(GMT+00:00) Europe/London

Where:
https://zoom.us/j/6223336701

Organizer:
a_o-dowd@... +441962816761

Description:
Documentation workgroup call.
Agenda, minutes and recordings :https://wiki.hyperledger.org/display/fabric/Documentation+Working+Group


Re: Hyperledger Fabric meets Kubernetes

Eryargi, Hakan
 

Dear All,

 

Below is a summary of recent updates to our Helm charts:

 

  • Support for hybrid networks. We also provided a sample of spreading the Fabric network over three Kubernetes clusters, covering all possible scenarios, with orderer, without orderer, etc.
    The same mechanism can be used for any combination of hybrid networks, some parts running on premises as plain Docker containers, or on bare metal or whatever.
    https://github.com/APGGroeiFabriek/PIVT/blob/master/README.md#cross-cluster-raft-network

  • Declaratively make almost arbitrary channel config updates. There is still room to improve here but it’s quite easy to extend and add more functionality
    https://github.com/APGGroeiFabriek/PIVT/blob/master/README.md#updating-channel-configuration

  • Support for Raft orderer without enabling TLS globally.  Thanks to Fabric 1.4.5 release, this is possible since FAB-15648 is backported to 1.4 branch.
    We were waiting for this feature since long time for transparent load balancing inside Kubernetes. Already applied to our environments and works great.
    But eventually we need to enable TLS and lose transparent load balancing again.
    I believe it will be really useful separating client and cluster facing ports on peers and orderers.  Please vote for FAB-17111 if you think similar.
    https://github.com/APGGroeiFabriek/PIVT/blob/master/README.md#scaled-up-raft-network-without-tls

  • Support and sample for Golang chaincode. Due to GOPATH variable they should be handled differently.
    Nobody reported any issue about Java chaincode, so possibly it just works out of the box.

So, cheers and happy Fabricing in Kubernetes as always!

Hakan



From: Eryargi, Hakan
Sent: Monday, 12 August 2019 15:13
To: 'fabric@...' <fabric@...>
Subject: RE: [Hyperledger Fabric] Hyperledger Fabric meets Kubernetes

 

Dear All,

 

We just recently published new functionality for our Helm charts. Managing peer organizations is now declarative.

 

To add new peer organizations:

  • Update configtx/crypto-config/network.yaml accordingly
  • Perform a cryptogen extend
  • Perform a helm upgrade
  • Run the new peer-org-flow

 

That’s it. This sequence launches everything, adds missing organizations to consortiums using the information in configtx.yaml and adds missing organizations to existing channels using the information in network.yaml.

 

Afterwards run the channel and chaincode flows to create new channels and populate existing channels and chaincodes regarding new organizations.

 

More details here:

https://github.com/APGGroeiFabriek/PIVT/blob/master/README.md#adding-new-peers-to-organizations

 

One of our initial promises was making it as easy as possible to add/remove organizations to an already running network and I guess we kept that promise :) Possibly this can’t get easier without a Fabric operator.

 

So, cheers and happy Fabricing in Kubernetes!

Hakan

 

 

From: Eryargi, Hakan
Sent: Wednesday, 31 July 2019 15:26
To: 'fabric@...' <fabric@...>
Subject: RE: [Hyperledger Fabric] Hyperledger Fabric meets Kubernetes

 

Dear HL Fabric Community,

 

We just recently published new functionality for our Helm charts:

https://github.com/APGGroeiFabriek/PIVT

 

  • Now the channel and chaincode flows are declarative and idempotent. They can be run several times. They query the network state and take action only required. They create channels only if not created, join peers to channels only not joined, install/instantiate/upgrade chaincodes only required, etc.
  • We have a new flow for adding new peer organization(s) to an already running network. It both adds new orgs to existing channels and also to consortiums.

 

Our next aim is making peer org flow declarative and idempotent.

 

I think, we are now so close to wrapping up everything in a Kubernetes operator, it will be even closer with a declarative peer org flow.

 

On the other hand, unfortunately we lack the Go language knowledge and experience. But still this looks so achievable by using CoreOS’s operator SDK. If there are experienced Go developers out there and willing to contribute such a project, please contact me.

https://github.com/operator-framework/operator-sdk

 

Remarks: As mentioned in our repo, declarative channel and chaincode flows use our home built CLI tools based on this patch. This patch didn’t go into Fabric codebase yet and needs some unit tests. If there are some volunteers for implementing unit tests, we will highly appreciate it! :)

 

Cheers and happy Fabricing in Kubernetes!

Hakan

 

From: Eryargi, Hakan
Sent: Thursday, 27 June 2019 12:59
To: fabric@...
Subject: Re: [Hyperledger Fabric] Hyperledger Fabric meets Kubernetes

 

Dear HL Fabric Community,

 

As promised, we had implemented support for Raft Orderer and also as a side effect for TLS and using actual domain names. This work is also published at our public GitHub repo.

 

Details can be found at relevant sections:

https://github.com/APGGroeiFabriek/PIVT#tls

https://github.com/APGGroeiFabriek/PIVT#scaled-up-raft-network

 

However, enabling TLS came with a huge cost, we lost transparent load balancing for peers and orderers.

 

As discussed in another email, we don’t need internal TLS since nothing is exposed to outer world. Even if we expose, since we have Ingress for TLS termination, internal TLS is still not required. As suggested by Yacov Manevich, I had created a Jira ticket that time, hopefully will be implemented soon.

https://jira.hyperledger.org/browse/FAB-15648

 

This is my post at Accenture’s public open source blog, contains some additional information which is not present in the GitHub repo (motivation, how it works, benefits regarding Accenture NFR's, etc.)

https://accenture.github.io/blog/2019/06/25/hl-fabric-meets-kubernetes.html

 

Last but not the least, please see the “Future (Dream) Work” section in the post.

https://accenture.github.io/blog/2019/06/25/hl-fabric-meets-kubernetes.html#future-dream-work

 

I’m not sure if we will have the resources to implement all of that, however there is one thing in particular I want to implement, which will be a major step towards that goal: making channel and chaincode flows declarative, i.e. given the desired state of network, flows will try to reach that state. Obviously one needs to query the current state of the network to achieve this. While it’s possible to implement this with current CLI tool, it’s not that easy and requires processing the output of CLI tool without additional fragile tools, like grep, awk, etc.

 

That’s why I also created a Jira ticket for making CLI scripting friendly:
https://jira.hyperledger.org/browse/FAB-15824

 

I’m guessing both Jira tickets are relatively easy to implement, so we will highly appreciate if these are implemented soon:)

 

Cheers and happy Fabricing in Kubernetes!

Hakan

 

 

From: Eryargi, Hakan
Sent: Tuesday, 4 June 2019 19:32
To: fabric@...
Subject: RE: [External] Re: [Hyperledger Fabric] Hyperledger Fabric meets Kubernetes

 

Hi,

 

We were aware of Cello, we didn’t try it but checked the docs. The tool we had implemented, call it fabric-kube and Cello are different. Maybe fabric-kube can be a complementary part of Cello but judging from the docs, it’s a bit hard to imagine that with current focus of Cello. But I guess better to discuss that with Cello maintainers :)

 

We also had investigated the existing work to run HL Fabric in Kubernetes before implementing fabric-kube. There are a few Helm charts out there and a few non-Helm based samples, and none of them is reducing complexity. Our main focus is reducing complexity and running Fabric in a managed environment -like Kubernetes-  instead of plain Docker containers in a DevOps (CI/CD) friendly way.

 

As mentioned we had developed fabric-kube for our own needs, we will continue to improve it again based on project’s needs, in particular will add support for Raft orderer and make it as easy as possible to add/remove organizations to an already running network. But for long term commitment, honestly I’m not sure if that is possible. That’s the reason we strongly encourage fabric community to take ownership of fabric-kube.

 

Best,

Hakan

 

From: fabric@... <fabric@...> On Behalf Of Brian Behlendorf
Sent: Tuesday, 4 June 2019 18:43
To: Brett T Logan <Brett.T.Logan@...>
Cc: fabric@...
Subject: [External] Re: [Hyperledger Fabric] Hyperledger Fabric meets Kubernetes

 

I got that.  I also realize Cello has a lot of this kind of work going on, but wasn't sure if it was right there.  This code or something like it should land somewhere, if not within a Fabric-related repo then documented clearly from the Fabric docs so someone else doesn't think it doesn't exist and re-builds it.  Or did the original author not realize Cello already has this?

 

Brian

 

On 6/4/19 9:12 AM, Brett T Logan wrote:

This isn't support within Fabric for Kubernetes, it is a set of tools (Helm Charts) for deploying the existing Fabric components

 

----- Original message -----
From: "Brian Behlendorf" <bbehlendorf@...>
Sent by: fabric@...
To: fabric@...
Cc:
Subject: [EXTERNAL] Re: [Hyperledger Fabric] Hyperledger Fabric meets Kubernetes
Date: Tue, Jun 4, 2019 11:59 AM
 

Thanks Hakan.  And thank you to APG and Accenture NL for agreeing to open up the code.  With major contributions like this it's always best to engage the community at the start of the work, so you can build upon what's been done already, or contribute to existing efforts.  Hopefully you didn't duplicate much ongoing work.  Presuming it didn't, the best course will be to submit it as a PR to Gerrit, rather than just posting a link to a Github repo.  And with all contributions of code, hopefully it comes with an implied commitment to help maintain it going forward, as presumably you'd be maintaining it for your own needs yourselves going forward anyways.

 

Can a Fabric maintainer comment on the current or anticipated state of Kube support in Fabric is?  Whether this code is helpful or a different approach is being taken?

 

Brian

 

On 6/4/19 4:59 AM, Hakan Eryargi wrote:

Dear HL Fabric Community,

 

We are so happy and excited to announce that we have just opened our source code for running HL Fabric in Kubernetes :)

https://github.com/APGGroeiFabriek/PIVT

 

This repository contains a couple of Helm charts to:

 

·         Configure and launch the whole HL Fabric network, either:

o    A simple one, one peer per organization and Solo orderer

o    Or scaled up one, multiple peers per organization and Kafka orderer

·         Populate the network:

o    Create the channels, join peers to channels, update channels for Anchor peers

o    Install/Instantiate all chaincodes, or some of them, or upgrade them to newer version

·         Backup and restore the state of whole network

 

This work is a result of collaborative effort between APG and Accenture NL.

 

We had implemented these Helm charts for our project's needs, and as the results looks very promising, decided to share the source code with HL Fabric community. Hopefully it will fill a large gap! Special thanks to APG for allowing opening the source code :)

 

We strongly encourage the HL Fabric community to take ownership of this repository, extend it for further use cases, use it as a test bed and adapt it to the Fabric provided samples to get rif of endless Docker Compose files and Bash scripts.

 

Cheers and happy BlockChaining in Kubernetes!

Hakan Eryargi (r a f t)

 

 

 

 

 

 

 



This message is for the designated recipient only and may contain privileged, proprietary, or otherwise confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security and assessment of internal compliance with Accenture policy. Your privacy is important to us. Accenture uses your personal data only in compliance with data protection laws. For further information on how Accenture processes your personal data, please see our privacy statement at https://www.accenture.com/us-en/privacy-policy.
______________________________________________________________________________________

www.accenture.com

 

--
Brian Behlendorf
Executive Director, Hyperledger
bbehlendorf@...
Twitter: @brianbehlendorf

 

 

 

-- 
 
Brian Behlendorf
 
Executive Director, Hyperledger
 
bbehlendorf@...
 
Twitter: @brianbehlendorf


Upcoming Event: Hyperledger Fabric Documentation Workgroup call - Western hemisphere - Fri, 02/28/2020 4:00pm-5:00pm #cal-reminder

fabric@lists.hyperledger.org Calendar <fabric@...>
 

Reminder: Hyperledger Fabric Documentation Workgroup call - Western hemisphere

When: Friday, 28 February 2020, 4:00pm to 5:00pm, (GMT+00:00) Europe/London

Where:https://zoom.us/j/6223336701

View Event

Organizer: Anthony O'Dowd a_o-dowd@... +441962816761

Description: Documentation workgroup call.
Agenda, minutes and recordings :https://wiki.hyperledger.org/display/fabric/Documentation+Working+Group


Hyperledger Fabric Documentation Workgroup call - Eastern hemisphere - Fri, 02/28/2020 #cal-notice

fabric@lists.hyperledger.org Calendar <noreply@...>
 

Hyperledger Fabric Documentation Workgroup call - Eastern hemisphere

When:
Friday, 28 February 2020
6:00am to 7:00am
(GMT+00:00) Europe/London

Where:
https://zoom.us/j/6223336701

Organizer:
a_o-dowd@... +441962816761

Description:
Documentation workgroup call.
Agenda, minutes and recordings: https://wiki.hyperledger.org/display/fabric/Documentation+Working+Group

3641 - 3660 of 11416