It was due to mismatch in the version of Azure SDK. Fixed it. Regards, Udbhav
On Wed, Jul 3, 2019 at 4:51 PM Udbhav <[email protected]> wrote: > I am unable to call a simple provisioner which is connecting to Azure. > > Here is the error > " > Failed to initialize build 'hyperv-iso': error initializing provisioner > 'install-certificate': plugin exited before we could connect > hyperv-iso output will be in this color. > " > > Here is my Provisioner Code. If I comment the keyvault client line the > packer is able to initialize the provisioner. Can it be due to different > SDK version? Any pointers? > > > package certificate > > import ( > "context" > "errors" > "fmt" > > "github.com/Azure/azure-sdk-for-go/profiles/latest/keyvault/keyvault" > > "github.com/hashicorp/packer/common" > "github.com/hashicorp/packer/helper/config" > "github.com/hashicorp/packer/packer" > "github.com/hashicorp/packer/template/interpolate" > ) > > type Config struct { > common.PackerConfig `mapstructure:",squash"` > > SubscriptionID string `mapstructure:"subscription_id"` > > VaultName string `mapstructure:"vault_name"` > > CertificateName string `mapstructure:"certificate_name"` > > Script string `mapstructure:"script"` > > ctx interpolate.Context > } > > type Provisioner struct { > config Config > } > > func (p *Provisioner) Prepare(raws ...interface{}) error { > err := config.Decode(&p.config, &config.DecodeOpts{ > Interpolate: true, > InterpolateContext: &p.config.ctx, > InterpolateFilter: &interpolate.RenderFilter{}, > }, raws...) > > if err != nil { > return err > } > > var errs *packer.MultiError > > if len(p.config.SubscriptionID) < 1 { > errs = packer.MultiErrorAppend(errs, errors.New("subscription_id must be > specified.")) > } > > if len(p.config.VaultName) < 1 { > errs = packer.MultiErrorAppend(errs, errors.New("vault_name must be > specified.")) > } > > if len(p.config.CertificateName) < 1 { > errs = packer.MultiErrorAppend(errs, errors.New("certificate_name must be > specified.")) > } > > if len(p.config.Script) < 1 { > errs = packer.MultiErrorAppend(errs, errors.New("script must be > specified.")) > } > > if errs != nil && len(errs.Errors) > 0 { > return errs > } > > return nil > } > > func (p *Provisioner) Provision(ctx context.Context, ui packer.Ui, comm > packer.Communicator) error { > > basicClient := keyvault.New() > fmt.Println(basicClient.RetryAttempts) > > var cmd = &packer.RemoteCmd{ > Command: fmt.Sprintf("powershell.exe -file %s -CertificateBase64 %s", > p.config.Script, "YoHooay!!"), > } > > return cmd.RunWithUi(ctx, comm, ui) > } > > > > Packer Config > { > "builders": [ > { > "boot_wait": "0s", > "boot_command": [], > "communicator": "winrm", > "cpus": "{{ user `cpus` }}", > "disk_size": "{{user `disk_size` }}", > "enable_secure_boot": true, > "floppy_files": [], > "generation": 2, > "headless": false, > "iso_checksum": "", > "iso_checksum_type": "none", > "iso_url": "{{ user `image_path` }}", > "iso_target_extension": "vhdx", > "memory": "{{ user `memory` }}", > "secondary_iso_images": [], > "shutdown_command": "{{ user `shutdown_command` }}", > "shutdown_timeout": "10m", > "switch_name": "External VM Switch", > "type": "hyperv-iso", > "vm_name": "AutomatedPackerImage", > "winrm_password": "{{ user `winrm_password` }}", > "winrm_timeout": "10000s", > "winrm_username": "{{ user `winrm_username` }}", > "winrm_use_ssl": true, > "winrm_insecure": true > } > ], > "provisioners": [{ > "type": "file", > "source": "Certificates\\Install-Cert.ps1", > "destination": "C:\\Users\\Public\\Documents\\Install-Cert.ps1" > },{ > "type" : "install-certificate", > "script": "C:\\Users\\Public\\Documents\\Install-Cert.ps1", > "vault_name": "sdfgsdfasfgsdf", > "certificate_name": "blahblah" > }], > "variables": { > "cpus": "2", > "memory": "4096", > "disk_size": "250960", > > "image_path": "", > > "shutdown_command": "C:\\Users\\Public\\Documents\\Sysprep.bat", > > "winrm_username": "", > "winrm_password": "" > } > } > > -- > This mailing list is governed under the HashiCorp Community Guidelines - > https://www.hashicorp.com/community-guidelines.html. Behavior in > violation of those guidelines may result in your removal from this mailing > list. > > GitHub Issues: https://github.com/mitchellh/packer/issues > IRC: #packer-tool on Freenode > --- > You received this message because you are subscribed to the Google Groups > "Packer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/packer-tool/c584e318-ff09-4d97-9ccb-0e3846ae71f0%40googlegroups.com > <https://groups.google.com/d/msgid/packer-tool/c584e318-ff09-4d97-9ccb-0e3846ae71f0%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list. GitHub Issues: https://github.com/mitchellh/packer/issues IRC: #packer-tool on Freenode --- You received this message because you are subscribed to the Google Groups "Packer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/packer-tool/CACjz45eZy1GbJA%3DoPYmvQreoR_ftYc-23a6rBkeasTUYGVA3Vw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
