Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CONF
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UvA
CONF
Commits
b91005ed
Commit
b91005ed
authored
Jan 14, 2020
by
Spiros Koulouzis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
write simple deployer
parent
ea3cfc1e
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
94 additions
and
31 deletions
+94
-31
application_example_provisioned.yaml
TOSCA/application_example_provisioned.yaml
+23
-8
nodes.yaml
TOSCA/types/nodes.yaml
+1
-1
requirements.txt
drip-deployer/requirements.txt
+1
-1
ansible_service.py
drip-deployer/service/ansible_service.py
+56
-13
DRIPService.java
...er/src/main/java/nl/uva/sne/drip/service/DRIPService.java
+12
-8
CloudStormService.java
...n/java/nl/uva/sne/drip/provisioner/CloudStormService.java
+1
-0
No files found.
TOSCA/application_example_provisioned.yaml
View file @
b91005ed
...
@@ -16,28 +16,43 @@ topology_template:
...
@@ -16,28 +16,43 @@ topology_template:
user_key_pair
:
user_key_pair
:
protocol
:
"
ssh"
protocol
:
"
ssh"
keys
:
keys
:
public_key
:
"
c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDVnlpOVNZWitKTnp0ZG9maUM5WXI4RkhHZWJDdHdPUGl0bTFXVmNTL1pPM05tQXhXbXg1RGRDMUI4MU5GZEVWZEt2Nng2N0diSjI2SEplREhIMU9pMmt3aExDQzM5R0dZNmxPSjh4U0hKMjFJVXVydTRCaGk5STNGSlZ0Q1o0ckhIUGsvcjhkaQ1BrNjc1SllkSERFN0ZUbWpUN0lnOGptdzk0dThYZFpRPT0gYXV0byBnZW5lcmF0ZWQgdXNlciBhY2NlZXMga2V5cwo="
public_key
:
"
c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDVnlpOVNZWitKTnp0ZG9maUM5WXI4RkhHZWJDdHdPUGl0bTFXVmNTL1pPM05tQXhXbXg1RGRDMUI4MU5GZEVWZEt2Nng2N0diSjI2SEplREhIMU9pMmt3aExDQzM5R0dZNmxPSjh4U0hKMjFJVXVydTRCaGk5STNGSlZ0Q1o0ckhIUGsvcjhka
UlC
Q1BrNjc1SllkSERFN0ZUbWpUN0lnOGptdzk0dThYZFpRPT0gYXV0byBnZW5lcmF0ZWQgdXNlciBhY2NlZXMga2V5cwo="
private_key
:
"
LS0tLS1CRUdJTiBSU0EgUFJJVk
UkzRkpWdENaNHJISFBrL3I4ZGlJQkNQazY3NUpZZEhERTdGVG1qVDdJZzhqbXc5NHU4WGRaUUlEQVFBQgpBb0dBYXVhazV6SnMzVXpodlcwL0lwZUMzV3pwdVpxUlZjSVRHRE5uM1FPdWxtWnJjVDU2VVZEVC9pMTQvOTRTCm5VMG04MTNnQnNwNGdVK1NJMnI0ZkJsakN2RjNEYU9KN1VCUTR5OGpEbW5aUGdrK2ljTUQ2dC9SYnNLZzNPRjgKZ0pFeVN3NFF6UGtTZEJ3Z0JIUnZ3bnA4Z1BtUGxmYWR
RCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
private_key
:
"
LS0tLS1CRUdJTiBSU0EgUFJJVk
FURSBLRVktLS0tLQpNSUlDV3dJQkFBS0JnUUNWeWk5U1laK0pOenRkb2ZpQzlZcjhGSEdlYkN0d09QaXRtMVdWY1MvWk8zTm1BeFdtCng1RGRDMUI4MU5GZEVWZEt2Nng2N0diSjI2SEplREhIMU9pMmt3aExDQzM5R0dZNmxPSjh4U0hKMjFJVXVydTQKQmhpOUkzRkpWdENaNHJISFBrL3I4ZGlJQkNQazY3NUpZZEhERTdGVG1qVDdJZzhqbXc5NHU4WGRaUUlEQVFBQgpBb0dBYXVhazV6SnMzVXpodlcwL0lwZUMzV3pwdVpxUlZjSVRHRE5uM1FPdWxtWnJjVDU2VVZEVC9pMTQvOTRTCm5VMG04MTNnQnNwNGdVK1NJMnI0ZkJsakN2RjNEYU9KN1VCUTR5OGpEbW5aUGdrK2ljTUQ2dC9SYnNLZzNPRjgKZ0pFeVN3NFF6UGtTZEJ3Z0JIUnZ3bnA4Z1BtUGxmYWRlTHBNdGY0ZEc1d2VabkVDUVFEVUMzTXpmTVRyMWZmYwozMWlNa3JDQ3pSVE5BZ2lxc010MmJsUE5LVEM3U1ZTYURVcUpVOGwrVFJUR1NEOEJqZGxwelFOMVNTNEpYWnJ1CnAzQTlYOWxyQWtFQXROY1BWcUhZalpyOXU0REI3N01TRUVTZDFtWk43c1RqdFIwNzQrOVhZNWxzREx5UGNnWC8KSTF5WnlFMm5MN3VzUGNIUHhWdjhtMElTb1dZZWQ5SElid0pBQzBRWWVOSFdQSmwvczlLQ0IrWDdUdGZLbFNIWQppQWtncGtneVY2SXFucWpFdi9LWTFUY0lhNWQ0MVJnZGtOMlNnWmFNNm54YTM5Q0RYTTYwbmU0cnhRSkFFVTg0CmY2RlVPaEdvMGNhOFNYWkpkMWNxQ0hpWVl3OWpnRldCQXd0SXdSYlJXZEsrcERwZ3RvREprM3VqVWhWVG9rR24KNG9zd2ZhZndZcFNFdkJGUGJ3SkFYeGlVcWpqbFA3eDVKMjhLeDZ6VmdDNk9mcStiQk5PYjVGYzkxbFZ6b3VHbwpFQW8wMkRHZ1l6UlZpT3MxUXN2czNSMUFiRHliNUY0WndNb0hFTWpwZmc9PQotLS0tLUVO
RCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
public_ip
:
"
XXX.XXX.XXX.XXX
"
public_ip
:
"
192.168.5.5
"
role
:
"
master"
role
:
"
master"
node_type
:
"
XOLarge"
node_type
:
"
XOLarge"
root_key_pair
:
root_key_pair
:
protocol
:
"
ssh"
protocol
:
"
ssh"
keys
:
keys
:
public_key
:
"
c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJDWmRRN2JvQ05VNkhWTndRPT0ga2V5UGFpci1iNWUxYTRjMC01ZjA5LTQyMGMtODQ1Yi04YTIyYmJjOWUxMGIK"
public_key
:
"
c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJ
BQUFBZ1FDQ1dOLzN2VWg1a3h4QzZwSWZ4blFhN1d1ZllKZW5rMG5MSmIxRkFNaTdIMzhNVWJwSkE3UERwck9SbGhiTEU5ZVVsY1MwakE3Qmp1NXdsVkxlWi8rSjIzK2Z2UHdvb2FIQ0kvVXNiZ3ZFc05sZVhwdmxodEtCalBnVlF3b0Y3TjdmQmFaSFdYVWZLWHZpSHVENDRWekp1YmdVYTJ
DWmRRN2JvQ05VNkhWTndRPT0ga2V5UGFpci1iNWUxYTRjMC01ZjA5LTQyMGMtODQ1Yi04YTIyYmJjOWUxMGIK"
private_key
:
"
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNDV04vM3ZVaDVreHhDNnBJZnhuUWE3V3VmWUplbmswbkxKYjFGQU1pN0gzOE1VYnBKCkE3UERwck9SbGhiTEU5ZVVsY1MwakE3Qmp1NXdsVkxlWi8rSjIzK2Z2UHdvb2FIQ0kvVXNiZ3ZFc05sZVhwdmw
Q5ODF3dTNlTFB1WnBpWjNKCk93am1TR0pMQWtFQXFQWFJUMzVlU2kzQXBQRFlWQllYZnQ0NlByYWVHOGNSdkpTMFhYSS9vZWhuYmxZRngwZGsKWVQrUjcwajBSQk1TQ0YrVVdSaUlKdlVRR1lXSTBTa29vd0pCQUo0Slo1aXRwNGRtNzUxZlF5K2JsUEp6MjZzUQ
TlljZkN3R2NubGIrNnVWdQplY2R6dHRianBrbjBzTXdmdGwvL3kyNXl2L3JSdlpmWHRCMzUvNW9ZNUdrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
private_key
:
"
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNDV04vM3ZVaDVreHhDNnBJZnhuUWE3V3VmWUplbmswbkxKYjFGQU1pN0gzOE1VYnBKCkE3UERwck9SbGhiTEU5ZVVsY1MwakE3Qmp1NXdsVkxlWi8rSjIzK2Z2UHdvb2FIQ0kvVXNiZ3ZFc05sZVhwdmw
KaHRLQmpQZ1ZRd29GN043ZkJhWkhXWFVmS1h2aUh1RDQ0VnpKdWJnVWEyQ1pkUTdib0NOVTZIVk53UUlEQVFBQgpBb0dBYTI5WGdybDN3QVQ1MlVuQUVRS2dkZ1ZVbkhPZjdCWWhUNWlXalFaZGJLWkVNR0k0ZWEvY2ZobXJqZ2E0CldML05BNElDTkpId0k2ZHNiazBWbFkwQWVIRHdCMGRENEhGbnZNdHpYYVpacE8wN3NjVDVwVjZISmlvL2pQazYKY0UyOEVzblR2SXh5eTBqRk5VdmxteFNVazlDWDNneDNDT3lFemI1NFpjdkRmdFVDUVFERmZ0Vi9UUHlyelN0TApvaG8xUlVRa0VZRnY3aG9SUkVIUUg4Z1RlZkJBMlBCc1phbGEzWUFKV0lhUmU4UjQ5ODF3dTNlTFB1WnBpWjNKCk93am1TR0pMQWtFQXFQWFJUMzVlU2kzQXBQRFlWQllYZnQ0NlByYWVHOGNSdkpTMFhYSS9vZWhuYmxZRngwZGsKWVQrUjcwajBSQk1TQ0YrVVdSaUlKdlVRR1lXSTBTa29vd0pCQUo0Slo1aXRwNGRtNzUxZlF5K2JsUEp6MjZzUQowbVU4eEpsaHhUM29sdHVkZlk2UUwxd1o0V29aSDkzdE40UkJiM0VsWW56WHdaTjBYd0gzTHFEd0RVOENRQ1dGCmdaZ2Z2aHpIRUZNUTBWbkxGaWlzZlU3VUMwU3I3cnBzWTZtazU1Q3pKZFVROFhPUjNTN2ppU3NVam5wWHFkZUcKTWxHZTZ3Mkx1cW1RU0JQN0NmVUNRQzU3K2o1YVV1M0tIYUJpczVJdzhnVnhlVlcz
TlljZkN3R2NubGIrNnVWdQplY2R6dHRianBrbjBzTXdmdGwvL3kyNXl2L3JSdlpmWHRCMzUvNW9ZNUdrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
host_name
:
"
vm
1
"
host_name
:
"
vm
0
"
compute_1
:
compute_1
:
properties
:
properties
:
disk_size
:
"
50000
MB"
disk_size
:
"
50000
MB"
mem_size
:
"
6000
MB"
mem_size
:
"
6000
MB"
num_cores
:
2
num_cores
:
2
.0
os
:
"
Ubuntu
18.04"
os
:
"
Ubuntu
18.04"
user_name
:
"
vm_user"
user_name
:
"
vm_user"
interfaces
:
interfaces
:
Standard
:
Standard
:
create
:
"
dumy.yaml"
create
:
"
dumy.yaml"
type
:
"
tosca.nodes.ARTICONF.VM.Compute"
type
:
"
tosca.nodes.ARTICONF.VM.Compute"
attributes
:
user_key_pair
:
protocol
:
"
ssh"
keys
:
public_key
:
"
c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDVnlpOVNZWitKTnp0ZG9maUM5WXI4RkhHZWJDdHdPUGl0bTFXVmNTL1pPM05tQXhXbXg1RGRDMUI4MU5GZEVWZEt2Nng2N0diSjI2SEplREhIMU9pMmt3aExDQzM5R0dZNmxPSjh4U0hKMjFJVXVydTRCaGk5STNGSlZ0Q1o0ckhIUGsvcjhkaUlCQ1BrNjc1SllkSERFN0ZUbWpUN0lnOGptdzk0dThYZFpRPT0gYXV0byBnZW5lcmF0ZWQgdXNlciBhY2NlZXMga2V5cwo="
private_key
:
"
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDV3dJQkFBS0JnUUNWeWk5U1laK0pOenRkb2ZpQzlZcjhGSEdlYkN0d09QaXRtMVdWY1MvWk8zTm1BeFdtCng1RGRDMUI4MU5GZEVWZEt2Nng2N0diSjI2SEplREhIMU9pMmt3aExDQzM5R0dZNmxPSjh4U0hKMjFJVXVydTQKQmhpOUkzRkpWdENaNHJISFBrL3I4ZGlJQkNQazY3NUpZZEhERTdGVG1qVDdJZzhqbXc5NHU4WGRaUUlEQVFBQgpBb0dBYXVhazV6SnMzVXpodlcwL0lwZUMzV3pwdVpxUlZjSVRHRE5uM1FPdWxtWnJjVDU2VVZEVC9pMTQvOTRTCm5VMG04MTNnQnNwNGdVK1NJMnI0ZkJsakN2RjNEYU9KN1VCUTR5OGpEbW5aUGdrK2ljTUQ2dC9SYnNLZzNPRjgKZ0pFeVN3NFF6UGtTZEJ3Z0JIUnZ3bnA4Z1BtUGxmYWRlTHBNdGY0ZEc1d2VabkVDUVFEVUMzTXpmTVRyMWZmYwozMWlNa3JDQ3pSVE5BZ2lxc010MmJsUE5LVEM3U1ZTYURVcUpVOGwrVFJUR1NEOEJqZGxwelFOMVNTNEpYWnJ1CnAzQTlYOWxyQWtFQXROY1BWcUhZalpyOXU0REI3N01TRUVTZDFtWk43c1RqdFIwNzQrOVhZNWxzREx5UGNnWC8KSTF5WnlFMm5MN3VzUGNIUHhWdjhtMElTb1dZZWQ5SElid0pBQzBRWWVOSFdQSmwvczlLQ0IrWDdUdGZLbFNIWQppQWtncGtneVY2SXFucWpFdi9LWTFUY0lhNWQ0MVJnZGtOMlNnWmFNNm54YTM5Q0RYTTYwbmU0cnhRSkFFVTg0CmY2RlVPaEdvMGNhOFNYWkpkMWNxQ0hpWVl3OWpnRldCQXd0SXdSYlJXZEsrcERwZ3RvREprM3VqVWhWVG9rR24KNG9zd2ZhZndZcFNFdkJGUGJ3SkFYeGlVcWpqbFA3eDVKMjhLeDZ6VmdDNk9mcStiQk5PYjVGYzkxbFZ6b3VHbwpFQW8wMkRHZ1l6UlZpT3MxUXN2czNSMUFiRHliNUY0WndNb0hFTWpwZmc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
public_ip
:
"
192.168.5.10"
role
:
"
worker"
node_type
:
"
XOLarge"
root_key_pair
:
protocol
:
"
ssh"
keys
:
public_key
:
"
c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFBZ1FDQ1dOLzN2VWg1a3h4QzZwSWZ4blFhN1d1ZllKZW5rMG5MSmIxRkFNaTdIMzhNVWJwSkE3UERwck9SbGhiTEU5ZVVsY1MwakE3Qmp1NXdsVkxlWi8rSjIzK2Z2UHdvb2FIQ0kvVXNiZ3ZFc05sZVhwdmxodEtCalBnVlF3b0Y3TjdmQmFaSFdYVWZLWHZpSHVENDRWekp1YmdVYTJDWmRRN2JvQ05VNkhWTndRPT0ga2V5UGFpci1iNWUxYTRjMC01ZjA5LTQyMGMtODQ1Yi04YTIyYmJjOWUxMGIK"
private_key
:
"
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlDWEFJQkFBS0JnUUNDV04vM3ZVaDVreHhDNnBJZnhuUWE3V3VmWUplbmswbkxKYjFGQU1pN0gzOE1VYnBKCkE3UERwck9SbGhiTEU5ZVVsY1MwakE3Qmp1NXdsVkxlWi8rSjIzK2Z2UHdvb2FIQ0kvVXNiZ3ZFc05sZVhwdmwKaHRLQmpQZ1ZRd29GN043ZkJhWkhXWFVmS1h2aUh1RDQ0VnpKdWJnVWEyQ1pkUTdib0NOVTZIVk53UUlEQVFBQgpBb0dBYTI5WGdybDN3QVQ1MlVuQUVRS2dkZ1ZVbkhPZjdCWWhUNWlXalFaZGJLWkVNR0k0ZWEvY2ZobXJqZ2E0CldML05BNElDTkpId0k2ZHNiazBWbFkwQWVIRHdCMGRENEhGbnZNdHpYYVpacE8wN3NjVDVwVjZISmlvL2pQazYKY0UyOEVzblR2SXh5eTBqRk5VdmxteFNVazlDWDNneDNDT3lFemI1NFpjdkRmdFVDUVFERmZ0Vi9UUHlyelN0TApvaG8xUlVRa0VZRnY3aG9SUkVIUUg4Z1RlZkJBMlBCc1phbGEzWUFKV0lhUmU4UjQ5ODF3dTNlTFB1WnBpWjNKCk93am1TR0pMQWtFQXFQWFJUMzVlU2kzQXBQRFlWQllYZnQ0NlByYWVHOGNSdkpTMFhYSS9vZWhuYmxZRngwZGsKWVQrUjcwajBSQk1TQ0YrVVdSaUlKdlVRR1lXSTBTa29vd0pCQUo0Slo1aXRwNGRtNzUxZlF5K2JsUEp6MjZzUQowbVU4eEpsaHhUM29sdHVkZlk2UUwxd1o0V29aSDkzdE40UkJiM0VsWW56WHdaTjBYd0gzTHFEd0RVOENRQ1dGCmdaZ2Z2aHpIRUZNUTBWbkxGaWlzZlU3VUMwU3I3cnBzWTZtazU1Q3pKZFVROFhPUjNTN2ppU3NVam5wWHFkZUcKTWxHZTZ3Mkx1cW1RU0JQN0NmVUNRQzU3K2o1YVV1M0tIYUJpczVJdzhnVnhlVlczTlljZkN3R2NubGIrNnVWdQplY2R6dHRianBrbjBzTXdmdGwvL3kyNXl2L3JSdlpmWHRCMzUvNW9ZNUdrPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="
host_name
:
"
vm1"
kubernetes
:
kubernetes
:
properties
:
properties
:
min_masters_num
:
1
min_masters_num
:
1
...
@@ -120,7 +135,7 @@ topology_template:
...
@@ -120,7 +135,7 @@ topology_template:
credential
:
credential
:
cloud_provider_name
:
"
ExoGENI"
cloud_provider_name
:
"
ExoGENI"
keys
:
keys
:
keystore
:
"
/u3+7QAAAAIAAAABAAAAAQAEZ2VuaQAAAWt5eo+WAAAFAzCCBP8wDgYKKwYBBAEqAhEBAQUABIIE6+QI4jVyvo+477on8OaF0nwbPvG5QFgYpQDTzX0RDKG5egGch+rxMOHpWerYCmsS5XlHMnUBvqE6lr/H8VieuqwSH97mMwEcwvIdj52nQIuroQsTZampoxYu01
"
keystore
:
"
vDxqtcGQaEapBgwFjEUMBIGA1UEAxMLY2guZ2VuaS5uZXSCAQMwOwYDVR0lBDQwMgYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcDCAYIKwYBBQUHAwMGCCsGAQUFBwMEMAkGA1UdEwQCMAAweAYDVR0RBHEwb4EScy5rb3Vsb3V6aXNAdXZhLm5ship1cm46cHVibGljaWQ6SUROK2NoLmdlbmkubmV0K3VzZXIrc2tvdWxvMDGGLXVybjp1dWlkOjg2N2M5NmE3LWU3YTktNDY5Yi05N2RlLWZjNjYxNmIyZWE5NDANBgkqhkiG9w0BAQsFAAOCAQEAJF+4nJ2bqOBYmY9ZmkcH47WJwWHNz/KFrn5tIZ0xODEwMTcyMDU1MjdaFw0yMzEwMjIyMDU1MjdaMIGJMRQwEgYDVQQKDAtjaC5nZW5pLm5ldDESMBAGA1UECwwJYXV0aG9yaXR5MQswCQYDVQQLDAJtYTEtMCsGA1UEAwwkMzFjMG
"
token
:
"
password"
token
:
"
password"
token_type
:
"
password"
token_type
:
"
password"
user
:
"
user"
user
:
"
user"
...
...
TOSCA/types/nodes.yaml
View file @
b91005ed
...
@@ -122,7 +122,7 @@ node_types:
...
@@ -122,7 +122,7 @@ node_types:
required
:
false
required
:
false
description
:
The coordinates of the domain
description
:
The coordinates of the domain
attributes
:
attributes
:
credential
:
ssh_keys
:
type
:
tosca.datatypes.ARTICONF.Credential
type
:
tosca.datatypes.ARTICONF.Credential
required
:
false
required
:
false
status
:
status
:
...
...
drip-deployer/requirements.txt
View file @
b91005ed
pika==1.1.0
pika==1.1.0
names==0.3.0
names==0.3.0
networkx==2.4
networkx==2.4
requests=2.22.0
ansible==2.9.2
ansible==2.9.2
\ No newline at end of file
drip-deployer/service/ansible_service.py
View file @
b91005ed
def
write_invenory_file
(
vms
):
import
base64
try
:
import
os
tosca_folder_path
=
os
.
path
.
join
(
tempfile
.
gettempdir
(),
"ansible_files"
,
str
(
input_current_milli_time
()))
import
tempfile
except
NameError
:
import
shutil
import
sys
from
stat
import
S_IREAD
millis
=
int
(
round
(
time
.
time
()
*
1000
))
import
requests
tosca_folder_path
=
os
.
path
.
dirname
(
os
.
path
.
abspath
(
sys
.
argv
[
0
]))
+
os
.
path
.
join
(
tempfile
.
gettempdir
(),
"planner_files"
,
str
(
millis
))
pass
def
write_ansible_files
(
vms
,
interfaces
,
tmp_path
):
workers
=
[]
k8_master
=
None
ansible_ssh_private_key_file_path
=
None
ansible_ssh_user
=
None
for
vm_name
in
vms
:
attributes
=
vms
[
vm_name
][
'attributes'
]
role
=
attributes
[
'role'
]
if
role
==
'master'
:
k8_master
=
attributes
[
'public_ip'
]
else
:
workers
.
append
(
attributes
[
'public_ip'
])
if
ansible_ssh_private_key_file_path
is
None
:
ansible_ssh_private_key_encoded
=
attributes
[
'user_key_pair'
][
'keys'
][
'private_key'
]
ansible_ssh_private_key
=
base64
.
b64decode
(
ansible_ssh_private_key_encoded
)
ansible_ssh_private_key_file_path
=
tmp_path
+
"/id_rsa"
def
run
(
interfaces
,
vms
):
with
open
(
ansible_ssh_private_key_file_path
,
"w"
)
as
ansible_ssh_private_key_file
:
write_invenory_file
(
vms
)
print
(
ansible_ssh_private_key
,
file
=
ansible_ssh_private_key_file
)
return
None
os
.
chmod
(
ansible_ssh_private_key_file_path
,
S_IREAD
)
\ No newline at end of file
if
ansible_ssh_user
==
None
:
ansible_ssh_user
=
vms
[
vm_name
][
'properties'
][
'user_name'
]
k8s_hosts_path
=
tmp_path
+
"/k8s_hosts"
with
open
(
k8s_hosts_path
,
"w"
)
as
k8s_hosts_file
:
print
(
'[k8-master]'
,
file
=
k8s_hosts_file
)
print
(
k8_master
,
file
=
k8s_hosts_file
)
print
(
'
\n
'
,
file
=
k8s_hosts_file
)
print
(
'[worker]'
,
file
=
k8s_hosts_file
)
for
worker
in
workers
:
print
(
worker
,
file
=
k8s_hosts_file
)
print
(
'
\n
'
,
file
=
k8s_hosts_file
)
print
(
'[cluster: children]'
,
file
=
k8s_hosts_file
)
print
(
'k8 - master'
,
file
=
k8s_hosts_file
)
print
(
'worker'
,
file
=
k8s_hosts_file
)
print
(
'
\n
'
,
file
=
k8s_hosts_file
)
print
(
'[cluster:vars]'
,
file
=
k8s_hosts_file
)
print
(
'ansible_ssh_private_key_file='
+
ansible_ssh_private_key_file_path
,
file
=
k8s_hosts_file
)
print
(
'ansible_ssh_common_args=
\'
-o StrictHostKeyChecking=no
\'
'
,
file
=
k8s_hosts_file
)
print
(
'ansible_ssh_user='
+
ansible_ssh_user
,
file
=
k8s_hosts_file
)
image_url
=
interfaces
[
'Standard'
][
'create'
][
'inputs'
][
'playbook'
]
r
=
requests
.
get
(
image_url
)
with
open
(
tmp_path
+
"/playbook.yml"
,
'wb'
)
as
f
:
f
.
write
(
r
.
content
)
return
tmp_path
def
run
(
interfaces
,
vms
):
tmp_path
=
tempfile
.
mkdtemp
()
write_ansible_files
(
vms
,
interfaces
,
tmp_path
)
return
tmp_path
drip-manager/src/main/java/nl/uva/sne/drip/service/DRIPService.java
View file @
b91005ed
...
@@ -115,16 +115,12 @@ public class DRIPService {
...
@@ -115,16 +115,12 @@ public class DRIPService {
}
}
public
String
plan
(
String
id
)
throws
ApiException
,
Exception
{
public
String
plan
(
String
id
)
throws
ApiException
,
Exception
{
String
ymlToscaTemplate
=
toscaTemplateService
.
findByID
(
id
);
ToscaTemplate
toscaTemplate
=
initExecution
(
id
);
ToscaTemplate
toscaTemplate
=
toscaTemplateService
.
getYaml2ToscaTemplate
(
ymlToscaTemplate
);
helper
.
uploadToscaTemplate
(
toscaTemplate
);
return
execute
(
toscaTemplate
);
return
execute
(
toscaTemplate
);
}
}
public
String
provision
(
String
id
)
throws
JsonProcessingException
,
NotFoundException
,
IOException
,
Exception
{
public
String
provision
(
String
id
)
throws
JsonProcessingException
,
NotFoundException
,
IOException
,
Exception
{
String
ymlToscaTemplate
=
toscaTemplateService
.
findByID
(
id
);
ToscaTemplate
toscaTemplate
=
initExecution
(
id
);
ToscaTemplate
toscaTemplate
=
toscaTemplateService
.
getYaml2ToscaTemplate
(
ymlToscaTemplate
);
helper
.
uploadToscaTemplate
(
toscaTemplate
);
toscaTemplate
=
addCredentials
(
toscaTemplate
);
toscaTemplate
=
addCredentials
(
toscaTemplate
);
toscaTemplate
=
setProvisionOperation
(
toscaTemplate
,
OPERATION_PROVISION
);
toscaTemplate
=
setProvisionOperation
(
toscaTemplate
,
OPERATION_PROVISION
);
return
execute
(
toscaTemplate
);
return
execute
(
toscaTemplate
);
...
@@ -157,8 +153,16 @@ public class DRIPService {
...
@@ -157,8 +153,16 @@ public class DRIPService {
}
}
}
}
public
String
deploy
(
String
id
)
{
public
String
deploy
(
String
id
)
throws
JsonProcessingException
,
NotFoundException
,
IOException
,
ApiException
,
Exception
{
throw
new
UnsupportedOperationException
(
"Not supported yet."
);
//To change body of generated methods, choose Tools | Templates.
ToscaTemplate
toscaTemplate
=
initExecution
(
id
);
return
execute
(
toscaTemplate
);
}
private
ToscaTemplate
initExecution
(
String
id
)
throws
JsonProcessingException
,
NotFoundException
,
IOException
,
ApiException
{
String
ymlToscaTemplate
=
toscaTemplateService
.
findByID
(
id
);
ToscaTemplate
toscaTemplate
=
toscaTemplateService
.
getYaml2ToscaTemplate
(
ymlToscaTemplate
);
helper
.
uploadToscaTemplate
(
toscaTemplate
);
return
toscaTemplate
;
}
}
}
}
drip-provisioner/src/main/java/nl/uva/sne/drip/provisioner/CloudStormService.java
View file @
b91005ed
...
@@ -342,6 +342,7 @@ class CloudStormService {
...
@@ -342,6 +342,7 @@ class CloudStormService {
}
}
vmAttributes
.
put
(
"node_type"
,
vm
.
getNodeType
());
vmAttributes
.
put
(
"node_type"
,
vm
.
getNodeType
());
vmAttributes
.
put
(
"host_name"
,
vm
.
getName
());
vmAttributes
.
put
(
"host_name"
,
vm
.
getName
());
vmAttributes
.
put
(
"root_key_pair"
,
rootKeyPairCredential
);
vmAttributes
.
put
(
"root_key_pair"
,
rootKeyPairCredential
);
vmAttributes
.
put
(
"user_key_pair"
,
userKeyPairCredential
);
vmAttributes
.
put
(
"user_key_pair"
,
userKeyPairCredential
);
vmTemplateMap
.
getNodeTemplate
().
setAttributes
(
vmAttributes
);
vmTemplateMap
.
getNodeTemplate
().
setAttributes
(
vmAttributes
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment