vagrant-mos 0.9.31 → 0.9.32
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 +4 -4
- data/lib/vagrant-mos/action/package_instance.rb +3 -39
- data/lib/vagrant-mos/version.rb +1 -1
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 1807abec6cd8938e53bcf04896a0b8c1644cedd9
         | 
| 4 | 
            +
              data.tar.gz: 12170589079888dc3eb0e1ed728464af5921cc33
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8ab090cc189cdffbee5fe7de3067cb540466b38d11521ef62107827ae06792b082555edf62c0e2172031187dccba9400ef76de6595e8baf5d39a02c395f7c316
         | 
| 7 | 
            +
              data.tar.gz: d1c6acb4441885dda5f768728f1316d2fd699c91aa5b8b892200f0c34b161ab6082688c60493ed41c09036e95aebe8ce25c3914fc5bdb054ea8241f468bfaa1f
         | 
| @@ -8,7 +8,7 @@ module VagrantPlugins | |
| 8 8 | 
             
                module Action
         | 
| 9 9 | 
             
                  # This action packages a running mos-based server into an
         | 
| 10 10 | 
             
                  # mos-based vagrant box. It does so by burning the associated
         | 
| 11 | 
            -
                  # vagrant-mos server instance, into an template via  | 
| 11 | 
            +
                  # vagrant-mos server instance, into an template via mos sdk API. Upon
         | 
| 12 12 | 
             
                  # successful template burning, the action will create a .box tarball
         | 
| 13 13 | 
             
                  # writing a Vagrantfile with the fresh template id into it.
         | 
| 14 14 |  | 
| @@ -40,22 +40,11 @@ module VagrantPlugins | |
| 40 40 | 
             
                      # This block attempts to burn the server instance into an template
         | 
| 41 41 | 
             
                      begin
         | 
| 42 42 | 
             
                        # Get the server object for given machine
         | 
| 43 | 
            -
                        #server = env[:mos_compute].servers.get(env[:machine].id)
         | 
| 44 43 | 
             
                        server = (env[:mos_compute].describe_instances([env[:machine].id]))["Instance"]
         | 
| 45 44 |  | 
| 46 45 | 
             
                        env[:ui].info(I18n.t("vagrant_mos.packaging_instance", :instance_id => server["instanceId"]))
         | 
| 47 46 |  | 
| 48 | 
            -
             | 
| 49 | 
            -
                        result =env[:mos_compute].create_template(server["instanceId"], "template_name", "template_notes")
         | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
                        # Make the request to MOS to create an template from machine's instance
         | 
| 55 | 
            -
                        #ami_response = server.service.create_image server.id, "#{server.tags["Name"]} Package - #{Time.now.strftime("%Y%m%d-%H%M%S")}", ""
         | 
| 56 | 
            -
             | 
| 57 | 
            -
                        # Find ami id
         | 
| 58 | 
            -
                       # @ami_id = ami_response.data[:body]["imageId"]
         | 
| 47 | 
            +
                        result =env[:mos_compute].create_template(server["instanceId"], "template_name-#{Time.now.strftime("%Y%m%d-%H%M%S")}")
         | 
| 59 48 |  | 
| 60 49 | 
             
                        # Attempt to burn the mos instance into an template within timeout
         | 
| 61 50 | 
             
                        env[:metrics]["instance_ready_time"] = Util::Timer.time do
         | 
| @@ -65,38 +54,18 @@ module VagrantPlugins | |
| 65 54 | 
             
                          region_config = env[:machine].provider_config.get_region_config(region)
         | 
| 66 55 | 
             
                          tries = region_config.instance_package_timeout / 2
         | 
| 67 56 |  | 
| 68 | 
            -
                          # | 
| 69 | 
            -
             | 
| 70 | 
            -
                          # Check the status of the template every 2 seconds until the ami burn timeout has been reached
         | 
| 57 | 
            +
                          # Check the result of the create_template every 2 seconds until the template burn timeout has been reached
         | 
| 71 58 | 
             
                          begin
         | 
| 72 59 | 
             
                            retryable(:on => Errors::InstancePackageTimeout, :tries => tries) do
         | 
| 73 60 | 
             
                              # If we're interrupted don't worry about waiting
         | 
| 74 61 | 
             
                              next if env[:interrupted]
         | 
| 75 62 |  | 
| 76 | 
            -
                              # Need to update the ami_obj on each cycle
         | 
| 77 | 
            -
                              #ami_obj = server.service.images.get(@ami_id)
         | 
| 78 | 
            -
             | 
| 79 63 | 
             
                              # Wait for the server to be ready, raise error if timeout reached 
         | 
| 80 64 | 
             
                              if(result["return"] == "True")
         | 
| 81 65 | 
             
                                break
         | 
| 82 66 | 
             
                              else
         | 
| 83 67 | 
             
                                sleep(2)
         | 
| 84 68 | 
             
                              end
         | 
| 85 | 
            -
             | 
| 86 | 
            -
             | 
| 87 | 
            -
            =begin
         | 
| 88 | 
            -
                              server.wait_for(2) {
         | 
| 89 | 
            -
                                if ami_obj.state == "failed"
         | 
| 90 | 
            -
                                  raise Errors::InstancePackageError,
         | 
| 91 | 
            -
                                        ami_id: ami_obj.id,
         | 
| 92 | 
            -
                                        err: ami_obj.state
         | 
| 93 | 
            -
                                  return
         | 
| 94 | 
            -
                                else
         | 
| 95 | 
            -
                                  # Successful template burn will result in true here
         | 
| 96 | 
            -
                                  ami_obj.ready?
         | 
| 97 | 
            -
                                end
         | 
| 98 | 
            -
                              }
         | 
| 99 | 
            -
            =end
         | 
| 100 69 | 
             
                            end
         | 
| 101 70 | 
             
                          rescue Errors::InstancePackageTimeout
         | 
| 102 71 | 
             
                            # Notify the user upon timeout
         | 
| @@ -107,9 +76,6 @@ module VagrantPlugins | |
| 107 76 |  | 
| 108 77 | 
             
                        env[:ui].info(I18n.t("vagrant_mos.packaging_instance_complete", :time_seconds => env[:metrics]["instance_ready_time"].to_i))
         | 
| 109 78 |  | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 112 | 
            -
             | 
| 113 79 | 
             
                      rescue Exception => e
         | 
| 114 80 | 
             
                        raise Errors::MosError, :message => e.message
         | 
| 115 81 | 
             
                      end
         | 
| @@ -207,8 +173,6 @@ module VagrantPlugins | |
| 207 173 | 
             
                    def template_root
         | 
| 208 174 | 
             
                      MOS.source_root.join("templates")
         | 
| 209 175 | 
             
                    end
         | 
| 210 | 
            -
             | 
| 211 | 
            -
             | 
| 212 176 | 
             
                  end
         | 
| 213 177 | 
             
                end
         | 
| 214 178 | 
             
              end
         | 
    
        data/lib/vagrant-mos/version.rb
    CHANGED