onosproject / onos-config

Configuration subsystem for ONOS (µONOS Architecture)
45 stars 56 forks source link

SetRequest should allow a specific name for a commit #228

Closed SeanCondon closed 5 years ago

SeanCondon commented 5 years ago

Currently when Set is done through gNMI NB, a unique name is generated in our network store (by a hash) for the network change (e.g. Change-VgUAZI928B644v/2XQ0n24x0SjA=), as the SetRequest does not provide a field to specifically reference the change.

Since our idea of rollback is based around rolling back a change by name, it will be convenient for customers to give their commit a name of their choosing, and have that persisted in the store. I propose to use extension number 101 for this, and will update the documents and use cases. The name will have specific rules - no spaces, a-z A-Z 0-9, _, -, /, = (the last 2 to allow base64 from the client side)

Andrea-Campanella commented 5 years ago

I agree, although I think we shoudl support the case where the extension is not specified. an still generate a name, as convenient as possibile, that can be used for rollback. Thoughts ? We should document also our extensions.

SeanCondon commented 5 years ago

Of course on both points

tomikazi commented 5 years ago

Should we use something similar to the random combos of two-letter words, e.g. crazy-fox, silly-goose, etc. ;)

Thomas

On May 24, 2019, at 01:29, Sean Condon notifications@github.com wrote:

Of course on both points

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/onosproject/onos-config/issues/228?email_source=notifications&email_token=ACM2TNKVHSOFOOT4AHZBTXTPW6RNFA5CNFSM4HPNKA3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWEQ45I#issuecomment-495521397, or mute the thread https://github.com/notifications/unsubscribe-auth/ACM2TNJKBRKTR4PMBML6GPDPW6RNFANCNFSM4HPNKA3A.

SeanCondon commented 5 years ago

Didn't think of that - for the case where user doesn't supply a name i'll see if there's a go package that generates these - I'm reluctant to depend on an external API for it though - do not want to add external runtime dependencies

Andrea-Campanella commented 5 years ago

You might want to look into the docker generator function. Just for fun it has some interesting ban on things like "boring-wozinak" it fails the build with a message like "Wozinak is not boring"

tomikazi commented 5 years ago

I completely agree with not adding runtime dependencies. If there is no Go code for this, I know you can find the files/lists of names we can use to randomly permute. Brian did this a while back for some other project. Reading those files into memory and then combining them (uniquely) should not be much code or be too difficult.

Thomas

On May 24, 2019, at 08:52, Sean Condon notifications@github.com wrote:

Didn't think of that - for the case where user doesn't supply a name i'll see if there's a go package that generates these - I'm reluctant to depend on an external API for it though - do not want to add external runtime dependencies

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/onosproject/onos-config/issues/228?email_source=notifications&email_token=ACM2TNPE4BO4NL7VXVQIM5TPXAFNJA5CNFSM4HPNKA3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWFZF2A#issuecomment-495686376, or mute the thread https://github.com/notifications/unsubscribe-auth/ACM2TNJPWDEIW34EYHUTCT3PXAFNJANCNFSM4HPNKA3A.