onlyoffice_digitalocean_wrapper 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0b5f288d8ace3eb4b4233a65a15ad7205c993361a5218939ecae254902e57d39
         | 
| 4 | 
            +
              data.tar.gz: 987062f1ec25e58d45c5c0fadfdd672ac7f4a9908a4b0563be2e000051dca0d2
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8780c445ee63541b12093435e816a555c05e6d9afeac0244cbb95d88b73b8d5a41b3c4567645ffee12340cfad00ddd1f8a7b2c0c85bfecb7500a292080c0e5e8
         | 
| 7 | 
            +
              data.tar.gz: a73c0ce3bfde1c16ad9b96b90ec2cf6a5f4b53dc573ff228930d8f680309a0801c008cb26e473eb4cad194730757a5055ec93a3043137070813b8ec3bd671bdf
         | 
| @@ -0,0 +1,48 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require 'net-telnet'
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            require_relative 'ssh_checker/ssh_checker_exceptions'
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            module OnlyofficeDigitaloceanWrapper
         | 
| 8 | 
            +
              # Class for check if ssh can be connected
         | 
| 9 | 
            +
              class SshChecker
         | 
| 10 | 
            +
                include LoggerWrapper
         | 
| 11 | 
            +
                # @return [String] ip of server
         | 
| 12 | 
            +
                attr_reader :ip
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                # @param ip [String] ip of server to check
         | 
| 15 | 
            +
                def initialize(ip)
         | 
| 16 | 
            +
                  @ip = ip
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                # Wait until ssh server on server is up and available for connection
         | 
| 20 | 
            +
                # @param timeout [Integer] how much we should wait for connection
         | 
| 21 | 
            +
                # @return [void]
         | 
| 22 | 
            +
                def wait_until_ssh_up(timeout: 60)
         | 
| 23 | 
            +
                  wait_between_tries = 5
         | 
| 24 | 
            +
                  tries = timeout / wait_between_tries
         | 
| 25 | 
            +
                  tries.times do |try|
         | 
| 26 | 
            +
                    if ssh_up?
         | 
| 27 | 
            +
                      logger.info("SSH on `#{@ip}` is up. Waiting finished")
         | 
| 28 | 
            +
                      return true
         | 
| 29 | 
            +
                    end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                    logger.info("SSH on `#{@ip}` is not up. Waited for #{try * wait_between_tries} seconds of #{timeout}")
         | 
| 32 | 
            +
                    sleep wait_between_tries
         | 
| 33 | 
            +
                  end
         | 
| 34 | 
            +
                  raise SshCheckerSshUpTimeout, "SSH on `#{@ip}` is not up for #{timeout} seconds. Could not proceed"
         | 
| 35 | 
            +
                end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                # Check is ssh available for connection right now
         | 
| 38 | 
            +
                # @return [Boolean]
         | 
| 39 | 
            +
                def ssh_up?
         | 
| 40 | 
            +
                  Net::Telnet.new('Host' => @ip,
         | 
| 41 | 
            +
                                  'Timeout' => 1,
         | 
| 42 | 
            +
                                  'Port' => 22)
         | 
| 43 | 
            +
                  true
         | 
| 44 | 
            +
                rescue StandardError
         | 
| 45 | 
            +
                  false
         | 
| 46 | 
            +
                end
         | 
| 47 | 
            +
              end
         | 
| 48 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: onlyoffice_digitalocean_wrapper
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.8.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - ONLYOFFICE
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire: 
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date: 2021- | 
| 13 | 
            +
            date: 2021-09-12 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: droplet_kit
         | 
| @@ -26,6 +26,20 @@ dependencies: | |
| 26 26 | 
             
                - - "~>"
         | 
| 27 27 | 
             
                  - !ruby/object:Gem::Version
         | 
| 28 28 | 
             
                    version: '3'
         | 
| 29 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 30 | 
            +
              name: net-telnet
         | 
| 31 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 32 | 
            +
                requirements:
         | 
| 33 | 
            +
                - - "~>"
         | 
| 34 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 35 | 
            +
                    version: '0'
         | 
| 36 | 
            +
              type: :runtime
         | 
| 37 | 
            +
              prerelease: false
         | 
| 38 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 39 | 
            +
                requirements:
         | 
| 40 | 
            +
                - - "~>"
         | 
| 41 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 42 | 
            +
                    version: '0'
         | 
| 29 43 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 30 44 | 
             
              name: codecov
         | 
| 31 45 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -168,6 +182,8 @@ files: | |
| 168 182 | 
             
            - lib/onlyoffice_digitalocean_wrapper/digitalocean_wrapper/logger_wrapper.rb
         | 
| 169 183 | 
             
            - lib/onlyoffice_digitalocean_wrapper/digitalocean_wrapper/power_actions.rb
         | 
| 170 184 | 
             
            - lib/onlyoffice_digitalocean_wrapper/digitalocean_wrapper/token_methods.rb
         | 
| 185 | 
            +
            - lib/onlyoffice_digitalocean_wrapper/ssh_checker.rb
         | 
| 186 | 
            +
            - lib/onlyoffice_digitalocean_wrapper/ssh_checker/ssh_checker_exceptions.rb
         | 
| 171 187 | 
             
            - lib/onlyoffice_digitalocean_wrapper/version.rb
         | 
| 172 188 | 
             
            homepage: https://github.com/ONLYOFFICE-QA/onlyoffice_digitalocean_wrapper
         | 
| 173 189 | 
             
            licenses:
         | 
| @@ -193,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 193 209 | 
             
                - !ruby/object:Gem::Version
         | 
| 194 210 | 
             
                  version: '0'
         | 
| 195 211 | 
             
            requirements: []
         | 
| 196 | 
            -
            rubygems_version: 3.2. | 
| 212 | 
            +
            rubygems_version: 3.2.27
         | 
| 197 213 | 
             
            signing_key: 
         | 
| 198 214 | 
             
            specification_version: 4
         | 
| 199 215 | 
             
            summary: Wrapper gem for DigitalOcean
         |