Skip to content

Commit

Permalink
Merge branch 'main' into 3764-consistent-cobra-commands
Browse files Browse the repository at this point in the history
  • Loading branch information
rossjones committed Apr 9, 2024
2 parents 4b5bd95 + c48db71 commit 7f489fb
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 6 deletions.
4 changes: 2 additions & 2 deletions pkg/node/compute.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ type Compute struct {
ManagementClient *compute.ManagementClient
cleanupFunc func(ctx context.Context)
nodeInfoDecorator models.NodeInfoDecorator
autoLabelsProvider models.LabelsProvider
labelsProvider models.LabelsProvider
debugInfoProviders []model.DebugInfoProvider
}

Expand Down Expand Up @@ -240,7 +240,7 @@ func NewComputeNode(
Bidder: bidder,
cleanupFunc: cleanupFunc,
nodeInfoDecorator: nodeInfoDecorator,
autoLabelsProvider: labelsProvider,
labelsProvider: labelsProvider,
debugInfoProviders: debugInfoProviders,
ManagementClient: managementClient,
}, nil
Expand Down
10 changes: 6 additions & 4 deletions pkg/node/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -281,10 +281,7 @@ func NewNode(

var requesterNode *Requester
var computeNode *Compute
labelsProvider := models.MergeLabelsInOrder(
&ConfigLabelsProvider{staticLabels: config.Labels},
&RuntimeLabelsProvider{},
)
var labelsProvider models.LabelsProvider

// setup requester node
if config.IsRequesterNode {
Expand Down Expand Up @@ -351,6 +348,10 @@ func NewNode(
}
}

labelsProvider = models.MergeLabelsInOrder(
&ConfigLabelsProvider{staticLabels: config.Labels},
&RuntimeLabelsProvider{},
)
debugInfoProviders = append(debugInfoProviders, requesterNode.debugInfoProviders...)
}

Expand Down Expand Up @@ -419,6 +420,7 @@ func NewNode(
return nil, err
}

labelsProvider = computeNode.labelsProvider
debugInfoProviders = append(debugInfoProviders, computeNode.debugInfoProviders...)
}

Expand Down
49 changes: 49 additions & 0 deletions test/labels.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!bin/bashtub

source bin/bacalhau.sh

run_test() {
WORD=$RANDOM
subject bacalhau config set node.labels key=value "random=$WORD"
create_node $1

# Wait for node to have published information.
subject bacalhau node list --output=json
while ! jq -e 'length > 0' <<< $stdout 1>/dev/null; do
sleep 0.05;
subject bacalhau node list --output=json
done

assert_equal 1 $(jq -rcM length <<< $stdout)
assert_not_equal 0 $(jq -rcM '.[0].Labels | length' <<< $stdout)
assert_equal false $(jq -rcM '.[0].Labels["Operating-System"] == null' <<< $stdout)
assert_equal false $(jq -rcM '.[0].Labels["Architecture"] == null' <<< $stdout)
assert_equal value $(jq -rcM '.[0].Labels["key"]' <<< $stdout)
assert_equal $WORD $(jq -rcM '.[0].Labels["random"]' <<< $stdout)
}

testcase_receive_labels_about_requester_node_for_nats() {
subject bacalhau config set node.network.type nats
assert_equal 0 $status
run_test requester
}

testcase_receive_extra_labels_about_compute_node_for_nats() {
subject bacalhau config set node.network.type nats
assert_equal 0 $status
run_test requester,compute
assert_equal false $(jq -rcM '.[0].Labels["git-lfs"] == null' <<< $stdout)
}

testcase_receive_labels_about_requester_node_for_libp2p() {
subject bacalhau config set node.network.type libp2p
assert_equal 0 $status
run_test requester
}

testcase_receive_extra_labels_about_compute_node_for_libp2p() {
subject bacalhau config set node.network.type libp2p
assert_equal 0 $status
run_test requester,compute
assert_equal false $(jq -rcM '.[0].Labels["git-lfs"] == null' <<< $stdout)
}

0 comments on commit 7f489fb

Please sign in to comment.