Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
TP2_Freenet_Go_Socket
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
jeremy.martinot
TP2_Freenet_Go_Socket
Commits
3a52b43b
Commit
3a52b43b
authored
3 years ago
by
jeremy.martinot
Browse files
Options
Downloads
Patches
Plain Diff
Deploy adds + key pair
parent
88a8661e
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
server/deploy.py
+42
-41
42 additions, 41 deletions
server/deploy.py
server/exoscale.key
+49
-0
49 additions, 0 deletions
server/exoscale.key
server/exoscalekey.pub
+1
-0
1 addition, 0 deletions
server/exoscalekey.pub
with
92 additions
and
41 deletions
server/deploy.py
+
42
−
41
View file @
3a52b43b
...
...
@@ -3,15 +3,30 @@ from pexpect import pxssh
from
time
import
sleep
import
re
EXOSCALE_API_KEY
=
'
EXO
7945e92f25a038a400b488aa
'
EXOSCALE_API_SECRET
=
'
smRDVh7H0QO3w9068WlSq_JqBuPPdR7uaps6bSkLEWw
'
EXOSCALE_API_KEY
=
'
EXO
37ac257070da225b758e0f76
'
EXOSCALE_API_SECRET
=
'
R7yBJ-XChI2rdkJ_1dOAeJJ1GK4N-jMsuhep4qEx16Q
'
# Initialise exoscale API
exo
=
exoscale
.
Exoscale
(
api_key
=
EXOSCALE_API_KEY
,
api_secret
=
EXOSCALE_API_SECRET
)
zone_decix
=
exo
.
compute
.
get_zone
(
"
de-fra-1
"
)
zone_gva2
=
exo
.
compute
.
get_zone
(
"
ch-gva-2
"
)
security_group_default_ssh
=
exo
.
compute
.
get_security_group
(
name
=
'
default
'
)
try
:
security_group_ssh
=
exo
.
compute
.
create_security_group
(
"
ssh
"
)
for
rule
in
[
exoscale
.
api
.
compute
.
SecurityGroupRule
.
ingress
(
description
=
"
HTTP
"
,
network_cidr
=
"
0.0.0.0/0
"
,
port
=
"
22
"
,
protocol
=
"
tcp
"
,
)
]:
security_group_web
.
add_rule
(
rule
)
except
Exoscale
.
api
.
APIException
as
err
:
print
(
err
)
###
# Create instances
###
...
...
@@ -19,16 +34,17 @@ security_group_default_ssh = exo.compute.get_security_group(name='default')
nodes
=
[]
for
i
in
range
(
6
):
instance_name
=
"
freenet-
"
+
str
(
i
)
new_instance
=
exo
.
compute
.
create_instance
(
name
=
"
freenet-1
"
zone
=
zone_
decix
,
name
=
instance_name
,
zone
=
zone_
gva2
,
type
=
exo
.
compute
.
get_instance_type
(
"
tiny
"
),
template
=
list
(
exo
.
compute
.
list_instance_templates
(
zone_
decix
,
zone_
gva2
,
"
Linux Ubuntu 18.04 LTS 64-bit
"
))[
0
],
volume_size
=
10
,
security_groups
=
[
security_group_default_ssh
],
ssh_key
=
exo
.
compute
.
get_ssh_key
(
"
SWARM-cluster-
key
"
),
ssh_key
=
exo
.
compute
.
get_ssh_key
(
"
exoscale.
key
"
),
user_data
=
"""
#cloud-config
package_upgrade: true
...
...
@@ -41,20 +57,18 @@ for i in range(6):
"""
)
nodes
.
append
(
new_instance
)
print
(
"
Instance :
"
+
instance_name
+
"
created !
"
)
print
(
"
SWARM master hosted at {}
"
.
format
(
swarm_master
.
ipv4_address
))
print
(
"
SWARM http hosted at {}
"
.
format
(
swarm_http_slave
.
ipv4_address
))
print
(
"
Swarm slave at {}
"
.
format
(
swarm_slave
.
ipv4_address
))
print
(
"
Waiting 60 seconds for cloud-init completion...
"
);
print
(
"
Waiting 60 seconds for cloud-init completion...
"
)
sleep
(
60
)
print
(
"
Setting up docker SWARM...
"
)
for
instance
in
nodes
:
try
:
print
(
"
Connexion a l
'
instance:
"
+
instance
.
name
)
s
=
pxssh
.
pxssh
(
options
=
{
"
StrictHostKeyChecking
"
:
"
no
"
,
"
UserKnownHostsFile
"
:
"
/dev/null
"
})
s
.
login
(
swarm_master
.
ipv4_address
,
username
=
'
ubuntu
'
,
ssh_key
=
'
swarm_key
'
)
s
.
sendline
(
'
docker swarm init
'
)
s
.
login
(
instance
.
ipv4_address
,
username
=
'
ubuntu
'
,
ssh_key
=
'
exoscale.key
'
)
s
.
sendline
(
'
git clone ssh://git@ssh.hesge.ch:10572/jeremy.martinot/tp2_freenet_go_socket.git
'
)
print
(
"
git cloned
"
)
s
.
prompt
()
haystack
=
s
.
before
.
decode
(
'
utf-8
'
,
'
ignore
'
)
...
...
@@ -62,19 +76,6 @@ try:
s
.
logout
()
s
=
pxssh
.
pxssh
(
options
=
{
"
StrictHostKeyChecking
"
:
"
no
"
,
"
UserKnownHostsFile
"
:
"
/dev/null
"
})
s
.
login
(
swarm_slave
.
ipv4_address
,
username
=
'
ubuntu
'
,
ssh_key
=
'
swarm_key
'
)
s
.
sendline
(
join_cmd
)
s
.
prompt
()
s
.
logout
()
s
=
pxssh
.
pxssh
(
options
=
{
"
StrictHostKeyChecking
"
:
"
no
"
,
"
UserKnownHostsFile
"
:
"
/dev/null
"
})
s
.
login
(
swarm_http_slave
.
ipv4_address
,
username
=
'
ubuntu
'
,
ssh_key
=
'
swarm_key
'
)
s
.
sendline
(
join_cmd
)
s
.
prompt
()
s
.
logout
()
print
(
"
Swarm created on all nodes.
"
)
except
pxssh
.
ExceptionPxssh
as
e
:
print
(
"
pxssh failed on login.
"
)
print
(
e
)
\ No newline at end of file
This diff is collapsed.
Click to expand it.
server/exoscale.key
0 → 100644
+
49
−
0
View file @
3a52b43b
-----BEGIN OPENSSH PRIVATE KEY-----
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
vgLQ6GDXGkUAAAAIZXhvc2NhbGUBAgM=
-----END OPENSSH PRIVATE KEY-----
This diff is collapsed.
Click to expand it.
server/exoscalekey.pub
0 → 100644
+
1
−
0
View file @
3a52b43b
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDP/OlUdvFebzcQU5+otUC15ma7VF1HULGw5wCMjn55rmIF7iVW9GTg+zOtH+GP2TAtZ6ibEUS4XsFF+kFS7Cnjf5m/nw9GvHqv39boRLDPvGG01e3b7orqTBWLAc+tHB+JmPticIDmXgb8PfDEDKKrHE6UfFVP2jWHFHsXt5rI4TAhcS5PmiEjubWnl1W/rEx7r2U+mT7QXb0zcDGvRstHD53AuYSSEZ6oFaOUSygO09AlM8Jilk2CDgfkl4lb7KuE7BBdSbfqbIh+e+nLWwn0mQJR9JOgTo7remlyDXNoyOeYbCKGGcvqqBna8yOkQq3vuBJYBmgEcgqOE+pr47jCryByfN12p8MzcarThywVmII1e9lTO4OVpZYdyAROmLjnJA67ag62KkLnz0tPSN3DIsT67yqpITiuF5GmmQQS3wsshyHtNhcudPwyja2/HXEnNqtx6csmoIH95VfYbQSGc+TLlpdJAppAUzqwtEMpzh3BS/lyGwL0dR3u1HMn00KB27zrQBXWJly7tydmcHogt92x6MzFkIZ+PVozMzIQoguqghc+tTidOIdlnYSJBdHqqbb9+XmW0hywPGe+wBIGgf8hwY8Fr1uuyTzaoDJQIJtahvwG58Hy6eug1p5epNOsmzhp3vRJTBThAjcdhAqM3OpsWW83he5YlzzFX7ydjw== exoscale
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment