add function: config default yaml file
[why]: easier for user to config the default yaml file
[how]: write received user infos to the defaults yaml file: ~/.config/compass-ci/default/account.yaml include: - my_email - my_name - my_uuid
Signed-off-by: Luan Shengde shdluan@163.com --- container/assign-account/get_account_info.rb | 51 +++++++++++++------- 1 file changed, 33 insertions(+), 18 deletions(-)
diff --git a/container/assign-account/get_account_info.rb b/container/assign-account/get_account_info.rb index 2f93d5b..b2d2474 100755 --- a/container/assign-account/get_account_info.rb +++ b/container/assign-account/get_account_info.rb @@ -44,6 +44,8 @@ the returned data for setup_jumper_account_info like:
=end
+require 'fileutils' + # get jumper and account info class AccountStorage ACCOUNT_DIR = '/opt/account_data/' @@ -93,35 +95,48 @@ class AccountStorage def setup_jumper_account_info account_info = read_account_info jumper_info = read_jumper_info - pub_key = @data['pub_key'] unless @data.nil? - - jumper_ip = jumper_info[0].chomp - jumper_port = jumper_info[1].chomp - account = account_info[0] - passwd = if pub_key.nil? - account_info[1] - else - 'Use pub_key to login' - end + pub_key = @data['my_ssh_pubkey'] unless @data['my_ssh_pubkey'].nil? + + login_name = account_info[0] + password = if pub_key.nil? + account_info[1] + else + 'Use pub_key to login' + end + jumper_account_info = { - 'account' => account, - 'passwd' => passwd, - 'jumper_ip' => jumper_ip, - 'jumper_port' => jumper_port + 'my_login_name' => login_name, + 'my_password' => password, + 'jumper_host' => jumper_info[0].chomp, + 'jumper_port' => jumper_info[1].chomp }
- setup_authorized_key(account, pub_key) + setup_authorized_key(login_name, pub_key) unless pub_key.nil? + setup_default_yaml(login_name) + return jumper_account_info end
- def setup_authorized_key(account, pub_key) - ssh_dir = File.join('/home/', account, '.ssh') + def setup_default_yaml(login_name) + default_yaml_dir = File.join('/home', login_name, '.config/compass-ci/defaults') + FileUtils.mkdir_p default_yaml_dir + + File.open("#{default_yaml_dir}/account.yaml", 'a') do |file| + file.puts "my_email: #{@data['my_email']}" + file.puts "my_name: #{@data['my_name']}" + file.puts "my_uuid: #{@data['my_uuid']}" + end + %x(chown -R #{login_name}:#{login_name} "/home/#{login_name}/.config") + end + + def setup_authorized_key(login_name, pub_key) + ssh_dir = File.join('/home/', login_name, '.ssh') Dir.mkdir ssh_dir, 0o700 Dir.chdir ssh_dir f = File.new('authorized_keys', 'w') f.puts pub_key f.close File.chmod 0o600, 'authorized_keys' - %x(chown -R #{account}:#{account} #{ssh_dir}) + %x(chown -R #{login_name}:#{login_name} #{ssh_dir}) end end
On Wed, Nov 04, 2020 at 03:25:35PM +0800, Luan Shengde wrote:
add function: config default yaml file
[why]: easier for user to config the default yaml file
[how]: write received user infos to the defaults yaml file:
infos -> info
~/.config/compass-ci/default/account.yaml include: - my_email
- my_name
- my_uuid
Signed-off-by: Luan Shengde shdluan@163.com
container/assign-account/get_account_info.rb | 51 +++++++++++++------- 1 file changed, 33 insertions(+), 18 deletions(-)
diff --git a/container/assign-account/get_account_info.rb b/container/assign-account/get_account_info.rb index 2f93d5b..b2d2474 100755 --- a/container/assign-account/get_account_info.rb +++ b/container/assign-account/get_account_info.rb @@ -44,6 +44,8 @@ the returned data for setup_jumper_account_info like:
=end
+require 'fileutils'
# get jumper and account info class AccountStorage ACCOUNT_DIR = '/opt/account_data/' @@ -93,35 +95,48 @@ class AccountStorage def setup_jumper_account_info account_info = read_account_info jumper_info = read_jumper_info
- pub_key = @data['pub_key'] unless @data.nil?
- jumper_ip = jumper_info[0].chomp
- jumper_port = jumper_info[1].chomp
- account = account_info[0]
- passwd = if pub_key.nil?
account_info[1]
else
'Use pub_key to login'
end
- pub_key = @data['my_ssh_pubkey'] unless @data['my_ssh_pubkey'].nil?
- login_name = account_info[0]
- password = if pub_key.nil?
account_info[1]
else
'Use pub_key to login'
end
- jumper_account_info = {
'account' => account,
'passwd' => passwd,
'jumper_ip' => jumper_ip,
'jumper_port' => jumper_port
'my_login_name' => login_name,
'my_password' => password,
'jumper_host' => jumper_info[0].chomp,
'jumper_port' => jumper_info[1].chomp
The format can be: 'my_login_name' => login_name, 'my_password' => password, 'jumper_host' => jumper_info[0].chomp, 'jumper_port' => jumper_info[1].chomp
}
- setup_authorized_key(account, pub_key)
- setup_authorized_key(login_name, pub_key) unless pub_key.nil?
- setup_default_yaml(login_name)
- return jumper_account_info end
- def setup_authorized_key(account, pub_key)
- ssh_dir = File.join('/home/', account, '.ssh')
- def setup_default_yaml(login_name)
- default_yaml_dir = File.join('/home', login_name, '.config/compass-ci/defaults')
- FileUtils.mkdir_p default_yaml_dir
- File.open("#{default_yaml_dir}/account.yaml", 'a') do |file|
file.puts "my_email: #{@data['my_email']}"
file.puts "my_name: #{@data['my_name']}"
file.puts "my_uuid: #{@data['my_uuid']}"
ditto
- end
- %x(chown -R #{login_name}:#{login_name} "/home/#{login_name}/.config")
- end
- def setup_authorized_key(login_name, pub_key)
- ssh_dir = File.join('/home/', login_name, '.ssh') Dir.mkdir ssh_dir, 0o700 Dir.chdir ssh_dir f = File.new('authorized_keys', 'w') f.puts pub_key f.close File.chmod 0o600, 'authorized_keys'
- %x(chown -R #{account}:#{account} #{ssh_dir})
- %x(chown -R #{login_name}:#{login_name} #{ssh_dir}) end
end
2.23.0
On Wed, Nov 04, 2020 at 04:50:03PM +0800, Xu Xijian wrote:
On Wed, Nov 04, 2020 at 03:25:35PM +0800, Luan Shengde wrote:
add function: config default yaml file
[why]: easier for user to config the default yaml file
[how]: write received user infos to the defaults yaml file:
infos -> info
I got it
~/.config/compass-ci/default/account.yaml include: - my_email
- my_name
- my_uuid
Signed-off-by: Luan Shengde shdluan@163.com
container/assign-account/get_account_info.rb | 51 +++++++++++++------- 1 file changed, 33 insertions(+), 18 deletions(-)
diff --git a/container/assign-account/get_account_info.rb b/container/assign-account/get_account_info.rb index 2f93d5b..b2d2474 100755 --- a/container/assign-account/get_account_info.rb +++ b/container/assign-account/get_account_info.rb @@ -44,6 +44,8 @@ the returned data for setup_jumper_account_info like:
=end
+require 'fileutils'
# get jumper and account info class AccountStorage ACCOUNT_DIR = '/opt/account_data/' @@ -93,35 +95,48 @@ class AccountStorage def setup_jumper_account_info account_info = read_account_info jumper_info = read_jumper_info
- pub_key = @data['pub_key'] unless @data.nil?
- jumper_ip = jumper_info[0].chomp
- jumper_port = jumper_info[1].chomp
- account = account_info[0]
- passwd = if pub_key.nil?
account_info[1]
else
'Use pub_key to login'
end
- pub_key = @data['my_ssh_pubkey'] unless @data['my_ssh_pubkey'].nil?
- login_name = account_info[0]
- password = if pub_key.nil?
account_info[1]
else
'Use pub_key to login'
end
- jumper_account_info = {
'account' => account,
'passwd' => passwd,
'jumper_ip' => jumper_ip,
'jumper_port' => jumper_port
'my_login_name' => login_name,
'my_password' => password,
'jumper_host' => jumper_info[0].chomp,
'jumper_port' => jumper_info[1].chomp
The format can be: 'my_login_name' => login_name, 'my_password' => password, 'jumper_host' => jumper_info[0].chomp, 'jumper_port' => jumper_info[1].chomp
it seems that in hash, the rubocop only allowed one space.
}
- setup_authorized_key(account, pub_key)
- setup_authorized_key(login_name, pub_key) unless pub_key.nil?
- setup_default_yaml(login_name)
- return jumper_account_info end
- def setup_authorized_key(account, pub_key)
- ssh_dir = File.join('/home/', account, '.ssh')
- def setup_default_yaml(login_name)
- default_yaml_dir = File.join('/home', login_name, '.config/compass-ci/defaults')
- FileUtils.mkdir_p default_yaml_dir
- File.open("#{default_yaml_dir}/account.yaml", 'a') do |file|
file.puts "my_email: #{@data['my_email']}"
file.puts "my_name: #{@data['my_name']}"
file.puts "my_uuid: #{@data['my_uuid']}"
ditto
I did't fully catch your idea here
Thanks, Luan Shengde
- end
- %x(chown -R #{login_name}:#{login_name} "/home/#{login_name}/.config")
- end
- def setup_authorized_key(login_name, pub_key)
- ssh_dir = File.join('/home/', login_name, '.ssh') Dir.mkdir ssh_dir, 0o700 Dir.chdir ssh_dir f = File.new('authorized_keys', 'w') f.puts pub_key f.close File.chmod 0o600, 'authorized_keys'
- %x(chown -R #{account}:#{account} #{ssh_dir})
- %x(chown -R #{login_name}:#{login_name} #{ssh_dir}) end
end
2.23.0
On Wed, Nov 04, 2020 at 05:04:20PM +0800, Luan Shengde wrote:
On Wed, Nov 04, 2020 at 04:50:03PM +0800, Xu Xijian wrote:
On Wed, Nov 04, 2020 at 03:25:35PM +0800, Luan Shengde wrote:
add function: config default yaml file
[why]: easier for user to config the default yaml file
[how]: write received user infos to the defaults yaml file:
infos -> info
I got it
~/.config/compass-ci/default/account.yaml include: - my_email
Here is 8 space, the below 2 lines are tabs.
- my_name
- my_uuid
Signed-off-by: Luan Shengde shdluan@163.com
container/assign-account/get_account_info.rb | 51 +++++++++++++------- 1 file changed, 33 insertions(+), 18 deletions(-)
diff --git a/container/assign-account/get_account_info.rb b/container/assign-account/get_account_info.rb index 2f93d5b..b2d2474 100755 --- a/container/assign-account/get_account_info.rb +++ b/container/assign-account/get_account_info.rb @@ -44,6 +44,8 @@ the returned data for setup_jumper_account_info like:
=end
+require 'fileutils'
# get jumper and account info class AccountStorage ACCOUNT_DIR = '/opt/account_data/' @@ -93,35 +95,48 @@ class AccountStorage def setup_jumper_account_info account_info = read_account_info jumper_info = read_jumper_info
- pub_key = @data['pub_key'] unless @data.nil?
- jumper_ip = jumper_info[0].chomp
- jumper_port = jumper_info[1].chomp
- account = account_info[0]
- passwd = if pub_key.nil?
account_info[1]
else
'Use pub_key to login'
end
- pub_key = @data['my_ssh_pubkey'] unless @data['my_ssh_pubkey'].nil?
- login_name = account_info[0]
- password = if pub_key.nil?
account_info[1]
else
'Use pub_key to login'
end
- jumper_account_info = {
'account' => account,
'passwd' => passwd,
'jumper_ip' => jumper_ip,
'jumper_port' => jumper_port
'my_login_name' => login_name,
'my_password' => password,
'jumper_host' => jumper_info[0].chomp,
'jumper_port' => jumper_info[1].chomp
The format can be: 'my_login_name' => login_name, 'my_password' => password, 'jumper_host' => jumper_info[0].chomp, 'jumper_port' => jumper_info[1].chomp
it seems that in hash, the rubocop only allowed one space.
OK.
}
- setup_authorized_key(account, pub_key)
- setup_authorized_key(login_name, pub_key) unless pub_key.nil?
- setup_default_yaml(login_name)
- return jumper_account_info end
- def setup_authorized_key(account, pub_key)
- ssh_dir = File.join('/home/', account, '.ssh')
- def setup_default_yaml(login_name)
- default_yaml_dir = File.join('/home', login_name, '.config/compass-ci/defaults')
- FileUtils.mkdir_p default_yaml_dir
- File.open("#{default_yaml_dir}/account.yaml", 'a') do |file|
file.puts "my_email: #{@data['my_email']}"
file.puts "my_name: #{@data['my_name']}"
file.puts "my_uuid: #{@data['my_uuid']}"
ditto
I did't fully catch your idea here
Thanks, Luan Shengde
I mean alignment: file.puts "my_email: #{@data['my_email']}" file.puts "my_name: #{@data['my_name']}" file.puts "my_uuid: #{@data['my_uuid']}"
Thanks, Xijian
- end
- %x(chown -R #{login_name}:#{login_name} "/home/#{login_name}/.config")
- end
- def setup_authorized_key(login_name, pub_key)
- ssh_dir = File.join('/home/', login_name, '.ssh') Dir.mkdir ssh_dir, 0o700 Dir.chdir ssh_dir f = File.new('authorized_keys', 'w') f.puts pub_key f.close File.chmod 0o600, 'authorized_keys'
- %x(chown -R #{account}:#{account} #{ssh_dir})
- %x(chown -R #{login_name}:#{login_name} #{ssh_dir}) end
end
2.23.0