Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sai challenger staging - sync to main, Plvision test-framework-extension branches #272

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
e419ece
Create dash-docker-p4c-bmv2-acr.yml
chrispsommers Aug 30, 2022
a0736ac
Update Makefile
chrispsommers Aug 30, 2022
d92a501
Experimenting with ACR publish workflows
chrispsommers Aug 30, 2022
01734a9
Update and rename dash-docker-p4c-bmv2-acr.yml to dash-p4c-bmv2-docke…
chrispsommers Aug 30, 2022
c716147
Experimental ACR publish; change regname
chrispsommers Aug 31, 2022
ff4c77b
Update dash-p4c-bmv2-docker-acr.yml
chrispsommers Aug 31, 2022
e171274
Fix macro errors
chrispsommers Aug 31, 2022
8a956ad
Update dash-p4c-bmv2-docker-acr.yml
chrispsommers Aug 31, 2022
27745f3
Uncomment docker push command
chrispsommers Aug 31, 2022
7defb43
Build dash-grpc:1.43.2 docker and publish to ACR
chrispsommers Aug 31, 2022
1983d5b
Add CI script for saithrift-bldr-docker
chrispsommers Aug 31, 2022
7449600
Remove superfluous ACR publish steps from regular docker build CI scr…
chrispsommers Aug 31, 2022
b0333b4
Add CI scripts to build and publish remaining docker images to Azure …
chrispsommers Sep 1, 2022
f1be0d3
Publish docker images to ACR and use those in build process. (#208)
chrispsommers Sep 1, 2022
1ba9a66
Use make target to publish to ACR (just bmv2-bldr as first candidate).
chrispsommers Sep 2, 2022
8a9d2e5
Merge remote-tracking branch 'upstream/publish-dockers-to-acr' into p…
chrispsommers Sep 2, 2022
9acd6e5
Incremental progress - publish to ACRs (#212)
chrispsommers Sep 2, 2022
5716060
Call docker publish make targets from all CI scripts which publish.
chrispsommers Sep 2, 2022
44d62dc
Incremental progress publishing dockers to ACR (#213)
chrispsommers Sep 2, 2022
32d63e6
Added SAI-Challenger to CI setup.
maksymhedeon Aug 31, 2022
cef877f
Added saithrift to SAI-Challenger client docker image
maksymhedeon Sep 2, 2022
a331675
Update example vnet test.
elchupanebrej Sep 5, 2022
946f1b2
Add vnet outbound test based on SAI description.
maksym-prytoliuk-plv Sep 6, 2022
17b9093
Fixup double network host usage for sai-challenger-client
elchupanebrej Sep 6, 2022
bfd02b3
Kdt 17: Update docker environment (#8)
maksymhedeon Sep 7, 2022
9ce438c
Fixup VNET inbound cleanup removals in test config.
elchupanebrej Sep 7, 2022
987f8d1
Update CA_TO_PA entry in outbound test
maksym-prytoliuk-plv Sep 7, 2022
ea54251
Add vnet scenarios in DASH config format.
anton7811 Sep 7, 2022
1d8df59
Fixed saigen links.
anton7811 Sep 7, 2022
4da8289
Fixes in test scanario.
anton7811 Sep 8, 2022
49d62f6
Fixed path to saigen. Fixed inbound test.
anton7811 Sep 8, 2022
b242290
Update submodule
anton7811 Sep 8, 2022
bb44f60
Final test fixes to align with submodue version.
anton7811 Sep 8, 2022
a5d013a
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-…
chrispsommers Sep 8, 2022
098d110
Spellcheck - add to wordslist
chrispsommers Sep 8, 2022
bcd061c
Sync to main via intermediate dev branch. (#216)
chrispsommers Sep 8, 2022
1571b4e
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-…
chrispsommers Sep 12, 2022
ed09008
Incremental progress publishing dockers to ACR (#219)
chrispsommers Sep 12, 2022
24b67b5
Remove publish steps from non-ACR CI scripts (consequence of merge).
chrispsommers Sep 12, 2022
3143618
Incremental progress publishing dockers to ACR. (#220)
chrispsommers Sep 12, 2022
8241334
Trial of env var to define docker img
chrispsommers Sep 13, 2022
8fc6434
Merge branch 'publish-dockers-to-acr' into publish-dockers-to-acr-cs1
chrispsommers Sep 13, 2022
83fe7a8
Add docker .env variable to CI triggers.
chrispsommers Sep 13, 2022
6de9570
Fix stray conflict markers in Makefile.
chrispsommers Sep 13, 2022
c2015e9
Fix CI triggers.
chrispsommers Sep 13, 2022
a2750e3
Use .env files to define docker images. Fix CI triggers. Remove some …
chrispsommers Sep 14, 2022
54421fb
add missing path
chrispsommers Sep 14, 2022
e54df56
Fix path.
chrispsommers Sep 14, 2022
cbb1eac
Trivial change to force a CI build.
chrispsommers Sep 14, 2022
f055a72
Change Makefile to force CI rebuild.
chrispsommers Sep 14, 2022
8fe59f9
Trivial change to docker image .env file to test CI triggers.
chrispsommers Sep 14, 2022
012a8e8
Change .env file to force CI.
chrispsommers Sep 14, 2022
6a0817d
Change grpc docker .env file to trigger CI rebuild.
chrispsommers Sep 14, 2022
22955ba
Change saithrift-bldr docker .env to force CI rebuild.
chrispsommers Sep 14, 2022
829d159
Change saithrift-client .env file to force CI rebuild/
chrispsommers Sep 14, 2022
608dbc0
Fixed VNET outbound test scenario.
anton7811 Sep 14, 2022
27a9475
Trial docker build/conditional publish.
chrispsommers Sep 15, 2022
bfcf700
Get env variable into context.
chrispsommers Sep 15, 2022
b05c4ef
Correct env filename
chrispsommers Sep 15, 2022
8e11c8c
Debugging env vars & docker save
chrispsommers Sep 15, 2022
3954255
Fix CI syntax
chrispsommers Sep 15, 2022
2f5b8ba
Add Makefile targets to upload/download docker image tarball artifact.
chrispsommers Sep 15, 2022
ebc8f30
Revert to simple conditional job for build+publish.
chrispsommers Sep 15, 2022
4e076c4
Conditional CI for non-publish docker job.
chrispsommers Sep 15, 2022
72afca4
Outbound test passes with traffic
maksym-prytoliuk-plv Sep 15, 2022
b11e09b
Add conditionals to all docker build/publish workflows: run build-onl…
chrispsommers Sep 15, 2022
f7d1377
Documenting Docker workflows.
chrispsommers Sep 15, 2022
ee73762
Spellcheck fixes.
chrispsommers Sep 15, 2022
cf72c8e
Spellcheck fixes.
chrispsommers Sep 15, 2022
46aa3e3
Add screen cap of skipped job.
chrispsommers Sep 15, 2022
afac42e
Spellcheck
chrispsommers Sep 15, 2022
3e3d091
Update PR from dev branch (sync to main) (#224)
chrispsommers Sep 15, 2022
b52c1aa
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-acr
chrispsommers Sep 15, 2022
d6bf841
Use env variable for DASH_ACR_LOGIN_SERVER instead of secret.
chrispsommers Sep 17, 2022
b0e2d59
Use literal expression instead of env variable.
chrispsommers Sep 17, 2022
158c6b8
Use literal expression for ACR repository instead of secret.
chrispsommers Sep 17, 2022
822a9f9
Clarify docker publishing.
chrispsommers Sep 17, 2022
a50f8cb
Spellcheck.
chrispsommers Sep 17, 2022
51e2de8
Document another dockerfile workflow.
chrispsommers Sep 17, 2022
3ef9333
spellcheck
chrispsommers Sep 17, 2022
17912b5
CI triggers on PR to any branch, not just main.
chrispsommers Sep 17, 2022
a55b206
Update documentation
maksymhedeon Sep 19, 2022
00ab287
Updated SAI-Challenger submodule.
anton7811 Sep 19, 2022
2d0c21e
Merge branch 'main' into test-framework-extension
anton7811 Sep 20, 2022
21c44ac
Improvements to SAI-Challenger docker flows.
anton7811 Sep 21, 2022
b743627
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-acr
chrispsommers Sep 22, 2022
c104408
Fixes per review feedback https://github.com/Azure/DASH/pull/225#issu…
chrispsommers Sep 23, 2022
63dfe87
Spellcheck.
chrispsommers Sep 23, 2022
4bb4a13
Spellcheck.
chrispsommers Sep 23, 2022
59afa5b
Update dash-test-sai-challenger.md
mgheorghe Sep 26, 2022
341ccb4
Add bmv2 SAI port attributes (num_active, port_list), dflt vlan, dflt…
chrispsommers Sep 30, 2022
86139a4
Added SAI-Challenger docker build verification to GitHub actions
anton7811 Sep 30, 2022
c424c62
Merge pull request #37 from chrispsommers/chris-more-switch-attr
maksym-prytoliuk-plv Oct 3, 2022
9e7707e
Add default .1Q bridge to bmv2
maksym-prytoliuk-plv Oct 3, 2022
dd18255
Fixed SAI-Challenger user guide and file namings.
anton7811 Oct 3, 2022
85e5d1f
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-acr
chrispsommers Oct 7, 2022
00ca2ea
Spellcheck
chrispsommers Oct 7, 2022
04df302
Scaled VNET outbound test using snappi and saigen. (1st edition)
maksymhedeon Oct 11, 2022
deb1518
Merge remote-tracking branch 'upstream/main' into merge-main-chris
chrispsommers Oct 12, 2022
de6a200
spellcheck
chrispsommers Oct 12, 2022
ce18524
Move saichallenger client docker to ACR.
chrispsommers Oct 12, 2022
1b061c6
Fix .yml formatting.
chrispsommers Oct 12, 2022
1f317ed
Fix dependency in action file.
chrispsommers Oct 12, 2022
f6965fe
Add missing .env file
chrispsommers Oct 12, 2022
981a7e3
remove space in action script, add .env dependencies
chrispsommers Oct 12, 2022
c2983c2
fix include path
chrispsommers Oct 12, 2022
c5fa177
Add saichalleneger tests to run-all-tests and CI
chrispsommers Oct 12, 2022
a013ef7
Fix docker image name.
chrispsommers Oct 12, 2022
aa3033a
Correct mixup in image names.
chrispsommers Oct 12, 2022
cffc506
Remove stray hyphen
chrispsommers Oct 12, 2022
f225dc4
Run saichallenger workflows on any branch PR.
chrispsommers Oct 12, 2022
c5d80b4
Merge remote-tracking branch 'upstream/sai-challenger-staging' into p…
chrispsommers Oct 12, 2022
0a1ec5d
Merge remote-tracking branch 'upstream/sai-challenger-staging' into p…
chrispsommers Oct 12, 2022
46461fd
Added few more VNET scenario examples.
anton7811 Oct 12, 2022
611d5e9
Slides from DASH WG Meeting (SAI Challenger Episode 2) (#254)
chrispsommers Oct 12, 2022
ce5d563
Merge remote-tracking branch 'origin/test-framework-extension' into p…
chrispsommers Oct 12, 2022
12d8d8b
Merge remote-tracking branch 'upstream/main' into publish-saic-to-acr
chrispsommers Oct 12, 2022
b0aca69
Add outbound diagram
maksym-prytoliuk-plv Oct 13, 2022
e505508
Added inbound to xfail test results. (#44)
anton7811 Oct 13, 2022
fb32d8a
Merge pull request #41 from chrispsommers/publish-saic-to-acr
anton7811 Oct 13, 2022
6513dca
Scaling test configuration documentation
anton7811 Oct 14, 2022
4481a6e
Submodule update and rename
anton7811 Oct 17, 2022
d43fa2e
PTF: add basic test infra and more test cases (#231)
vmytnykx Oct 17, 2022
81a9ee8
Merge branch 'main' into test-framework-extension
anton7811 Oct 18, 2022
6a9bff1
Adding updated license files (#266)
KrisNey-MSFT Oct 26, 2022
dd72018
Fixbug: SAI Server crash on DASH ACL API (#264)
Pterosaur Oct 26, 2022
8652d57
Add VNET v6 PTF test case; Fix v4 PTF test case to address test hang …
mhanif Oct 26, 2022
0abd7d0
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-acr
chrispsommers Oct 31, 2022
e90ab84
Merge remote-tracking branch 'plvision/test-framework-extension' into…
chrispsommers Oct 31, 2022
27d931b
Fixed links in the README after renaming folders. (#262)
aputriax Oct 31, 2022
7bb0bdf
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-acr
chrispsommers Oct 31, 2022
5029a85
Correct CI file, was publishing wrong image. Some prior merge must ha…
chrispsommers Oct 31, 2022
735ddc6
Merge remote-tracking branch 'upstream/sai-challenger-staging' into s…
chrispsommers Nov 1, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ jobs:
- name: Build dash-saithrift-client-bldr image
run: DOCKER_FLAGS=$docker_fg_flags make docker-saithrift-client-bldr
- name: Publish dash-saithrift-client-bldr docker image
run: make docker-publish-saichallenger-client
run: make docker-publish-saithrift-client-bldr
2 changes: 2 additions & 0 deletions .wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ io
IP
IPs
ip
ips
IPDK
IPU
IPUs
Expand Down Expand Up @@ -426,6 +427,7 @@ reconvergence
README
READMEs
README's
reconvergence
RedirectRuleResimulatedUf
redis
renderer
Expand Down
Binary file not shown.
Binary file not shown.
21 changes: 12 additions & 9 deletions dash-pipeline/SAI/templates/saiapi.cpp.j2
Original file line number Diff line number Diff line change
Expand Up @@ -119,17 +119,20 @@ sai_status_t sai_create_{{ table.name }}(
{% else %}
// Search the action
for (uint32_t i = 0; i < attr_count; i++) {
switch(attr_list[i].value.s32) {
{% for action in table.actions %}
case SAI_{{ table.name | upper }}_ACTION_{{ action.name | upper }}: {
actionId = {{action.id}};
expectedParams = {{ action.params|length }};
break;
if (SAI_{{ table.name | upper }}_ATTR_ACTION == attr_list[i].id)
{
switch(attr_list[i].value.s32) {
{% for action in table.actions %}
case SAI_{{ table.name | upper }}_ACTION_{{ action.name | upper }}: {
actionId = {{action.id}};
expectedParams = {{ action.params|length }};
break;
}
{% endfor %}
}
{% endfor %}
// only one action
break;
}
// only one action
break;
}
{% endif %}
action->set_action_id(actionId);
Expand Down
7 changes: 3 additions & 4 deletions dash-pipeline/SAI/templates/utils.cpp.j2
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,8 @@ grpc::StatusCode MutateTableEntry(p4::v1::TableEntry *entry, p4::v1::Update_Type
LOG("GRPC call Write::" << updateTypeStr(updateType) << " OK" << entry->ShortDebugString() << std::endl);
}
else {
LOG("GRPC ERROR["<< status.error_code() <<"]: " << status.error_message() << ", " << status.error_details());
LOG("GRPC call Write::" << updateTypeStr(updateType) << " ERROR: " << std::endl << entry->ShortDebugString());
LOG("GRPC ERROR["<< status.error_code() <<"]: " << status.error_message() << ", " << status.error_details() << std::endl);
LOG("GRPC call Write::" << updateTypeStr(updateType) << " ERROR: " << std::endl << entry->ShortDebugString() << std::endl);
}
//MILIND?? What is this? reference release? memory release?
entity->release_table_entry();
Expand All @@ -163,13 +163,12 @@ grpc::StatusCode MutateTableEntry(p4::v1::TableEntry *entry, p4::v1::Update_Type
bool InsertInTable(p4::v1::TableEntry *entry, sai_object_id_t *objId) {
auto retCode = MutateTableEntry(entry, p4::v1::Update_Type_INSERT);
if (grpc::StatusCode::OK != retCode) {
delete entry;
return false;
}

tableLock.lock();
if (*objId == 0) {
*objId = nextId++;
*objId = NextObjIndex();
}
tableEntryMap[*objId] = entry;
tableLock.unlock();
Expand Down
58 changes: 29 additions & 29 deletions dash-pipeline/tests/saithrift/ptf/vnet/test_saithrift_vnet.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,9 @@ def setUp(self):

dip = sai_thrift_ip_address_t(addr_family=SAI_IP_ADDR_FAMILY_IPV4,
addr=sai_thrift_ip_addr_t(ip4=self.dst_ca_ip))
# TODO: Enable ACL rule
#self.out_acl_rule_id = sai_thrift_create_dash_acl_rule(self.client, dash_acl_group_id=self.out_acl_group_id,
# dip=dip, priority=10, action=SAI_DASH_ACL_RULE_ACTION_PERMIT)
#assert(status == SAI_STATUS_SUCCESS)

self.out_acl_rule_id = sai_thrift_create_dash_acl_rule(self.client, dash_acl_group_id=self.out_acl_group_id, priority=10, action=SAI_DASH_ACL_RULE_ACTION_PERMIT)
assert(status == SAI_STATUS_SUCCESS)

ca_prefix = sai_thrift_ip_prefix_t(addr_family=SAI_IP_ADDR_FAMILY_IPV4,
addr=sai_thrift_ip_addr_t(ip4="10.1.0.0"),
Expand Down Expand Up @@ -214,7 +213,7 @@ def runTest(self):
send_packet(self, 0, vxlan_pkt)
print("\nVerifying packet...\n", self.pkt_exp.__repr__())
verify_packet(self, self.pkt_exp, 0)
print ("test_sai_thrift_outbound_udp_pkt_test OK")
print ("TestSaiThrift_outbound_udp_pkt OK")
except AssertionError as ae:
self.failure_teardown()
raise ae
Expand All @@ -225,8 +224,8 @@ def failure_teardown(self):
status = sai_thrift_remove_outbound_ca_to_pa_entry(self.client, self.ocpe)
if hasattr(self, "ore"):
status = sai_thrift_remove_outbound_routing_entry(self.client, self.ore)
#if hasattr(self, "out_acl_rule_id"):
# sai_thrift_remove_dash_acl_rule(self.client, self.out_acl_rule_id)
if hasattr(self, "out_acl_rule_id"):
sai_thrift_remove_dash_acl_rule(self.client, self.out_acl_rule_id)
if hasattr(self, "e2v"):
sai_thrift_remove_outbound_eni_to_vni_entry(self.client, self.e2v)
if hasattr(self, "eam"):
Expand All @@ -249,34 +248,35 @@ def failure_teardown(self):
def tearDown(self):

# Delete in reverse order
if self.cleaned_up:
return
status = sai_thrift_remove_outbound_ca_to_pa_entry(self.client, self.ocpe)
assert(status == SAI_STATUS_SUCCESS)
if not self.cleaned_up:
status = sai_thrift_remove_outbound_ca_to_pa_entry(self.client, self.ocpe)
assert(status == SAI_STATUS_SUCCESS)

status = sai_thrift_remove_outbound_routing_entry(self.client, self.ore)
assert(status == SAI_STATUS_SUCCESS)
status = sai_thrift_remove_outbound_routing_entry(self.client, self.ore)
assert(status == SAI_STATUS_SUCCESS)

#status = sai_thrift_remove_dash_acl_rule(self.client, self.out_acl_rule_id)
#assert(status == SAI_STATUS_SUCCESS)
#status = sai_thrift_remove_dash_acl_rule(self.client, self.out_acl_rule_id)
#assert(status == SAI_STATUS_SUCCESS)

status = sai_thrift_remove_eni_ether_address_map_entry(self.client, self.eam)
assert(status == SAI_STATUS_SUCCESS)
status = sai_thrift_remove_eni_ether_address_map_entry(self.client, self.eam)
assert(status == SAI_STATUS_SUCCESS)

status = sai_thrift_remove_eni(self.client, self.eni)
assert(status == SAI_STATUS_SUCCESS)
status = sai_thrift_remove_eni(self.client, self.eni)
assert(status == SAI_STATUS_SUCCESS)

status = sai_thrift_remove_vnet(self.client, self.vnet)
assert(status == SAI_STATUS_SUCCESS)
status = sai_thrift_remove_vnet(self.client, self.vnet)
assert(status == SAI_STATUS_SUCCESS)

status = sai_thrift_remove_dash_acl_group(self.client, self.out_acl_group_id)
assert(status == SAI_STATUS_SUCCESS)

status = sai_thrift_remove_dash_acl_group(self.client, self.out_acl_group_id)
assert(status == SAI_STATUS_SUCCESS)
status = sai_thrift_remove_dash_acl_group(self.client, self.in_acl_group_id)
assert(status == SAI_STATUS_SUCCESS)

status = sai_thrift_remove_dash_acl_group(self.client, self.in_acl_group_id)
assert(status == SAI_STATUS_SUCCESS)
status = sai_thrift_remove_direction_lookup_entry(self.client, self.dle)
assert(status == SAI_STATUS_SUCCESS)

status = sai_thrift_remove_direction_lookup_entry(self.client, self.dle)
assert(status == SAI_STATUS_SUCCESS)
sai_thrift_remove_vip_entry(self.client, self.vpe)
assert(status == SAI_STATUS_SUCCESS)

sai_thrift_remove_vip_entry(self.client, self.vpe)
assert(status == SAI_STATUS_SUCCESS)
super(self.__class__, self).tearDown()
Loading