summaryrefslogtreecommitdiffstats
path: root/examples/ncclient/Readme.adoc
blob: 655394e83019076198751bcd3741ef2ff5a9c20c (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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
= Building

== Custom ODL Oxygen build

Honeycomb currently uses ODL Oxygen SR3.
Some additional features are planned
in https://jira.fd.io/browse/HONEYCOMB-433[ODL Fluorine]
and in https://jira.fd.io/browse/HONEYCOMB-443[ODL Neon]

To support them in current honeycomb version,
custom build of ODL Netconf project is required.

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

Here is a full list of patches required:
https://git.opendaylight.org/gerrit/#/q/topic:oxygen-hc-improvements+(status:open+OR+status:merged)

=== <copy-config> support

https://jira.opendaylight.org/browse/NETCONF-529[The feature] will be present in https://jira.fd.io/browse/HONEYCOMB-433[ODL Fluorine]
To make it work with ODL Oxygen SR3, following patches are required:

[source]
----
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/06/69606/4 && git cherry-pick FETCH_HEAD
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/54/72754/3 && git cherry-pick FETCH_HEAD
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/55/72755/3 && git cherry-pick FETCH_HEAD
mvn clean install -pl netconf/mdsal-netconf-connector
----

=== <validate> support

https://jira.opendaylight.org/browse/NETCONF-536[The feature] will be present in https://jira.fd.io/browse/HONEYCOMB-433[ODL Fluorine]
To make it work with ODL Oxygen SR3, following patches are required:

[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
----

== URL capability support

https://jira.opendaylight.org/browse/NETCONF-557[The feature] will be present in https://jira.fd.io/browse/HONEYCOMB-443[ODL Neon].
To make it work with ODL Oxygen SR3, following patch is required:

[source]
----
git fetch https://git.opendaylight.org/gerrit/netconf refs/changes/68/75368/1 && git cherry-pick FETCH_HEAD
mvn clean install -pl netconf/netconf-api/,netconf/netconf-impl/,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

Support for <validate> RPC requires ODL Fluorine, so custom build is required:

[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
----