[Starlingx-discuss] Stuck at Ansible bootstrap playbook
Hello all, I am trying to bootstrap my server following https://docs.starlingx.io/r/stx.8.0/deploy_install_guides/release/bare_metal..., but Ansible causes some problems when running `ansible-playbook --ask-vault-pass /usr/share/ansible/stx-ansible/playbooks/bootstrap.yml` command. Configuration: * Using standard iso and not touched via any script like update_iso.sh * 1 Ethernet OAM connection. * StarlingX version 8 * Python version 3.9.2 * Ansible version 2.10.8 * Internet is accessible for server and date is synchronized with ntp servers * Ansible user configuration override file is: system_mode: simplex dns_servers: - 8.8.8.8 - 8.8.4.4 external_oam_subnet: 192.168.1.0/24 external_oam_gateway_address: 192.168.1.1 external_oam_floating_address: 192.168.1.2 admin_username: admin admin_password: *** ansible_become_pass: *** Error log: /tmp/.ansible-sysadmin/tmp/ansible-tmp-1697803606.8157048-54246-21879916047000/populate_initial_config.py:1121: DeprecationWarning: Will be removed in 1.0. Use equivalent Devices method instead. part = pyudev.Device.from_device_number(context, /tmp/.ansible-sysadmin/tmp/ansible-tmp-1697803606.8157048-54246-21879916047000/populate_initial_config.py:1124: DeprecationWarning: Will be removed in 1.0. Access properties with Device.properties. if part.parent: grep: /var/log/anaconda/anaconda.log: No such file or directory Traceback (most recent call last): File "/tmp/.ansible-sysadmin/tmp/ansible-tmp-1697803606.8157048-54246-21879916047000/populate_initial_config.py", line 1328, in <module> controller = populate_controller_config(client) File "/tmp/.ansible-sysadmin/tmp/ansible-tmp-1697803606.8157048-54246-21879916047000/populate_initial_config.py", line 1258, in populate_controller_config raise e File "/tmp/.ansible-sysadmin/tmp/ansible-tmp-1697803606.8157048-54246-21879916047000/populate_initial_config.py", line 1247, in populate_controller_config controller = client.sysinv.ihost.create(**values) File "/usr/lib/python3/dist-packages/cgtsclient/v1/ihost.py", line 70, in create return self._create(self._path(), new) File "/usr/lib/python3/dist-packages/cgtsclient/common/base.py", line 51, in _create _, body = self.api.json_request('POST', url, body=body) File "/usr/lib/python3/dist-packages/cgtsclient/common/http.py", line 204, in json_request resp = self._http_request(url, method, **kwargs) File "/usr/lib/python3/dist-packages/cgtsclient/common/http.py", line 186, in _http_request raise exceptions.from_response( cgtsclient.exc.HTTPInternalServerError: Remote error: TypeError unsupported operand type(s) for *: 'NoneType' and 'int' Traceback (most recent call last): File "/usr/lib/python3/dist-packages/zerorpc/core.py", line 167, in _async_task functor.pattern.process_call(self._context, bufchan, event, functor) File "/usr/lib/python3/dist-packages/zerorpc/patterns.py", line 30, in process_call result = functor(*req_event.args, **req_event.kwargs) File "/usr/lib/python3/dist-packages/zerorpc/decorators.py", line 44, in __call__ return self._functor(*args, **kargs) File "/usr/lib/python3/dist-packages/sysinv/zmq_rpc/zmq_rpc.py", line 39, in method retval = getattr(self.target, func)(context, **kwargs) File "/usr/lib/python3/dist-packages/sysinv/conductor/manager.py", line 14561, in reconfigure_service_endpoints self._config_apply_runtime_manifest( File "/usr/lib/python3/dist-packages/sysinv/conductor/manager.py", line 11468, in _config_apply_runtime_manifest self._config_update_puppet(config_uuid, File "/usr/lib/python3/dist-packages/sysinv/conductor/manager.py", line 11238, in _config_update_puppet self._puppet.update_host_config(host, config_uuid) File "/usr/lib/python3/dist-packages/sysinv/puppet/puppet.py", line 32, in _wrapper func(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/sysinv/puppet/puppet.py", line 192, in update_host_config config.update(puppet_plugin.obj.get_host_config(host)) File "/usr/lib/python3/dist-packages/sysinv/puppet/platform.py", line 66, in get_host_config config.update(self._get_host_memory_config(host)) File "/usr/lib/python3/dist-packages/sysinv/puppet/platform.py", line 665, in _get_host_memory_config node, vswitch_size * 1024, vswitch_pages) TypeError: unsupported operand type(s) for *: 'NoneType' and 'int' Looks like memory.vswitch_hugepages_size_mib is None. Any help will be appreciated, thanks!
Hello again. In addition to this question, my server has Intel Xeon Silver 4116T CPU. I checked minimum requirements for host but couldn't figured out if this CPU meets minimum CPU specs for StarlingX 8.0. Can anyone check if it's compatible or not? Thanks again! Minimum processor class: Dual-CPU Intel® Xeon® E5 26xx family (SandyBridge) 8 cores/socket or Single-CPU Intel® Xeon® D-15xx family, 8 cores (low-power/low-cost option)
Turns out, no memory on second RAM bank causes this problem: https://opendev.org/starlingx/config/src/branch/r/stx.8.0/sysinv/sysinv/sysi... looks to sysfs for hugepages. But when there is no second RAM on the second RAM bank on my motherboard, Linux won't create hugepage directories. Then this code will just leave second NUMA node's hugepage entries `None`. Lastly, puppet tries to do some arithmetic on None values and throws exceptions. As I said, connecting second RAM to second RAM bank on my motherboard fixed the problem. This bug can be closed.
participants (2)
-
Ceyhun Şen
-
ceyhun.sen@inventron.com.tr