Skip to content

Commit 1bd4208

Browse files
committed
Adding the new project
1 parent a35d314 commit 1bd4208

File tree

150 files changed

+16863
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+16863
-2
lines changed

README.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,34 @@
1-
# vmm-automation
2-
Automate VMM Infrastructure
1+
### Steps to run the deployment in VMM Infra
2+
3+
1.) Clone the repo
4+
```
5+
git clone https://github.com/urao/vmm-automation.git
6+
```
7+
2.) Fill in the details which has "__fill__in" script in the files
8+
```
9+
grep -irn "fill__" *
10+
```
11+
3.) Copy Linux, vMX, vQFX images under /vmm/data/user_disks/<username>/ folder
12+
4.) Copy Appformix and Appformix flows images in the below location
13+
based on the version
14+
```
15+
/vmm/data/user_disks/<username>/appformix/3_1_11/
16+
/vmm/data/user_disks/<username>/xflow/1_0_6/
17+
```
18+
5.) Update scripts/setup.env file with what topology you want to deploy
19+
```
20+
# Available Topologies
21+
# Demo => demo
22+
# Healthbot => hbvm
23+
# Contrail+Appformix => cafx
24+
# Kubernetes Cluster => k8s
25+
VMM_TOPO_TYPE=demo
26+
```
27+
6.) Run the script to deploy the selected topology
28+
```
29+
./scripts/create_deploy_demo_vmm.sh
30+
```
31+
7.) Run the same with option `-c` to cleanup the topology
32+
```
33+
./scripts/create_deploy_demo_vmm.sh -c
34+
```

ansible.cfg

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
[defaults]
2+
inventory = inventory
3+
roles_path = ./roles
4+
host_key_checking = False
5+
log_path = ./logs/ansible.log
6+
jinja2_extensions=jinja2.ext.do
7+
display_skipped_hosts = False
8+
deprecation_warnings = False
9+
forks = 5
10+
timeout = 30
11+
retry_files_enabled = False
12+
ansible_managed = Ansible managed
13+
sudo_user = root
14+
callback_whitelist = profile_tasks
15+
#stdout_callback = debug/json
16+
#stdout_callback = skippy
17+
#gathering = smart
18+
#fact_caching = jsonfile
19+
#fact_caching_connection = /tmp
20+
#transport = smart
21+
inventory_ignore_extensions = ~, .orig, .bak, .ini, .cfg, .retry, .pyc, .pyo, .creds
22+
force_color = 1
23+
24+
#library = ./scripts
25+
26+
[inventory]
27+
28+
[privilege_escalation]
29+
30+
[paramiko_connection]
31+
32+
33+
[ssh_connection]
34+
ssh_args = -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
35+
pipelining = True
36+
37+
[persistent_connection]
38+
39+
[accelerate]
40+
41+
[selinux]
42+
43+
[colors]
44+
verbose = blue
45+
warn = purple
46+
error = red
47+
debug = black
48+
unreachable = red
49+
ok = green
50+
changed = blue
51+
52+
[diff]

config/.vault_password

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
c0ntrail123

