-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHackathon-v2-cmd
More file actions
128 lines (107 loc) · 3.46 KB
/
Copy pathHackathon-v2-cmd
File metadata and controls
128 lines (107 loc) · 3.46 KB
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
Trello board invite link: https://tinyurl.com/hackersnight
SolidFire details:
Credentials: username: admin, password: Netapp1!
MVIP: https://192.168.0.101
SVIP: 192.168.0.130:3260
Slack / Jenkins Integration details:
Team subdomain: netapp-hackathon
Integration token: JHywu6K9ePQBwUjYn7XDWTix
Channel: #build
# Config CentOS
setenforce permissive
iptables -L INPUT --line
iptables -D INPUT 7
# Install Docker
Check supported version of docker: https://netapp-trident.readthedocs.io/en/stable-v18.01/support/requirements.html#requirements
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-17.12.1.ce
systemctl start docker
# Configure SolidFire
docker run -it --rm netapp/solidfire-powershell:latest
powershell
Connect-SFCluster 192.168.0.101 -Username admin -Password Netapp1!
Get-SFPendingNode | Add-SFNode
Get-SFDrive | Where-Object {$_.status -eq "available"} | Add-SFDrive
Disconnect-SFCluster 192.168.0.101
exit
exit
# Setup Trident for Docker
docker plugin install --alias netapp --grant-all-permissions --disable netapp/trident-plugin:latest
mkdir /etc/netappdvp
cat << EOF > /etc/netappdvp/config.json
{
"version": 1,
"storageDriverName": "solidfire-san",
"debug": false,
"Endpoint": "https://admin:Netapp1!@192.168.0.101/json-rpc/7.0",
"SVIP": "192.168.0.130:3260",
"TenantName": "yvos",
"DefaultVolSz": 1,
"InitiatorIFace": "default",
"Types": [
{
"Type": "Bronze",
"Qos": {
"minIOPS": 1000,
"maxIOPS": 2000,
"burstIOPS": 4000
}
},
{
"Type": "Silver",
"Qos": {
"minIOPS": 4000,
"maxIOPS": 6000,
"burstIOPS": 8000
}
},
{
"Type": "Gold",
"Qos": {
"minIOPS": 6000,
"maxIOPS": 8000,
"burstIOPS": 10000
}
}
]
}
EOF
docker plugin enable netapp
docker plugin list
# Test the plugin
docker volume create --driver netapp --name vol1 -o size=5 -o type=gold
docker volume ls -f driver=netapp:latest
docker run -it --rm -v vol1:/vol1 alpine ash
df
dd if=/dev/zero of=/vol1/myfile bs=1048576 count=5000
exit
docker volume rm vol1
# Install the webapp
cd /tmp
git clone https://github.com/NetAppEMEA/hackathon-vol2.git
docker volume create --driver netapp --name vol-redis -o size=50 -o qos=500,1500,3000
docker volume ls -f driver=netapp:latest
docker volume inspect vol-redis
docker run --name redis -d -v vol-redis:/data redis:3.2.6-alpine redis-server --appendonly yes
docker ps
docker exec redis df
cd /tmp/hackathon-vol2
docker build -t webapp:latest .
docker run --name webapp -d -p 80:80 --link redis webapp:latest --redis_port=6379 -redis_host=redis
docker ps -f name=webapp
curl -X PUT http://192.168.0.61/v1/reset
# Jenkins setup
cd /tmp/hackathon-vol2/reference
docker build -t hack/jenkins .
docker images hack/jenkins
docker volume create --driver netapp --name vol-jenkins -o size=10
docker volume list
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 \
-v vol-jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-e DOCKER_HOST_IP=`ip -4 addr show ens160 | \
grep -Po 'inet \K[\d.]+'` hack/jenkins
docker ps -f name=Jenkins
# Jenkins configuration
docker exec jenkins more /var/jenkins_home/secrets/initialAdminPassword