code: def initialize(self, size=2):
          
          # The IP should be in this range, this is the default DHCP range used by the introspection.
          # inspection_iprange = 192.0.2.100,192.0.2.120
          for i in range(0, size):
              self.nodes.append(
                  Baremetal(
                      self.nova_api,
                      self.neutron,
                      self._keypair,
                      self._key_filename,
                      self._security_groups,
                      name='baremetal_%d' % i))
          with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
              for bm_node in self.nodes:
                  future = executor.submit(
                      bm_node.deploy,
                      'ipxe.usb',
                      '192.0.2.%d' % self._idx,
                      flavor='m1.large')
                  self._idx += 1
                  bm_node._future = future
              for bm_node in self.nodes:
                  bm_node._future.result()
                  pm_addr = self.bmc.register_host(bm_node.name)
                  self.instackenv.append({
                      "pm_type": "pxe_ipmitool",
                      "mac": [bm_node.mac],
                      # TODO(Gonéri): We should get these informations from the baremetal node's flavor
                      "cpu": "4",
                      "memory": "8196",
                      "disk": "80",
                      "arch": "x86_64",
                      "pm_user": "admin",
                      "pm_password": "password",
                      "pm_addr": pm_addr
                  })
          self.bmc.ssh_pool.stop_all()
docs: Populate the node poll.
  
          :param size: the number of node to create.