config/cafx.yml

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
---
2+
vmm:
3+
topology_name: cafx-lab
4+
topology_type: cafx
5+
images:
6+
centos_cntrl: "/vmm/data/user_disks/urao/CentOS-7.6-1905-100G.qcow2"
7+
centos_compute: "/vmm/data/user_disks/urao/CentOS-7.6-1905-40G.qcow2"
8+
centos_bms: "/vmm/data/user_disks/urao/CentOS-7.6-1905-8G.qcow2"
9+
vmx_re: "/vmm/data/user_disks/urao/junos-vmx-x86-64-19.4R1.10.vmdk"
10+
vmx_pfe: "/vmm/data/user_disks/urao/vFPC-20191114.img"
11+
vqfx_re: "/vmm/data/user_disks/urao/jinstall-vqfx-10-f-19.4R1.10.vmdk"
12+
vqfx_cosim: "/vmm/data/user_disks/urao/vqfx-19.4R1-2019010209-pfe-qemu.vmdk"
13+
vsrx: "/vmm/data/user_disks/urao/junos-vsrx3-x86-64.vmdk"
14+
config_dir: "vmm-ansible"
15+
config_filename: "cafx_vmm.conf"
16+
instances:
17+
vMXs:
18+
- hostname: vMX1
19+
type: device
20+
os: junos
21+
role: spine
22+
ports:
23+
- type : "GE"
24+
interface : "ge-0/0/0"
25+
bridge: vmx-leaf1
26+
ipv4: 172.16.1.3/29
27+
- type: "GE"
28+
interface : "ge-0/0/1"
29+
bridge: vmx-leaf2
30+
ipv4: 172.16.2.3/29
31+
- type: "GE"
32+
interface : "ge-0/0/2"
33+
bridge: vmx-igw
34+
ipv4: 172.16.100.20/24
35+
underlay:
36+
type : external
37+
asn : 65301
38+
peers:
39+
- address : 172.16.1.2
40+
asn : 65201
41+
- address : 172.16.2.2
42+
asn : 65401
43+
vQFXs:
44+
- hostname: vQFX-Leaf1
45+
type: device
46+
os: junos
47+
role: leaf1
48+
ports:
49+
- type : "XE"
50+
vlan : "true"
51+
interface : "xe-0/0/0"
52+
bridge: leaf1-br
53+
irb: "172.16.80.254/24"
54+
- type: "XE"
55+
interface : "xe-0/0/1"
56+
bridge: vmx-leaf1
57+
ipv4: 172.16.1.2/29
58+
underlay:
59+
type : external
60+
asn : 65201
61+
peers:
62+
- address : 172.16.1.3
63+
asn : 65301
64+
- hostname: vQFX-Leaf2
65+
type: device
66+
os: junos
67+
role: leaf2
68+
ports:
69+
- type : "XE"
70+
vlan : "true"
71+
interface : "xe-0/0/0"
72+
bridge: leaf2-br
73+
irb: 172.16.81.254/24
74+
- type: "XE"
75+
interface : "xe-0/0/1"
76+
bridge: vmx-leaf2
77+
ipv4: 172.16.2.2/29
78+
underlay:
79+
type : external
80+
asn : 65401
81+
peers:
82+
- address : 172.16.2.3
83+
asn : 65301
84+
VMs:
85+
- hostname: ccos
86+
type: linux
87+
os: centos
88+
role: control
89+
spec:
90+
cpu: 4
91+
ram: 32648
92+
ports:
93+
- name: ens3f1
94+
bridge: leaf1-br
95+
ipv4: 172.16.80.10
96+
netmask: 255.255.255.0
97+
routes:
98+
- network: 172.16.81.0
99+
netmask: 255.255.255.0
100+
gateway: 172.16.80.254
101+
- hostname: compute1
102+
type: linux
103+
os: centos
104+
role: compute
105+
spec:
106+
cpu: 2
107+
ram: 16458
108+
ports:
109+
- name: ens3f1
110+
bridge: leaf1-br
111+
ipv4: 172.16.80.11
112+
netmask: 255.255.255.0
113+
routes:
114+
- network: 172.16.81.0
115+
netmask: 255.255.255.0
116+
gateway: 172.16.80.254
117+
- hostname: afxc
118+
type: linux
119+
os: centos
120+
role: afxc
121+
spec:
122+
cpu: 2
123+
ram: 16458
124+
ports:
125+
- name: ens3f1
126+
bridge: leaf1-br
127+
ipv4: 172.16.80.12
128+
netmask: 255.255.255.0
129+
routes:
130+
- network: 172.16.81.0
131+
netmask: 255.255.255.0
132+
gateway: 172.16.80.254
133+
- hostname: afxflow
134+
type: linux
135+
os: centos
136+
role: afxflow
137+
spec:
138+
cpu: 2
139+
ram: 16458
140+
ports:
141+
- name: ens3f1
142+
bridge: leaf1-br
143+
ipv4: 172.16.80.13
144+
netmask: 255.255.255.0
145+
routes:
146+
- network: 172.16.81.0
147+
netmask: 255.255.255.0
148+
gateway: 172.16.80.254
149+
- hostname: compute2
150+
type: linux
151+
os: centos
152+
role: compute
153+
spec:
154+
cpu: 2
155+
ram: 16458
156+
ports:
157+
- name: ens3f1
158+
bridge: leaf2-br
159+
ipv4: 172.16.81.10
160+
netmask: 255.255.255.0
161+
routes:
162+
- network: 172.16.80.0
163+
netmask: 255.255.255.0
164+
gateway: 172.16.81.254
165+
- hostname: igwvm
166+
type: linux
167+
os: centos
168+
role: igw
169+
spec:
170+
cpu: 2
171+
ram: 16458
172+
ports:
173+
- name: ens3f1
174+
bridge: vmx-igw
175+
ipv4: 172.16.100.21
176+
netmask: 255.255.255.0
177+
- hostname: ccommand
178+
type: linux
179+
os: centos
180+
role: command
181+
spec:
182+
cpu: 2
183+
ram: 16458
184+
- hostname: dummyvip
185+
type: linux
186+
os: centos
187+
role: command
188+
spec:
189+
cpu: 1
190+
ram: 2048

