424f2693b63aab878f61ab8578800cf567ec4041
Dev Now detecting difference in...

Dev authored 7 years ago

1) #!/usr/bin/ruby
2) 
Dev Refactoring. Adding pkg mgmt.

Dev authored 7 years ago

3) require_relative 'objects/rcm_file'
4) require_relative 'objects/rcm_package'
5) require_relative 'objects/rcm_service'
Dev Refactoring to have config...

Dev authored 7 years ago

6) require_relative 'managers/rcm_config_manager'
Dev Refactoring. Adding pkg mgmt.

Dev authored 7 years ago

7) require_relative 'managers/rcm_package_manager'
Dev Now detecting difference in...

Dev authored 7 years ago

8) require_relative 'managers/rcm_file_manager'
9) require_relative 'managers/rcm_service_manager'
10) require_relative 'rcm_utils'
Dev Initial commit

Dev authored 7 years ago

11) require 'yaml'
Dev Now detecting difference in...

Dev authored 7 years ago

12) require 'logger'
Dev Initial commit

Dev authored 7 years ago

13) 
14) module RCM
Dev Removing uneeded variable a...

Dev authored 7 years ago

15) 
Dev Refactoring to have config...

Dev authored 7 years ago

16)   @config_mgr = ::RCM::ConfigManager.new()
17)   @logger = @config_mgr.logger
Dev Minor cleanup and bug fix f...

Dev authored 7 years ago

18)   @pkg_mgr = ::RCM::Apt.new(@logger)
19)   @file_mgr = ::RCM::FileManager.new(@logger)
20)   @svc_mgr = ::RCM::ServiceManager.new(@logger)
Dev Now detecting difference in...

Dev authored 7 years ago

21) 
Dev Refactoring to have config...

Dev authored 7 years ago

22)   def self.converge_packages(current_state_of_packages)
Dev Debugging why index.html wa...

Dev authored 7 years ago

23)     # We'll install them in one go (minor optimization)
24)     missing_packages = []
25) 
Dev Refactoring to have config...

Dev authored 7 years ago

26)     @config_mgr.packages.each do |pkg_name, pkg_obj|
27)       current_pkg = current_state_of_packages[pkg_name]
Dev Refactoring. Adding pkg mgmt.

Dev authored 7 years ago

28) 
Dev Converging the state as def...

Dev authored 7 years ago

29)       if current_pkg == pkg_obj
Dev Minor cleanup and bug fix f...

Dev authored 7 years ago

30)         @logger.info("#{pkg_name} is in expected state.")
Dev Converging the state as def...

Dev authored 7 years ago

31)         next
32)       end
Dev Refactoring. Adding pkg mgmt.

Dev authored 7 years ago

33) 
Dev Converging the state as def...

Dev authored 7 years ago

34)       if current_pkg.version != pkg_obj.version && current_pkg.state == ::RCM::Package::INSTALLED
35)         # Wrong version is installed. Remove current version and install the correct one.
36)         # Not the best way to go about it... but we are not implementing a legit solution.
37)         @logger.debug("#{current_pkg.name}=#{current_pkg.version} is installed. Uninstalling first.")
Dev Minor cleanup and bug fix f...

Dev authored 7 years ago

38)         @pkg_mgr.remove(pkg_obj)
Dev Debugging why index.html wa...

Dev authored 7 years ago

39)         missing_packages.push(pkg_obj)
Dev Converging the state as def...

Dev authored 7 years ago

40)       elsif current_pkg.state == ::RCM::Package::REMOVED
Dev Debugging why index.html wa...

Dev authored 7 years ago

41)         missing_packages.push(pkg_obj)
Dev Converging the state as def...

Dev authored 7 years ago

42)       end
Dev Refactoring. Adding pkg mgmt.

Dev authored 7 years ago

43)     end
Dev Converging the state as def...

Dev authored 7 years ago

44) 
Dev Removing uneeded variable a...

Dev authored 7 years ago

45)     @pkg_mgr.update unless @env == 'dev' || missing_packages.empty?
Dev Skipping package install ca...

Dev authored 7 years ago

46)     @pkg_mgr.install(missing_packages) unless missing_packages.empty?
Dev Now detecting difference in...

Dev authored 7 years ago

47)   end
48) 
Dev Refactoring to have config...

Dev authored 7 years ago

49)   def self.converge_files(current_state_of_files)
50)     @config_mgr.files.each do |path, file_obj|
51)       file_on_fs = current_state_of_files[path]
Dev Refactoring. Adding pkg mgmt.

Dev authored 7 years ago

52) 
Dev Working everything.

Dev authored 7 years ago

53)       if file_on_fs.state == ::RCM::File::PRESENT && file_obj.state == ::RCM::File::ABSENT
Dev Minor cleanup and bug fix f...

Dev authored 7 years ago

54)         @logger.info("#{path} is present on disk when it should not be. Removing...")
55)         @file_mgr.remove(file_obj)
Dev Converging the state as def...

Dev authored 7 years ago

56)         next
57)       end
58) 
Dev Working everything.

Dev authored 7 years ago

59)       if file_on_fs == file_obj
Dev Minor cleanup and bug fix f...

Dev authored 7 years ago

60)         @logger.info("#{path} is in expected state (#{file_on_fs.state}).")
Dev Working everything.

Dev authored 7 years ago

61)         next
Dev Converging the state as def...

Dev authored 7 years ago

62)       end
Dev Now detecting difference in...

Dev authored 7 years ago

63) 
Dev Updating file info message...

Dev authored 7 years ago

64)       @logger.info("#{path} is not in expected state on disk.")
Dev Minor cleanup and bug fix f...

Dev authored 7 years ago

65)       status = @file_mgr.copy(file_obj)
66)       @file_mgr.apply_attributes(file_obj) if status == 0
Dev Now detecting difference in...

Dev authored 7 years ago

67)     end
Dev Refactoring. Adding pkg mgmt.

Dev authored 7 years ago

68)   end
69) 
Dev Converging the state as def...

Dev authored 7 years ago

70)   def self.restart_services_if_needed
Dev Refactoring to have config...

Dev authored 7 years ago

71)     @config_mgr.services.values.each do |svc_obj|
Dev Minor cleanup and bug fix f...

Dev authored 7 years ago

72)       @svc_mgr.restart(svc_obj) if @svc_mgr.dependencies_changed?(svc_obj)
Dev Converging the state as def...

Dev authored 7 years ago

73)     end
Dev Refactoring. Adding pkg mgmt.

Dev authored 7 years ago

74)   end
Dev Now detecting difference in...

Dev authored 7 years ago

75) 
76)   def main
Dev Handling files created upon...

Dev authored 7 years ago

77)     # Installing packages creates file that we want to delete.
78)     # So finish managing packages and then deal with files.
Dev Refactoring to have config...

Dev authored 7 years ago

79)     current_state_of_packages = @pkg_mgr.get_current_state(@config_mgr.packages)
80)     converge_packages(current_state_of_packages)
81)     current_state_of_files = @file_mgr.get_current_state(@config_mgr.files)
82)     converge_files(current_state_of_files)
Dev Converging the state as def...

Dev authored 7 years ago

83)     restart_services_if_needed
Dev Now detecting difference in...

Dev authored 7 years ago

84)   end
Dev Initial commit

Dev authored 7 years ago

85) 
Dev Converging the state as def...

Dev authored 7 years ago

86)   module_function :main
Dev Initial commit

Dev authored 7 years ago

87) end
88) 
Dev Now detecting difference in...

Dev authored 7 years ago

89) RCM.main