Repository navigation
Conversation
… ComputeCreateDSHash Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
…ash presence checks Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Remove Sync.Validate, Buffer and WriteWorkers: nothing read them, and validation runs per transaction on the tree. Drop the unused ComputeCreateDSHash. Add api.GNMIEncoding; unknown or numeric encodings are rejected and a gNMI sync without an encoding inherits the target's. go.mod temporarily replaces sdc-protos with the commit that reserves the removed Sync fields. Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
steiler
force-pushed
the
feat/deviation-value-text
branch
from
November 9, 2026 15:43
5e9c48e to
ab26057
Compare
steiler
force-pushed
the
feat/grpcserver-adapter
branch
from
November 9, 2026 15:43
606993a to
2aa2eee
Compare
config-server hashes the resolved DatastoreSpec plus referenced object versions to decide when to recreate a datastore. Restore it without the removed Sync fields and with the typed gNMI encoding, and document why the hash is defined over DatastoreSpec. Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
…DataStore Adds pkg/core, which builds the schema store, cache and datastores from a *config.Config without a gRPC listener or peer. GetDataStore returns api.DatastoreInfo and maps unknown/empty names to api sentinels. WatchDeviations fixes the channel API shape. Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
…and errors Names the core logger data-server, validates the datastore name in one place, drops the error alias and documents swallowed errors. Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Add CreateDataStore, DeleteDataStore, TransactionSet/Confirm/Cancel, GetIntent, BlameConfig, WatchDeviations and schema details/create/delete to Core without any peer or gRPC dependency; Origin replaces the peer. Share the datastore-locked and not-connected sentinels with pkg/api so errors.Is and api.IsRetryable match them. Deviation watchers get a bounded channel: a full channel blocks the producer, a send blocked for 30s logs a warning, and a duplicate START is ignored. The datastore takes a DeviationSink instead of a gRPC stream. Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
steiler
force-pushed
the
feat/grpcserver-adapter
branch
from
November 9, 2026 15:56
2aa2eee to
9761a80
Compare
steiler
force-pushed
the
feat/deviation-value-text
branch
from
November 9, 2026 15:56
ab26057 to
072b9ac
Compare
steiler
added a commit
to sdcio/config-server
that referenced
this pull request
Nov 10, 2026
TargetManager, TargetRuntime, the transactor, the deviation watcher and the rollout transaction manager now call the embedded core through narrow interfaces over pkg/api instead of a gRPC client. The target datastore reconciler builds api.DatastoreSpec directly; the datastore hash and the retry classification use api.ComputeCreateDSHash and api.IsRetryable, and unknown datastores are matched with api.ErrUnknownDatastore. Removed: DSConnManager, PhaseWaitingForDS, DSReady, the fake gRPC client, the unused sdcctx package, GetLocalDataServerAddress and the dataserverpin placeholder. The merged binary no longer opens the data-server metrics listener on prometheus.address. The api-server is a separate deployment without a core, so its target helpers and dry-run keep the :56000 client. Pairs with: sdcio/data-server#538, sdcio/data-server#539 Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
steiler
added a commit
to sdcio/config-server
that referenced
this pull request
Nov 10, 2026
TargetManager, TargetRuntime, the transactor, the deviation watcher and the rollout transaction manager now call the embedded core through narrow interfaces over pkg/api instead of a gRPC client. The target datastore reconciler builds api.DatastoreSpec directly; the datastore hash and the retry classification use api.ComputeCreateDSHash and api.IsRetryable, and unknown datastores are matched with api.ErrUnknownDatastore. Removed: DSConnManager, PhaseWaitingForDS, DSReady, the fake gRPC client, the unused sdcctx package, GetLocalDataServerAddress and the dataserverpin placeholder. The merged binary no longer opens the data-server metrics listener on prometheus.address. The api-server is a separate deployment without a core, so its target helpers and dry-run keep the :56000 client. Pairs with: sdcio/data-server#538, sdcio/data-server#539 Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Add Datastore.IntentToInternalTI and share the flag and expansion logic with the gRPC path through buildTransactionIntent. Explicit delete paths that do not parse now fail with ErrInvalidArgument instead of being skipped. Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Blame and deviation trees may omit values on container nodes; ToString on nil panicked in TestTransactionLifecycleWithoutPeer. Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Wire DataServer and SchemaServer through pkg/core with interceptors, ready gate, metrics, and handler-level error parity. Standalone main only retries listen failures and shuts down core on signal. Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Keep schema names through api.SchemaRef, echo the configured target type and drop the target port in GetDataStore, and validate CreateDataStore in the original order with the original messages. Map resource exhaustion and deadline errors, keep untyped invalid-argument errors on the transaction path and reject non-JSON update values instead of dropping them. Run retries listen and serve errors with a growing delay and returns the core start failure; main exits non-zero on it and stops the core on a fresh context. Dedupe handler logging and error mapping, document the caller contracts and add wire, error-table and lifecycle tests. Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
SchemaRef gained an optional Name; a change to it must recreate the datastore. Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
steiler
force-pushed
the
feat/deviation-value-text
branch
from
November 11, 2026 08:38
072b9ac to
9d5f594
Compare
steiler
force-pushed
the
feat/grpcserver-adapter
branch
from
November 11, 2026 08:38
9761a80 to
a3da59d
Compare
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! 🚀 New features to boost your workflow:
|
steiler
force-pushed
the
feat/grpcserver-adapter
branch
from
November 11, 2026 10:41
a3da59d to
5bb99e9
Compare
steiler
force-pushed
the
feat/grpcserver-adapter
branch
7 times, most recently
from
November 12, 2026 10:27
bffc31e to
16fbe76
Compare
steiler
added a commit
to sdcio/config-server
that referenced
this pull request
Nov 12, 2026
TargetManager, TargetRuntime, the transactor, the deviation watcher and the rollout transaction manager now call the embedded core through narrow interfaces over pkg/api instead of a gRPC client. The target datastore reconciler builds api.DatastoreSpec directly; the datastore hash and the retry classification use api.ComputeCreateDSHash and api.IsRetryable, and unknown datastores are matched with api.ErrUnknownDatastore. Removed: DSConnManager, PhaseWaitingForDS, DSReady, the fake gRPC client, the unused sdcctx package, GetLocalDataServerAddress and the dataserverpin placeholder. The merged binary no longer opens the data-server metrics listener on prometheus.address. The api-server is a separate deployment without a core, so its target helpers and dry-run keep the :56000 client. Pairs with: sdcio/data-server#538, sdcio/data-server#539 Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
steiler
added a commit
to sdcio/config-server
that referenced
this pull request
Nov 12, 2026
TargetManager, TargetRuntime, the transactor, the deviation watcher and the rollout transaction manager now call the embedded core through narrow interfaces over pkg/api instead of a gRPC client. The target datastore reconciler builds api.DatastoreSpec directly; the datastore hash and the retry classification use api.ComputeCreateDSHash and api.IsRetryable, and unknown datastores are matched with api.ErrUnknownDatastore. Removed: DSConnManager, PhaseWaitingForDS, DSReady, the fake gRPC client, the unused sdcctx package, GetLocalDataServerAddress and the dataserverpin placeholder. The merged binary no longer opens the data-server metrics listener on prometheus.address. The api-server is a separate deployment without a core, so its target helpers and dry-run keep the :56000 client. Pairs with: sdcio/data-server#538, sdcio/data-server#539 Signed-off-by: Markus Vahlenkamp <markus.vahlenkamp@nokia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds ExpectedText and CurrentText to api.DeviationEntry, holding prototext of the typed value (empty when absent). Lets config-server keep writing the stored Deviation values in the format kubectl-sdcio parses. Expected and Current are unchanged.
Stacked on #538.