summaryrefslogtreecommitdiffstats
path: root/examples/ncclient/Readme.adoc
blob: f3fafcb9d9a479da961abfb785a8d7f3b63861fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
= Building

== Custom ODL Oxygen build:

[source]
----
git clone https://git.opendaylight.org/gerrit/netconf
cd netconf
git checkout -b honeycomb release/oxygen
----

=== <copy-config> support:

[source]
----
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/06/69606/1 && git cherry-pick FETCH_HEAD
----

=== ncclient support:

[source]
----
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/81/71181/1 && git cherry-pick FETCH_HEAD
mvn clean install -pl netconf/netconf-util,netconf/netconf-netty-util,netconf/mdsal-netconf-connector
----

=== <validate> support:

[source]
----
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/56/72756/4 && git cherry-pick FETCH_HEAD
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/34/73034/2 && git cherry-pick FETCH_HEAD
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/95/74795/3 && git cherry-pick FETCH_HEAD
mvn clean install -pl netconf/mdsal-netconf-connector
----

== Custom Honeycomb build

Clone project, checkout desired branch or use master branch:
[source]
----
git clone https://gerrit.fd.io/r/honeycomb
cd honeycomb
----

=== <validate> support:
[source]
----
git fetch ssh://mgradzki@gerrit.fd.io:29418/honeycomb refs/changes/40/14040/3 && git cherry-pick FETCH_HEAD
mvn clean install -pl infra/data-impl
----

== Custom HC2VPP build

1. Clone project, checkout desired branch or use master branch:
[source]
----
git clone https://gerrit.fd.io/r/hc2vpp
cd hc2vpp
----

2. Build vpp-integration module from hc2vpp project:
[source]
----
mvn clean install -pl vpp-integration/minimal-distribution
----

3. (optional) Build honeycomb package
[source]
----
./packaging/deb/xenial/debuild.sh
----

== Build ncclient

[source]
----
git clone https://github.com/ncclient/ncclient.git
cd ncclient
sudo python setup.py install
----

= Running examples

Start vpp.

Start honeycomb
(either from hc2vpp builddir or using package built in previous steps).

NOTE: Remember that HC by default persists config and restores it after restart.
You can disable this behaviour using config/honeycomb.json.

== <copy-config>

=== ACL

Example configuration of ACLs on loopback interface.

[source]
----
./acl/test_acl.sh
./acl/test_acl_updates.sh
----

=== Bridge Domain

Example configuration of loopback interface and bridge domain assignment.

[source]
----
./bd/test_bd.sh
----

=== NAT

Example configuration of NAT on loopback interface.

[source]
----
./acl/test_nat.sh
./acl/test_nat_updates.sh
----

== <validate>

== ACL <edit-config> + <validate>
[source]
----
./edit_config.py --validate acl/config_invalid_acl.xml
----

== URL capability

Provide URL as source or target.
Source URL can use file, http, https or ftp protocol.
Target URL can use file protocol.

When using file protocol, provided patch should correspond to a file accessible by Honeycomb.

Example:

[source]
----
./copy_config_url.py "file:///home/m/hc2vpp/examples/ncclient/bd/config_bd.xml" candidate
----