Skip to content

Commit 0ae59d6

Browse files
Merge pull request #17 from robert-w-gries/feature/oac-doc
Add OAC installation instructions
2 parents d7c37f0 + 0fd8880 commit 0ae59d6

File tree

1 file changed

+169
-6
lines changed

1 file changed

+169
-6
lines changed

docs/README-agent-install.md

Lines changed: 169 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,24 @@ Please note: A virtual Nexus N9000/N3000 may be helpful for development and test
3131
chef-client software.
3232

3333
#### Environment
34-
NX-OS supports two possible environments for running 3rd party software:
35-
`bash-shell` and `guestshell`. Choose one environment for running the
36-
chef-client software. You may run chef-client from either environment but not both
37-
at the same time.
34+
NX-OS supports three possible environments for running third party software:
35+
`bash-shell`, `guestshell` and the `open agent container (OAC)`.
36+
37+
|Environment | Supported Platforms |
38+
|-----------------------------|------------------------------------------|
39+
|`bash-shell` or `guestshell` | Cisco Nexus 30xx, 31xx, 93xx, 95xx, N9Kv |
40+
|`open agent container (OAC)` | Cisco Nexus 56xx, 60xx, 7xxx |
41+
42+
You may run chef-client from either `bash-shell` or `guestshell` on supported platforms but not from both at the same time.
3843

3944
* `bash-shell`
4045
* This is the native WRL linux environment underlying NX-OS. It is disabled by default.
4146
* `guestshell`
4247
* This is a secure linux container environment running CentOS. It is enabled by default in most platforms.
48+
* `open agent container`
49+
* This is a 32-bit CentOS-based container created specifically for running chef-client software.
50+
* OAC containers are created for specific platforms and must be downloaded from Cisco.
51+
* The OAC must be installed before the Chef client can be installed.
4352

4453
#### Network Setup
4554

@@ -192,11 +201,165 @@ EOF
192201

193202
```
194203

204+
## <a name="env-gs">chef-client Environment: open agent container</a>
205+
206+
This section is only necessary if chef-client will run from the `open agent container`.
207+
208+
#### Set Up NX-OS
209+
210+
Download the `OAC` `oac.1.1.0.ova` file.
211+
212+
| Platform | OAC Download Link |
213+
|----------|-------------------|
214+
| Nexus 7xxx | [Nexus 7xxx Download Link](https://software.cisco.com/download/release.html?i=!y&mdfid=283748960&softwareid=282088129&release=7.3%280%29D1%281%29&os=)|
215+
| Nexus 56xx and 60xx | [**TODO**]|
216+
217+
Copy the `ova` file to the `bootflash:` device.
218+
219+
~~~
220+
n7k# dir bootflash: | inc oac.1.0.0.ova
221+
45424640 Feb 12 19:37:40 2016 oac.1.0.0.ova
222+
~~~
223+
224+
Use the `show virtual-service global` command to display available resources for the `OAC` Virtual Service.
225+
226+
~~~
227+
n7k# show virtual-service global
228+
...
229+
Resource virtualization limits:
230+
Name Quota Committed Available
231+
-----------------------------------------------------------------------
232+
system CPU (%) 6 0 6
233+
memory (MB) 2304 0 2304
234+
bootflash (MB) 600 0 600
235+
236+
n7k#
237+
~~~
238+
239+
The recommended minimum values are currently:
240+
241+
~~~bash
242+
memory : 256MB
243+
bootflash : 400MB
244+
~~~
245+
246+
**NOTE:** If insufficent `bootflash:` resources are available, remove unneeded files from `bootflash:` to free up space.
247+
248+
Install the `OAC` Virtual Service using the `virtual-service install` command:
249+
`virtual-service install name oac package bootflash:oac.1.1.0.ova`
250+
251+
~~~
252+
n7k# virtual-service install name oac package bootflash:oac.1.1.0.ova
253+
Note: Installing package 'bootflash:/oac.1.1.0.ova' for virtual service 'oac'. Once the install has finished, the VM may be activated. Use 'show virtual-service list' for progress.
254+
255+
n7k# 2016 Feb 12 19:51:14 n7k %$ VDC-1 %$ %VMAN-2-INSTALL_STATE: Successfully installed virtual service 'oac'
256+
257+
n7k# show virtual-service list
258+
259+
Virtual Service List:
260+
261+
Name Status Package Name
262+
-----------------------------------------------------------------------
263+
oac Installed oac.1.1.0.ova
264+
265+
n7k#
266+
~~~
267+
268+
Activate the OAC using the `virtual-service` configuration command:
269+
270+
~~~
271+
n7k# config t
272+
Enter configuration commands, one per line. End with CNTL/Z.
273+
n7k(config)# virtual-service oac
274+
n7k(config-virt-serv)# activate
275+
Note: Activating virtual-service 'oac', this might take a few minutes. Use 'show virtual-service list' for progress.
276+
n7k(config-virt-serv)#
277+
n7k(config-virt-serv)# end
278+
n7k#
279+
n7k# 2016 Feb 12 19:55:06 n7k %$ VDC-1 %$ %VMAN-2-ACTIVATION_STATE: Successfully activated virtual service 'oac'
280+
~~~
281+
282+
You may verify activation by using the `show virtual-service list` command:
283+
284+
~~~
285+
n7k# show virtual-service list
286+
287+
Virtual Service List:
288+
289+
Name Status Package Name
290+
-----------------------------------------------------------------------
291+
oac Activated oac.1.1.0.ova
292+
293+
n7k#
294+
~~~
295+
296+
Open a console session to the `OAC` using the `virtual-service connect` command:
297+
298+
`virtual-service connect name oac console`
299+
300+
*note: The OAC's root password is initially set to `oac`. You are required to change it on initial login.*
301+
302+
~~~
303+
n7k# virtual-service connect name oac console
304+
Connecting to virtual-service. Exit using ^c^c^c
305+
Trying 127.1.1.5...
306+
Connected to 127.1.1.5.
307+
Escape character is '^]'.
308+
309+
310+
CentOS release 6.7 (Final)
311+
Kernel 2.6.99.99 on an x86_64
312+
313+
localhost login: root
314+
Password:
315+
You are required to change your password immediately (root enforced)
316+
Changing password for root.
317+
(current) UNIX password:
318+
New password:
319+
Retype new password:
320+
[root@localhost ~]#
321+
~~~
322+
323+
See [References](#references) for more OAC documentation *TODO*.
324+
325+
#### Set Up OAC Network
326+
327+
The `open agent container` is an independent CentOS container that doesn't inherit settings from NX-OS; thus it requires additional network configuration. This configuration will be applied inside the `OAC` container.
328+
329+
Connect to the OAC console, then:
330+
331+
~~~bash
332+
333+
# First become root:
334+
sudo su -
335+
336+
# Enter the management namespace if your device uses the management interface for connectivity.
337+
chvrf management
338+
339+
# Set up hostname and DNS configuration
340+
hostname n7k
341+
342+
echo 'n7k' > /etc/hostname
343+
344+
cat >> /etc/resolv.conf << EOF
345+
nameserver 10.0.0.202
346+
domain mycompany.com
347+
search mycompany.com
348+
EOF
349+
~~~
350+
195351
## <a name="agent-config">chef-client Installation, Configuration and Usage</a>
196352

197-
This section is common to both `bash-shell` and `guestshell`.
353+
This section is common to `bash-shell`, `guestshell` and the `open agent container`.
354+
355+
#### Install Chef-Client
356+
357+
If needed, configure a proxy server to gain network access to `chef.io`:
198358

199-
#### Chef Installation
359+
~~~bash
360+
export http_proxy="http://proxy.yourdomain.com:<port>"
361+
export https_proxy="https://proxy.yourdomain.com:<port>"
362+
~~~
200363

201364
##### Run Chef Install Script
202365

0 commit comments

Comments
 (0)