hs-test: fix install/build on new ubuntu instance
[vpp.git] / extras / hs-test / suite_veth_test.go
1 package main
2
3 import (
4         "time"
5 )
6
7 const (
8         // These correspond to names used in yaml config
9         serverInterfaceName = "vppsrv"
10         clientInterfaceName = "vppcln"
11 )
12
13 type VethsSuite struct {
14         HstSuite
15 }
16
17 func (s *VethsSuite) SetupSuite() {
18         time.Sleep(1 * time.Second)
19
20         s.configureNetworkTopology("2peerVeth")
21
22         s.loadContainerTopology("2peerVeth")
23 }
24
25 func (s *VethsSuite) SetupTest() {
26         s.SetupVolumes()
27         s.SetupContainers()
28
29         // Setup test conditions
30
31         var startupConfig Stanza
32         startupConfig.
33                 NewStanza("session").
34                 Append("enable").
35                 Append("use-app-socket-api").Close()
36
37         // ... For server
38         serverContainer := s.getContainerByName("server-vpp")
39
40         serverVpp, _ := serverContainer.newVppInstance(startupConfig)
41         s.assertNotNil(serverVpp)
42
43         s.setupServerVpp()
44
45         // ... For client
46         clientContainer := s.getContainerByName("client-vpp")
47
48         clientVpp, _ := clientContainer.newVppInstance(startupConfig)
49         s.assertNotNil(clientVpp)
50
51         s.setupClientVpp()
52 }
53
54 func (s *VethsSuite) setupServerVpp() {
55         serverVpp := s.getContainerByName("server-vpp").vppInstance
56
57         err := serverVpp.start()
58         s.assertNil(err)
59
60         serverVeth := s.netInterfaces[serverInterfaceName]
61         idx, err := serverVpp.createAfPacket(serverVeth)
62         s.assertNil(err)
63         s.assertNotEqual(0, idx)
64
65         namespaceSecret := "1"
66         err = serverVpp.addAppNamespace(1, idx, namespaceSecret)
67         s.assertNil(err)
68
69 }
70
71 func (s *VethsSuite) setupClientVpp() {
72         clientVpp := s.getContainerByName("client-vpp").vppInstance
73
74         err := clientVpp.start()
75         s.assertNil(err)
76
77         clientVeth := s.netInterfaces[clientInterfaceName]
78         idx, err := clientVpp.createAfPacket(clientVeth)
79         s.assertNil(err)
80         s.assertNotEqual(0, idx)
81
82         clientNamespaceSecret := "2"
83         err = clientVpp.addAppNamespace(2, idx, clientNamespaceSecret)
84         s.assertNil(err)
85 }