Não é possível criar novo host usando a API do Foreman - modelo de acabamento ausente

1

Espero que isso seja uma falha do servidor ...

Estou tentando criar um host usando a API do contramestre (usando o martelo, mas o POST da carga útil do host me fornece o mesmo resultado). Cada vez, reclama que estou com falta de um modelo de acabamento.

A mensagem de erro da API é a seguinte: Nenhum modelo de acabamento foi encontrado para esse host, certifique-se de definir pelo menos um em suas configurações do CentOS 6.7

Como eu especifico um modelo de acabamento ao criar um host através da API do Foreman?

Nada na documentação me diz como fornecer uma seleção de modelo de acabamento ao criar o host. Fazendo isso na interface do Foreman com as mesmas configurações funciona bem. Quando clico em "Resolver" na seção de modelos de provisionamento, também posso ver meu modelo de acabamento.

Alguns detalhes: este é o Foreman 1.10.1 em um cluster VMWare

Aqui está minha carga útil do host

  "host" => {
                          "name" => "ez-apitesthost",
                   "location_id" => 1,
               "organization_id" => 5,
                "environment_id" => 9,
               "architecture_id" => 1,
            "operatingsystem_id" => 2,
           "compute_resource_id" => 2,
                     "root_pass" => "password",
                  "hostgroup_id" => 73,
                      "image_id" => 19,
                         "build" => true,
                       "enabled" => true,
              "provision_method" => "image",
                       "managed" => true,
            "compute_profile_id" => 11,
            "compute_attributes" => {
                        "cpus" => "1",
              "corespersocket" => "2",
                   "memory_mb" => "4096",
                     "cluster" => "MYCLUSTER01",
                        "path" => "/Datacenters/MYDC/vm",
                    "guest_id" => "centos64Guest",
        "scsi_controller-type" => "ParaVirtualSCSIController"
          "volumes_attributes" => {
            "0" => {
                "datastore" => "dc_sata_01"
            }
        }
    },
                      "owner_id" => "75",
                     "overwrite" => true,
    "host_parameters_attributes" => {},
         "interfaces_attributes" => {
        "0" => {
                          "type" => "interface",
                          "name" => "ez-apitesthost",
                     "domain_id" => "1",
                     "subnet_id" => "2",
                       "managed" => "false",
                       "primary" => "true",
                     "provision" => "true",
            "compute_attributes" => {
                   "type" => "VirtualVmxnet3",
                "network" => "internal vlan"
            }
        }
    }
}

aqui está a resposta

{
"error" => {
               "id" => nil,
           "errors" => {
                       "base" => [
            [0] "No finish templates were found for this host, make sure you define at least one in your CentOS 6.7 settings"
        ],
                   "conflict" => [],
        "interfaces.conflict" => []
    },
    "full_messages" => [
        [0] "No finish templates were found for this host, make sure you define at least one in your CentOS 6.7 settings"
    ]
}
    
por SeafoodBuffet 21.02.2016 / 18:26

2 respostas

0

Só para voltar a isso, acabei resolvendo o problema como um problema de permissões. Dito isso, a carga que eu postei NÃO criará um host corretamente, porque na verdade é um pouco errôneo. No entanto, o erro que eu postei desaparece se você chamar a API (ou usar o martelo) usando um usuário administrador.

    
por 28.02.2016 / 16:44
2

O problema aqui é que o sistema operacional que você está usando não tem um modelo de acabamento associado a ele. Isso não é algo que você precisa fazer ao criar um host, mas ao criar o SO.

Ir para Hosts > Sistemas Operacionais > CentOS 6.7 e escolha um modelo de acabamento da lista lá. Se você não tiver, eu recomendo escolher o Kickstart. O que ele faz é apenas instalar o Puppet e dizer ao Foreman 'hey! Eu terminei de instalar :) '

Veja o que você está procurando:

Sevocênãovirnenhummodelodeacabamento,acesseHost>Modelosdeprovisionamento,procurepor'Kickstartdefaultfinish'eassocie-oaoCentOS6.7.Depoisdisso,vocêdevesercapazdeconfigurá-lo.Istoéoquevocêdevever:

Uma vez que o seu sistema operacional tenha um modelo de acabamento associado, ele deve ser resolvido corretamente. Se não conseguir encontrar um modelo de acabamento, mesmo nesse caso, verifique se você está fornecendo as opções de SO corretas.

    
por 21.02.2016 / 21:21

Tags