extract servers from manually created stacks
This commit is contained in:
parent
c1e2cee920
commit
a018c03ca1
@ -46,7 +46,9 @@ class Stack < Handler
|
||||
q[:project] = options[:project] || resources_selector.select_available_project
|
||||
q[:deploy_env] = options[:deploy_env] || enter_parameter(I18n.t('handler.stack.create.deploy_env'))
|
||||
q[:stack_template] = options[:stack_template] || resources_selector.select_available_stack_template(provider: q[:provider])
|
||||
q[:parameters] = options[:parameters] || enter_hash(I18n.t('handler.stack.create.parameters'))
|
||||
|
||||
filepath = options[:parameters_file] || enter_parameter(I18n.t('handler.stack.create.parameters_file'))
|
||||
q[:parameters] = JSON.parse(File.read(filepath))
|
||||
|
||||
json = JSON.pretty_generate(q)
|
||||
if question(I18n.t("handler.stack.question.create")) {puts json}
|
||||
|
||||
@ -24,15 +24,7 @@ class StackOptions < CommonOptions
|
||||
parser.recognize_option_value(:project, 'stack')
|
||||
parser.recognize_option_value(:deploy_env, 'stack')
|
||||
parser.recognize_option_value(:stack_template, 'stack')
|
||||
|
||||
parser.recognize_option_value(:parameters, 'stack') do |parameters|
|
||||
begin
|
||||
hash = JSON.parse(parameters)
|
||||
options[:parameters] = hash
|
||||
rescue JSON::ParserError
|
||||
raise ArgumentError.new('Should be proper JSON string')
|
||||
end
|
||||
end
|
||||
parser.recognize_option_value(:parameters_file, 'stack')
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@ -37,14 +37,14 @@ module Output
|
||||
def create_list
|
||||
abort(I18n.t("output.not_found.stack.list")) if @data.empty?
|
||||
|
||||
fields_to_output = %w(id project deploy_env stack_template cloud_stack_id stack_status)
|
||||
fields_to_output = %w(id project deploy_env stack_template stack_status)
|
||||
fields_to_output << 'provider' unless provider_given?
|
||||
|
||||
headers_and_rows(@data, fields_to_output)
|
||||
end
|
||||
|
||||
def create_show
|
||||
headers_and_rows([@data], %w(id project deploy_env stack_template cloud_stack_id stack_status))
|
||||
headers_and_rows([@data], %w(id project deploy_env stack_template stack_status))
|
||||
end
|
||||
|
||||
def create_servers_list
|
||||
|
||||
@ -114,13 +114,13 @@ en:
|
||||
create:
|
||||
id: "Id: "
|
||||
deploy_env: "Deploy env: "
|
||||
parameters: "Please input parameters hash: "
|
||||
parameters_file: "Path to file with JSON parameters: "
|
||||
question:
|
||||
create: "Are you sure to create stack?"
|
||||
delete: "Are you sure to delete stack '%{name}'?"
|
||||
stack_preset:
|
||||
create:
|
||||
parameters_file: 'Path to file with JSON parameters: '
|
||||
parameters_file: "Path to file with JSON parameters: "
|
||||
stack: 'Name of stack to create: '
|
||||
message:
|
||||
choose_list_default: "Choose %{name} (comma separated), like 1,2,3 or empty for default value '%{default}': "
|
||||
|
||||
@ -6,6 +6,12 @@ module Devops
|
||||
@request = request
|
||||
@params = params
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def owner_from_request
|
||||
@request.env['REMOTE_USER']
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -15,8 +15,18 @@ module Devops
|
||||
end
|
||||
|
||||
def create_stack object
|
||||
stack_model = Model::StackFactory.create(object['provider'], object)
|
||||
Devops::Db.connector.stack_insert(stack_model)
|
||||
stack = Model::StackFactory.create(object['provider'], object)
|
||||
stack.owner = owner_from_request
|
||||
Devops::Db.connector.stack_insert(stack)
|
||||
|
||||
file = JobStarter.start_job(:worker, :sync_stack_till_not_in_progress,
|
||||
provider: stack.provider,
|
||||
stack_id: stack.id,
|
||||
request: @request
|
||||
)
|
||||
puts "Syncing report is located here: #{file}"
|
||||
|
||||
stack
|
||||
end
|
||||
|
||||
def stack id
|
||||
|
||||
@ -20,7 +20,7 @@ module Devops
|
||||
def apply id, body
|
||||
preset = Devops::StackPresetsFactory.get(id)
|
||||
stack = preset.create_stack_from_preset(body)
|
||||
stack.owner = @request.env['REMOTE_USER']
|
||||
stack.owner = owner_from_request
|
||||
Devops::Db.connector.stack_insert(stack)
|
||||
|
||||
file = JobStarter.start_job(:worker, :sync_stack_till_not_in_progress,
|
||||
@ -28,7 +28,6 @@ module Devops
|
||||
stack_id: stack.id,
|
||||
request: @request
|
||||
)
|
||||
|
||||
puts "Syncing report is located here: #{file}"
|
||||
|
||||
stack
|
||||
|
||||
Loading…
Reference in New Issue
Block a user