Class: ForemanPackages::Sypackage
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ForemanPackages::Sypackage
- Defined in:
- app/models/foreman_packages/sypackage.rb
Instance Method Summary collapse
- #change_dir ⇒ Object
- #create_content ⇒ Object
-
#create_dir ⇒ Object
after_destory :destory_dir.
- #destory_dir ⇒ Object
Instance Method Details
#change_dir ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'app/models/foreman_packages/sypackage.rb', line 65 def change_dir upload_dir = "/home/stdtnt/workspaces/foreman/public/uploads/sypackage/filename/" + self.id.to_s root_file_dir_name = "/home/stdtnt/app/packages/files/" # FileUtils.cd(upload_dir, :verbose => true) # FileUtils.cp_r Dir.glob('*.*'), "/home/stdtnt/app/packages/files/", :noop => true, :verbose => true # list=Dir.entries(upload_dir) # list.each_index do |x| # puts ">>>>>>>>>>>>>>>>..>>>>>>>>>>>>>>>>..>>>>>>>>>>>>>>>>..>>>>>>>>>>>>>>>>..>>>>>>>>>>>>>>>>..>>>>>>>>>>>>>>>>..." # puts "#{list[x]}" # FileUtils.cp_r upload_dir ,root_file_dir_name, :noop => true, :verbose => true # puts ">>>>>>>>>>>>>>>>..>>>>>>>>>>>>>>>>..>>>>>>>>>>>>>>>>..>>>>>>>>>>>>>>>>..>>>>>>>>>>>>>>>>..>>>>>>>>>>>>>>>>..." # end end |
#create_content ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 |
# File 'app/models/foreman_packages/sypackage.rb', line 52 def create_content user_content = "class packages {" + "\n" + "\s\s" + "package{'" + self.name + "':" + "\n\s\s\s\s" + "ensure => '" + self.ensure + "'," + "\n\s\s" +"}" + "\n" file_content = "\s\s" + "file{'"+ self.file_path + "':" + "\n\s\s\s\s" + "ensure => '" + self.file_ensure + "'," + "\n\s\s\s\s" + "source => '" + self.file_source + "mode => '" + self.file_mode + "'," + "\n\s\s\s\s" + "onwer => '" + self.file_onwer + "group => '" + self.file_group + "'," + "\n\s\s\s\s" + "notify=> Service['" + self.file_notify + "']," + "\n\s\s\s\s" + "require=> Package['" + self.file_require + "']," + "\n\s\s" +"}" + "\n\s\s" service_content = "\s\s" + "service{'"+ self.service_name + "':" + "\n\s\s\s\s" + "ensure => '" + self.service_ensure + "'," + "\n\s\s\s\s" + "enable => '" + self.service_enable + "hasstatus => '" + self.service_hasstatus + "'," + "\n\s\s\s\s" + "hasrestart => '" + self.service_hasrestart + "," + "\n\s\s" +"}" + "\n\s\s" rs = user_content + file_content + service_content + "\n" + "}" return rs end |
#create_dir ⇒ Object
after_destory :destory_dir
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/models/foreman_packages/sypackage.rb', line 10 def create_dir #目前用 "/home/stdtnt/app/"代替 "/etc/puppet/environments/production/modules/packages" #该处需要注意权限问题,当前用户是否具有该目录的操作权限 root_dir_name = "/etc/puppet/environments/production/modules/packages/" self.destory_dir #默认删除该目录,然后重新创建 dir_exist_status = File.exist?(root_dir_name) #判断该目录是否存在 if !dir_exist_status #创建目录结构 Dir::mkdir(root_dir_name) Dir::mkdir(root_dir_name + "files") Dir::mkdir(root_dir_name + "manifests") #生成files下welcome.conf文件 files_welcome_File = File.new(root_dir_name + "files/welcome.conf", "w+") files_welcome_File.close #生成manifests下init.pp文件 main_init_File = File.new(root_dir_name +"manifests/init.pp", "w+") if main_init_File main_init_File.syswrite(self.create_content) else puts "Unable to open file!" end main_init_File.close end #self.change_dir end |
#destory_dir ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/models/foreman_packages/sypackage.rb', line 40 def destory_dir #目前用 "/home/stdtnt/app/"代替 "/etc/puppet/environments/production/modules/users" #该处需要注意权限问题,当前用户是否具有该目录的操作权限 root_dir_name = "/etc/puppet/environments/production/modules/packages" #判断该目录是否存在 dir_exist_status = File.exist?(root_dir_name ) if dir_exist_status #使用fileUtils.rm_r 删除该文件夹及其以下所有内容 FileUtils.rm_r root_dir_name end end |