config/demo.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
vmm:
3+
topology_name: demo-lab
4+
topology_type: demo
5+
images:
6+
centos: "/vmm/data/user_disks/urao/CentOS-7.6-1905-8G.qcow2"
7+
vmx_re: "/vmm/data/user_disks/urao/junos-vmx-x86-64-19.4R1.10.vmdk"
8+
vmx_pfe: "/vmm/data/user_disks/urao/vFPC-20191114.img"
9+
vqfx_re: "/vmm/data/user_disks/urao/jinstall-vqfx-10-f-19.4R1.10.vmdk"
10+
vqfx_cosim: "/vmm/data/user_disks/urao/vqfx-19.4R1-2019010209-pfe-qemu.vmdk"
11+
vsrx: "/vmm/data/user_disks/urao/junos-vsrx3-x86-64.vmdk"
12+
config_dir: "vmm-ansible"
13+
config_filename: "demo_vmm.conf"
14+
role: demo
15+
instances:
16+
vMXs:
17+
- hostname: vMX1
18+
type: device
19+
os: junos
20+
ports:
21+
- type : "GE"
22+
interface : "ge-0/0/0"
23+
bridge: brvm1
24+
ipv4: 10.1.1.20/24
25+
- type: "GE"
26+
interface : "ge-0/0/1"
27+
bridge: brvm2
28+
ipv4: 20.1.1.20/24
29+
VMs:
30+
- hostname: VM1
31+
type: linux
32+
os: centos
33+
spec:
34+
cpu: 1
35+
ram: 2048
36+
ports:
37+
- name: ens3f1
38+
bridge: brvm1
39+
ipv4: 10.1.1.10
40+
mtu: 1500
41+
netmask: 255.255.255.0
42+
routes:
43+
- network: 20.1.1.0
44+
netmask: 255.255.255.0
45+
gateway: 10.1.1.20
46+
- hostname: VM2
47+
type: linux
48+
os: centos
49+
spec:
50+
cpu: 1
51+
ram: 2048
52+
ports:
53+
- name: ens3f1
54+
bridge: brvm2
55+
ipv4: 20.1.1.10
56+
mtu: 1500
57+
netmask: 255.255.255.0
58+
routes:
59+
- network: 10.1.1.0
60+
netmask: 255.255.255.0
61+
gateway: 20.1.1.20

config/hbvm.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
vmm:
3+
topology_name: hb-lab
4+
topology_type: hbvm
5+
images:
6+
centos: "/vmm/data/user_disks/urao/CentOS-7.6-1905-100G.qcow2"
7+
config_dir: "vmm-ansible"
8+
config_filename: "hb_vmm.conf"
9+
role: hbvm
10+
instances:
11+
VMs:
12+
- hostname: hbvm
13+
type: linux
14+
os: centos
15+
spec:
16+
cpu: 4
17+
ram: 16248

0 commit comments

Comments
 (0)