Ejemplo n.º 1
0
            str(current_box_version["version"].split('.')[1]) + "." + \
            str(int(current_box_version["version"].split('.')[2]) + 1)

print("Building new catosplace/ubuntu1804-desktop-base box version " + next_box_version)
version = UserVar("version", next_box_version)

post_processors = [
    post_processor.Vagrant(
        output = "builds/ubuntu1804-desktop-base.box",
        include = [
            "info.json"
        ]
    )
]

t = Template()
t.add_variable(desktop_user_variables)
t.add_variable(version)
t.add_builder(builders)
t.add_provisioner(provisioners)
# Move to new script user artifice
#t.add_post_processor(post_processors)

# View Packer Template
print(t.to_json())

(ret, out, err) = PackerExecutable(machine_readable=False).validate(t.to_json())
print(out.decode('unicode_escape'))

(ret, out, err) = PackerExecutable(machine_readable=False).build(t.to_json())
print(out.decode('unicode_escape'))
Ejemplo n.º 2
0
    def test_jagged_array_render(self):
        expected_json = """
        {
          "builders": [
            {
              "boot_wait": "10s",
              "floppy_files": [
                ""
              ],
              "guest_additions_path": "VBoxGuestAdditions_{{.Version}}.iso",
              "guest_os_type": "Ubuntu_64",
              "http_directory": "",
              "iso_checksum": "sha512",
              "iso_checksum_type": "sha512",
              "iso_url": "",
              "ssh_port": 22,
              "type": "virtualbox-iso",
              "vboxmanage": [
                [
                  "modifyvm", "{{.Name}}", "--memory", "1024"
                ],
                [ 
                  "modifyvm", "{{.Name}}", "--vram", "36"
                ],
                [
                  "modifyvm", "{{.Name}}", "--cpus", "1"
                ]
              ],
              "virtualbox_version_file": ".vbox_version",
              "vm_name": "my_name"
            }
          ]
        }
        """

        t = Template()
        t.add_builder(
            builder.VirtualboxIso(
                boot_wait="10s",
                guest_os_type="Ubuntu_64",
                http_directory="",
                iso_url="",
                iso_checksum_type="sha512",
                iso_checksum="sha512",
                ssh_port=22,
                guest_additions_path="VBoxGuestAdditions_{{.Version}}.iso",
                virtualbox_version_file=".vbox_version",
                vm_name="my_name",
                floppy_files=[""],
                vboxmanage=[
                    "modifyvm {{.Name}} --memory 1024".split(),
                    "modifyvm {{.Name}} --vram 36".split(),
                    "modifyvm {{.Name}} --cpus 1".split()
                ]
                # vboxmanage=[['modifyvm {{.Name}} --memory 1024', "modifyvm {{.Name}} --cpus 1"]]
            ))

        to_json = t.to_json()
        assert to_json == json.dumps(json.loads(expected_json),
                                     sort_keys=True,
                                     indent=2,
                                     separators=(',', ': '))