2016-05-04 12 views
1

Я пытался запустить экземпляр windows-2012 с использованием kitchen-ec2 для моей поваренной книги, и когда я пытаюсь запустить kitchen create, используя следующие .kitchen.yml, я встречаюсь вundefined username for nil: nilclass при попытке запустить экземпляр Windows с помощью kitchen-ec2

undefined method " `username' for nil:NilClass".

Я застрял здесь в этот момент и не могу понять, как двигаться вперед. Любые предложения или советы будут очень полезны для продвижения вперед, чтобы запустить экземпляр. Спасибо за ваше время.

.kitchen.yml

--- 
driver: 
name: ec2 
associate_public_ip: false 
aws_ssh_key_id: test-key 
instance_type: t2.medium 
region: us-east-1 
availability_zone: us-east-1c 
subnet_id: subnet-a 
security_group_ids: 
    - "sg-a"" 
transport: 
    ssh_key: test.pem 
    associate_public_ip: false 
    connection_timeout: 60 
    connection_retries: 10 
provisioner: 
    name: chef_zero 
    http_proxy: http://proxy.abc.com: 8081 
    https_proxy: http://proxy.abc.com: 8081 
    no_proxy: "169.254.169.254,amazonaws.com,abc.com" 
    environments_path: environments 
    roles_path: roles 
    require_chef_omnibus: true 
    client_rb: 
    ssl_verify_mode: :verify_none 
    verify_api_cert: false 
platforms: 
- name: windows-2012 
    driver: 
    image_id: ami-741c161e 
    interface: private 
    block_device_mappings: 
     - device_name: /dev/sda1 
     ebs: 
      volume_size: 50 
      delete_on_termination: true 
      volume_type: gp2 
      snapshot_id: snap-120uf 
     tags: 
     OwnerContact: test 
     Name: windows-2012 
     transport.username: Administrator 
suites: 
- name: default 
    run_list: 
    - recipe[testing-kitchen] 
    kitchen: 
    attributes: 

verifier: 
http_proxy: http://proxy.abc.com:8081 
https_proxy: http://proxy.abc.com:8081 
no_proxy: "169.254.169.254,amazonaws.com,abc.com" 

Ошибка

>>>>>----> Creating <default-windows-2012>... 
>>>>>D  Image for default-windows-2012: WIN12R2-x64-HVM-Enc-1603. Architecture: x86_64, Virtualization: hvm, Storage: ebs gp2, Created: 2016-04-01T03:19:29.000Z 
D  No platform detected for WIN12R2-x64-HVM-Enc-1603. 
>>>>>> ------Exception------- 
>>>>>> Class: Kitchen::ActionFailed 
>>>>>> Message: Failed to complete #create action: [undefined method `username' for nil:NilClass] 
>>>>>> ---------------------- 
>>>>>> Please see .kitchen/logs/kitchen.log for more details 
>>>>>> Also try running `kitchen diagnose --all` for configuration 
+0

Вы можете проверить строку 'transport.username: Administrator'? – StephenKing

+0

@StephenKing Я переместил имя пользователя под транспортом. Теперь экземпляр, казалось, был создан, но не с сообщением: не удалось выполнить #create action: [остановился после 60 попыток без успеха ». Не уверен, хочу ли я изменить значения для "connection_timeout: 60, connection_retries: 10" – bablu

+0

Это другая проблема. Рад, что это исправлено. – StephenKing

ответ

1

Вы, вероятно, хотите, чтобы установка транспорта на winrm тоже.

См. Например, https://github.com/poise/poise-boiler/blob/master/lib/poise_boiler/helpers/kitchen.rb#L207-L217.

+0

Я обновил мою кухню.yml с именем транспорта в winrm, но это с ошибкой аутентификации после запуска экземпляра. «Восстановленный пароль Windows, например, . Экземпляр EC2 готово. [WinRM] соединение не выполнено. Повторная попытка за 3 секунды: # ' – bablu

+0

Я, похоже, исправил это, поскольку имя пользователя по умолчанию «Администратор» было изменено для другого пользователя, но теперь, похоже, он сталкивается с некоторыми проблемами с кодировкой. 'D, [2016-05-05T12: 34: 04.408219 # 49115] DEBUG - Кухня: Сообщение: Не удалось завершить #create action: [undefined method' encoding 'for nil: NilClass] ' – bablu