Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Paul Graydon
slapos.core
Commits
4a067ef9
Commit
4a067ef9
authored
Apr 24, 2013
by
Marco Mariani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
moved old entry point for 'node register'
parent
b2608dbb
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
115 additions
and
83 deletions
+115
-83
slapos/cli_legacy/entry.py
slapos/cli_legacy/entry.py
+1
-1
slapos/cli_legacy/register.py
slapos/cli_legacy/register.py
+109
-0
slapos/register/register.py
slapos/register/register.py
+5
-82
No files found.
slapos/cli_legacy/entry.py
View file @
4a067ef9
...
@@ -43,7 +43,7 @@ from slapos.grid.slapgrid import runSoftwareRelease as software
...
@@ -43,7 +43,7 @@ from slapos.grid.slapgrid import runSoftwareRelease as software
from
slapos.grid.slapgrid
import
runUsageReport
as
report
from
slapos.grid.slapgrid
import
runUsageReport
as
report
from
slapos.grid.svcbackend
import
supervisord
from
slapos.grid.svcbackend
import
supervisord
from
slapos.grid.svcbackend
import
supervisorctl
from
slapos.grid.svcbackend
import
supervisorctl
from
slapos.
register
.register
import
main
as
register
from
slapos.
cli_legacy
.register
import
main
as
register
from
slapos.version
import
version
from
slapos.version
import
version
# Note: this whole file is a hack. We should better try dedicated library
# Note: this whole file is a hack. We should better try dedicated library
...
...
slapos/cli_legacy/register.py
0 → 100644
View file @
4a067ef9
# -*- coding: utf-8 -*-
# vim: set et sts=2:
##############################################################################
#
# Copyright (c) 2012 Vifib SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly advised to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import
argparse
import
logging
import
sys
from
slapos.register.register
import
do_register
,
RegisterConfig
def
main
():
"Run default configuration."
ap
=
argparse
.
ArgumentParser
(
usage
=
'usage: slapos node %s NODE_NAME [options]'
%
sys
.
argv
[
0
])
ap
.
add_argument
(
'node_name'
,
help
=
'Name of the node'
)
ap
.
add_argument
(
'--interface-name'
,
help
=
'Interface name to access internet'
,
default
=
'eth0'
)
ap
.
add_argument
(
'--master-url'
,
help
=
'URL of SlapOS master'
,
default
=
'https://slap.vifib.com'
)
ap
.
add_argument
(
'--master-url-web'
,
help
=
'URL of SlapOS Master webservice to register certificates'
,
default
=
'https://www.slapos.org'
)
ap
.
add_argument
(
'--partition-number'
,
help
=
'Number of partition on computer'
,
default
=
'10'
,
type
=
int
)
ap
.
add_argument
(
'--ipv4-local-network'
,
help
=
'Base of ipv4 local network'
,
default
=
'10.0.0.0/16'
)
ap
.
add_argument
(
'--ipv6-interface'
,
help
=
'Interface name to get ipv6'
,
default
=
''
)
ap
.
add_argument
(
'--login'
,
help
=
'User login on SlapOS Master webservice'
)
ap
.
add_argument
(
'--password'
,
help
=
'User password on SlapOs Master webservice'
)
ap
.
add_argument
(
'-t'
,
'--create-tap'
,
help
=
'Will trigger creation of one virtual "tap" interface per '
'Partition and attach it to primary interface. Requires '
'primary interface to be a bridge. defaults to false. '
'Needed to host virtual machines.'
,
default
=
False
,
action
=
'store_true'
)
ap
.
add_argument
(
'-n'
,
'--dry-run'
,
help
=
'Simulate the execution steps'
,
default
=
False
,
action
=
'store_true'
)
options
=
ap
.
parse_args
()
if
options
.
password
and
not
options
.
login
:
ap
.
error
(
'Please enter your login with your password'
)
logger
=
logging
.
getLogger
(
'Register'
)
handler
=
logging
.
StreamHandler
()
logger
.
setLevel
(
logging
.
DEBUG
)
handler
.
setLevel
(
logging
.
INFO
)
handler
.
setFormatter
(
logging
.
Formatter
(
'%(levelname)s - %(message)s'
))
logger
.
addHandler
(
handler
)
try
:
config
=
RegisterConfig
(
logger
=
logger
)
config
.
setConfig
(
options
)
return_code
=
do_register
(
config
)
except
SystemExit
,
err
:
# Catch exception raised by optparse
return_code
=
err
sys
.
exit
(
return_code
)
slapos/register/register.py
View file @
4a067ef9
...
@@ -31,21 +31,18 @@
...
@@ -31,21 +31,18 @@
# XXX does not create 'log' directory (required by slap2 entry point)
# XXX does not create 'log' directory (required by slap2 entry point)
import
argparse
import
ConfigParser
import
ConfigParser
import
getpass
import
getpass
import
logging
import
os
import
os
import
shutil
import
shutil
import
stat
import
stat
import
sys
import
tempfile
import
tempfile
import
urllib2
import
urllib2
def
authenticate
(
request
,
login
,
password
):
def
authenticate
(
request
,
login
,
password
):
auth
=
'%s:%s'
%
(
login
,
password
)
auth
=
'%s:%s'
%
(
login
,
password
)
authheader
=
'Basic %s'
%
auth
.
encode
(
'base64'
).
rstrip
()
authheader
=
'Basic %s'
%
auth
.
encode
(
'base64'
).
rstrip
()
request
.
add_header
(
'Authorization'
,
authheader
)
request
.
add_header
(
'Authorization'
,
authheader
)
...
@@ -96,7 +93,8 @@ def save_former_config(config):
...
@@ -96,7 +93,8 @@ def save_former_config(config):
saved
=
saved
[:
-
1
]
+
str
(
int
(
saved
[
-
1
])
+
1
)
saved
=
saved
[:
-
1
]
+
str
(
int
(
saved
[
-
1
])
+
1
)
else
:
else
:
saved
+=
'.1'
saved
+=
'.1'
else
:
break
else
:
break
config
.
logger
.
info
(
"Former slapos configuration detected in %s moving to %s"
%
(
former
,
saved
))
config
.
logger
.
info
(
"Former slapos configuration detected in %s moving to %s"
%
(
former
,
saved
))
shutil
.
move
(
former
,
saved
)
shutil
.
move
(
former
,
saved
)
...
@@ -134,7 +132,7 @@ def slapconfig(config):
...
@@ -134,7 +132,7 @@ def slapconfig(config):
if
not
dry_run
:
if
not
dry_run
:
os
.
mkdir
(
slap_conf_dir
,
0o711
)
os
.
mkdir
(
slap_conf_dir
,
0o711
)
user_certificate_repository_path
=
os
.
path
.
join
(
slap_conf_dir
,
'ssl'
)
user_certificate_repository_path
=
os
.
path
.
join
(
slap_conf_dir
,
'ssl'
)
if
not
os
.
path
.
exists
(
user_certificate_repository_path
):
if
not
os
.
path
.
exists
(
user_certificate_repository_path
):
config
.
logger
.
info
(
"Creating directory: %s"
%
user_certificate_repository_path
)
config
.
logger
.
info
(
"Creating directory: %s"
%
user_certificate_repository_path
)
if
not
dry_run
:
if
not
dry_run
:
...
@@ -220,7 +218,7 @@ class RegisterConfig(object):
...
@@ -220,7 +218,7 @@ class RegisterConfig(object):
self
.
logger
.
debug
(
"Number of partition: %s"
%
self
.
partition_number
)
self
.
logger
.
debug
(
"Number of partition: %s"
%
self
.
partition_number
)
self
.
logger
.
info
(
"Using Interface %s"
%
self
.
interface_name
)
self
.
logger
.
info
(
"Using Interface %s"
%
self
.
interface_name
)
self
.
logger
.
debug
(
"Ipv4 sub network: %s"
%
self
.
ipv4_local_network
)
self
.
logger
.
debug
(
"Ipv4 sub network: %s"
%
self
.
ipv4_local_network
)
self
.
logger
.
debug
(
"Ipv6 Interface: %s"
%
self
.
ipv6_interface
)
self
.
logger
.
debug
(
"Ipv6 Interface: %s"
%
self
.
ipv6_interface
)
def
gen_auth
(
config
):
def
gen_auth
(
config
):
...
@@ -263,78 +261,3 @@ def do_register(config):
...
@@ -263,78 +261,3 @@ def do_register(config):
print
"Node has successfully been configured as %s."
%
COMP
print
"Node has successfully been configured as %s."
%
COMP
return
0
return
0
def
main
():
"Run default configuration."
ap
=
argparse
.
ArgumentParser
(
usage
=
'usage: slapos node %s NODE_NAME [options]'
%
sys
.
argv
[
0
])
ap
.
add_argument
(
'node_name'
,
help
=
'Name of the node'
)
ap
.
add_argument
(
'--interface-name'
,
help
=
'Interface name to access internet'
,
default
=
'eth0'
)
ap
.
add_argument
(
'--master-url'
,
help
=
'URL of SlapOS master'
,
default
=
'https://slap.vifib.com'
)
ap
.
add_argument
(
'--master-url-web'
,
help
=
'URL of SlapOS Master webservice to register certificates'
,
default
=
'https://www.slapos.org'
)
ap
.
add_argument
(
'--partition-number'
,
help
=
'Number of partition on computer'
,
default
=
'10'
,
type
=
int
)
ap
.
add_argument
(
'--ipv4-local-network'
,
help
=
'Base of ipv4 local network'
,
default
=
'10.0.0.0/16'
)
ap
.
add_argument
(
'--ipv6-interface'
,
help
=
'Interface name to get ipv6'
,
default
=
''
)
ap
.
add_argument
(
'--login'
,
help
=
'User login on SlapOS Master webservice'
)
ap
.
add_argument
(
'--password'
,
help
=
'User password on SlapOs Master webservice'
)
ap
.
add_argument
(
'-t'
,
'--create-tap'
,
help
=
'Will trigger creation of one virtual "tap" interface per '
'Partition and attach it to primary interface. Requires '
'primary interface to be a bridge. defaults to false. '
'Needed to host virtual machines.'
,
default
=
False
,
action
=
'store_true'
)
ap
.
add_argument
(
'-n'
,
'--dry-run'
,
help
=
'Simulate the execution steps'
,
default
=
False
,
action
=
'store_true'
)
options
=
ap
.
parse_args
()
if
options
.
password
and
not
options
.
login
:
ap
.
error
(
'Please enter your login with your password'
)
logger
=
logging
.
getLogger
(
'Register'
)
handler
=
logging
.
StreamHandler
()
logger
.
setLevel
(
logging
.
DEBUG
)
handler
.
setLevel
(
logging
.
INFO
)
handler
.
setFormatter
(
logging
.
Formatter
(
'%(levelname)s - %(message)s'
))
logger
.
addHandler
(
handler
)
try
:
config
=
RegisterConfig
(
logger
=
logger
)
config
.
setConfig
(
options
)
return_code
=
do_register
(
config
)
except
SystemExit
,
err
:
# Catch exception raised by optparse
return_code
=
err
sys
.
exit
(
return_code
)
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