diff options
author | Paul Vaduva <Paul.Vaduva@enea.com> | 2017-11-15 15:55:42 +0100 |
---|---|---|
committer | Paul Vaduva <Paul.Vaduva@enea.com> | 2017-11-20 12:20:16 +0100 |
commit | 0c8ed7cf5b247b40c36f955d0b959707637a232f (patch) | |
tree | 9e06b94915f69600403fdd60b65619ae5693c0d1 | |
parent | d4b5428c176638242f8ee1c409c220ea7a3605fe (diff) | |
download | doc-enea-nfv-0c8ed7cf5b247b40c36f955d0b959707637a232f.tar.gz |
Refactored Chapter 4 regarding Tacker
I mde Chapter 4 Installing Tacker a section (4.1)
of Chapter 4 Tacker and added a new section (4.2 Using Tacker)
Signed-off-by: Paul Vaduva <Paul.Vaduva@enea.com>
-rw-r--r-- | book-enea-nfv-core-installation-guide/doc/tacker.xml | 223 |
1 files changed, 195 insertions, 28 deletions
diff --git a/book-enea-nfv-core-installation-guide/doc/tacker.xml b/book-enea-nfv-core-installation-guide/doc/tacker.xml index 249e6d9..b8d6e6f 100644 --- a/book-enea-nfv-core-installation-guide/doc/tacker.xml +++ b/book-enea-nfv-core-installation-guide/doc/tacker.xml | |||
@@ -1,6 +1,6 @@ | |||
1 | <?xml version="1.0" encoding="ISO-8859-1"?> | 1 | <?xml version="1.0" encoding="ISO-8859-1"?> |
2 | <chapter id="tacker"> | 2 | <chapter id="tacker"> |
3 | <title>Installing Tacker</title> | 3 | <title>Tacker</title> |
4 | 4 | ||
5 | <para><emphasis role="bold">Tacker</emphasis> is an OpenStack project, | 5 | <para><emphasis role="bold">Tacker</emphasis> is an OpenStack project, |
6 | building a generic VNF Manager and a NFV Orchestrator in order to deploy and | 6 | building a generic VNF Manager and a NFV Orchestrator in order to deploy and |
@@ -9,21 +9,24 @@ | |||
9 | and provides a functional stack to Orchestrate Network Services end-to-end | 9 | and provides a functional stack to Orchestrate Network Services end-to-end |
10 | using VNFs.</para> | 10 | using VNFs.</para> |
11 | 11 | ||
12 | <para>Execute the following in the Fuel master console:</para> | 12 | <section id="install_tacker"> |
13 | <title>Installing Tacker</title> | ||
13 | 14 | ||
14 | <orderedlist> | 15 | <para>Execute the following in the Fuel master console:</para> |
15 | <listitem> | ||
16 | <para>Go to the tacker plugin directory:<programlisting>cd /var/www/nailgun/plugins/tacker-1.0/repositories/tacker</programlisting></para> | ||
17 | </listitem> | ||
18 | 16 | ||
19 | <listitem> | 17 | <orderedlist> |
20 | <para>Execute the following to install Ansible: <programlisting>yum install ansible</programlisting></para> | 18 | <listitem> |
21 | </listitem> | 19 | <para>Go to the tacker plugin directory:<programlisting>cd /var/www/nailgun/plugins/tacker-1.0/repositories/tacker</programlisting></para> |
20 | </listitem> | ||
22 | 21 | ||
23 | <listitem> | 22 | <listitem> |
24 | <para>Run the initialization script:<programlisting>./files/init.sh</programlisting>This | 23 | <para>Execute the following to install Ansible: <programlisting>yum install ansible</programlisting></para> |
25 | will create a hosts file for ansible | 24 | </listitem> |
26 | <literal>/etc/ansible/hosts</literal> of the form:<programlisting>********** | 25 | |
26 | <listitem> | ||
27 | <para>Run the initialization script:<programlisting>./files/init.sh</programlisting>This | ||
28 | will create a hosts file for ansible | ||
29 | <literal>/etc/ansible/hosts</literal> of the form:<programlisting>********** | ||
27 | [controllers] | 30 | [controllers] |
28 | node-3 mac_addr+68:05:ca:46:8b:64 ipmi_ip=0.0.0.0 ipmi_user=****** ipmi_pass=****** | 31 | node-3 mac_addr+68:05:ca:46:8b:64 ipmi_ip=0.0.0.0 ipmi_user=****** ipmi_pass=****** |
29 | node-2 mac_addr+68:05:ca:46:8c:d4 ipmi_ip=0.0.0.0 ipmi_user=****** ipmi_pass=****** | 32 | node-2 mac_addr+68:05:ca:46:8c:d4 ipmi_ip=0.0.0.0 ipmi_user=****** ipmi_pass=****** |
@@ -37,19 +40,183 @@ node-4 mac_addr+68:05:ca:46:8c:c2 ipmi_ip=0.0.0.0 ipmi_user=****** ipmi_pass=*** | |||
37 | controllers | 40 | controllers |
38 | computes | 41 | computes |
39 | **********</programlisting></para> | 42 | **********</programlisting></para> |
40 | </listitem> | 43 | </listitem> |
41 | 44 | ||
42 | <listitem> | 45 | <listitem> |
43 | <para>Use your favorite text editor to manually edit | 46 | <para>Use your favorite text editor to manually edit |
44 | <literal>ipmi_ip</literal> with the ip address of the ipmi interface, | 47 | <literal>ipmi_ip</literal> with the ip address of the ipmi interface, |
45 | <literal>ipmi_user</literal> with the user for accessing the ipmi | 48 | <literal>ipmi_user</literal> with the user for accessing the ipmi |
46 | interface, and <literal>ipmi_psss</literal> with the password used by | 49 | interface, and <literal>ipmi_psss</literal> with the password used by |
47 | the user to access the ipmi interface for all the nodes.</para> | 50 | the user to access the ipmi interface for all the nodes.</para> |
48 | </listitem> | 51 | </listitem> |
49 | 52 | ||
50 | <listitem> | 53 | <listitem> |
51 | <para>Run the ansible playbook responsible with the installation and | 54 | <para>Run the ansible playbook responsible with the installation and |
52 | configuration of tacker plugin.<programlisting>ansible-playbook tacker_deploy.yaml</programlisting></para> | 55 | configuration of tacker plugin.<programlisting>ansible-playbook tacker_deploy.yaml</programlisting></para> |
53 | </listitem> | 56 | </listitem> |
54 | </orderedlist> | 57 | </orderedlist> |
58 | </section> | ||
59 | |||
60 | <section id="install_tacker"> | ||
61 | <title>Using Tacker</title> | ||
62 | |||
63 | <para>After Tacker has been installed and configured, perform the | ||
64 | following in order to start a VNF:</para> | ||
65 | |||
66 | <orderedlist> | ||
67 | <listitem> | ||
68 | <para>Log in using SSH to the controller node where Tacker has been | ||
69 | installed (Example here node-5) and authenticate with | ||
70 | openstack:</para> | ||
71 | |||
72 | <programlisting>[root@fuel ~]# ssh node-5 | ||
73 | root@node-5:~# . openrc</programlisting> | ||
74 | </listitem> | ||
75 | |||
76 | <listitem> | ||
77 | <para>Activate the virtual environment for Tacker:</para> | ||
78 | |||
79 | <programlisting>root@node-5:~# source /usr/share/tacker_venv/bin/activate</programlisting> | ||
80 | |||
81 | <para>All subsequent commands will be executed in the venv.</para> | ||
82 | </listitem> | ||
83 | |||
84 | <listitem> | ||
85 | <para>Register a default VIM:</para> | ||
86 | |||
87 | <programlisting>(tacker_venv) root@node-5:~# tacker vim-register --is-default --config-file | ||
88 | testvim.yaml --description 'Default VIM' defaultVim</programlisting> | ||
89 | |||
90 | <para>The sample .yaml file has the following contents</para> | ||
91 | |||
92 | <programlisting>auth_url: '<keystone-auth_url>' | ||
93 | username: 'admin' | ||
94 | password: '<password>' | ||
95 | project_name: 'admin' | ||
96 | project_domain_name: 'Default' | ||
97 | user_domain_name: 'Default' | ||
98 | </programlisting> | ||
99 | </listitem> | ||
100 | |||
101 | <listitem> | ||
102 | <para>Define a VNF Descriptor (VNFD):</para> | ||
103 | |||
104 | <programlisting>(tacker_venv) root@node-5:~# tacker vnfd-create --vnfd-file testvnf.yaml TestVNF</programlisting> | ||
105 | |||
106 | <para>The sample .yaml file has the following contents:</para> | ||
107 | |||
108 | <programlisting>tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0 | ||
109 | |||
110 | description: Demo example | ||
111 | |||
112 | metadata: | ||
113 | template_name: sample-tosca-vnfd | ||
114 | |||
115 | topology_template: | ||
116 | |||
117 | node_templates: | ||
118 | VDU1: | ||
119 | type: tosca.nodes.nfv.VDU.Tacker | ||
120 | capabilities: | ||
121 | nfv_compute: | ||
122 | properties: | ||
123 | num_cpus: 1 | ||
124 | mem_size: 512 MB | ||
125 | disk_size: 1 GB | ||
126 | properties: | ||
127 | image: TestVM | ||
128 | flavor: m1.tiny | ||
129 | availability_zone: nova | ||
130 | mgmt_driver: noop | ||
131 | metadata: {metering.vnf: VDU1} | ||
132 | monitoring_policy: | ||
133 | name: noop # was ping | ||
134 | # parameters: | ||
135 | # monitoring_delay: 45 | ||
136 | # count: 3 | ||
137 | # interval: 1 | ||
138 | # timeout: 2 | ||
139 | # actions: | ||
140 | # failure: respawn | ||
141 | CP1: | ||
142 | type: tosca.nodes.nfv.CP.Tacker | ||
143 | properties: | ||
144 | order: 0 | ||
145 | anti_spoofing_protection: false | ||
146 | requirements: | ||
147 | - virtualLink: | ||
148 | node: VL1 | ||
149 | - virtualBinding: | ||
150 | node: VDU1 | ||
151 | |||
152 | VL1: | ||
153 | type: tosca.nodes.nfv.VL | ||
154 | properties: | ||
155 | network_name: admin_internal_net | ||
156 | vendor: Tacker | ||
157 | |||
158 | FIP1: | ||
159 | type: tosca.nodes.network.FloatingIP | ||
160 | properties: | ||
161 | floating_network: admin_floating_net | ||
162 | requirements: | ||
163 | - link: | ||
164 | node: CP1 | ||
165 | |||
166 | outputs: | ||
167 | mgmt_ip-VDU1: | ||
168 | description: 'management ip address' | ||
169 | value: { get_attr: [FIP1, floating_ip_address] } | ||
170 | |||
171 | policies: | ||
172 | - vdu1_respawn_on_error: | ||
173 | type: tosca.policies.tacker.AlarmingEvent | ||
174 | targets: [VDU1] | ||
175 | triggers: | ||
176 | vdu1_down: | ||
177 | event_type: | ||
178 | type: tosca.events.resource.event | ||
179 | implementation: ceilometer | ||
180 | condition: | ||
181 | resource: compute.instance.* | ||
182 | field: traits.state | ||
183 | value: error | ||
184 | op: eq | ||
185 | metadata: VDU1 | ||
186 | actions: [respawn]</programlisting> | ||
187 | </listitem> | ||
188 | |||
189 | <listitem> | ||
190 | <para>Start a VNF:</para> | ||
191 | |||
192 | <programlisting>(tacker_venv) root@node-5:~# tacker vnf-create --vnfd-name TestVNF someVnf</programlisting> | ||
193 | </listitem> | ||
194 | |||
195 | <listitem> | ||
196 | <para>Verify:</para> | ||
197 | |||
198 | <programlisting>(tacker_venv) root@node-5:~# tacker vnf-list</programlisting> | ||
199 | |||
200 | <programlisting>+------------+---------+-----------------------+--------+----------+-----------+ | ||
201 | | id | name | mgmt_url | status | vim_id | vnfd_id | | ||
202 | +------------+---------+-----------------------+--------+----------+-----------+ | ||
203 | | <VNF-UUID> | someVnf | {"VDU1": "<MGMT-IP>"} | ACTIVE | <VIM-ID> | <VNFD-ID> | | ||
204 | +------------+---------+-----------------------+--------+----------+-----------+ | ||
205 | </programlisting> | ||
206 | |||
207 | <programlisting> root@node-5:~# nova list</programlisting> | ||
208 | |||
209 | <programlisting>+-----------+---------------+--------+------------+-------------+ | ||
210 | | ID | Name | Status | Task State | Power State | | ||
211 | +-----------+---------------+--------+------------+-------------+ | ||
212 | | <VM-UUID> | ta-<NAME> | ACTIVE | - | Running | | ||
213 | +-----------+---------------+--------+------------+-------------+ | ||
214 | -------------------------------------------------+ | ||
215 | Networks | | ||
216 | -------------------------------------------------+ | ||
217 | admin_internal_net=<INTERNAL-IP>, <FLOATING-IP> | | ||
218 | -------------------------------------------------+</programlisting> | ||
219 | </listitem> | ||
220 | </orderedlist> | ||
221 | </section> | ||
55 | </chapter> \ No newline at end of file | 222 | </chapter> \ No newline at end of file |