I am getting a fatal error in lxc_create when running openstack-ansible
playbooks/setup-hosts.yml and hoping someone can push me in the right
direction. Logs below...
I am interpreting the fatal error as some sort of missing config, which
is why I included the warnings that happened earlier in the above. Is
that right? Is there any way I can isolate where exactly in the ansible
setup this happens?
The only significant changes I've made to the ansible setup are
- comment out `linux-image-extra-{{ ansible_kernel }}` package from the
ubuntu config as it no longer exists.
- create /etc/ansible/.../*ubuntu-18.04.yml files by copying the
equivalent ubuntu-16.04.yml file, where no 18.04 version was already
present.
> ~/openstack-ansible$ sudo openstack-ansible playbooks/setup-hosts.yml
>
> Variable files: "-e @/etc/openstack_deploy/user_secrets.yml -e
@/etc/openstack_deploy/user_variables.yml "
>
> [WARNING]: Unable to parse /etc/openstack_deploy/inventory.ini as an
inventory source
> [DEPRECATION WARNING]: 'include' for playbook includes. You should
use 'import_playbook' instead. This
>
> feature will be removed in version 2.8. Deprecation warnings can be
disabled by setting
>
> deprecation_warnings=False in ansible.cfg.
>
> [WARNING]: Could not match supplied host pattern, ignoring:
all_lxc_containers
>
> [WARNING]: Could not match supplied host pattern, ignoring:
all_nspawn_containers
>
> PLAY [Install Ansible prerequisites]
*************************************************************************
>
> TASK [Ensure python is installed]
****************************************************************************
>
> ok: [aio1]
... lots of stuff that works...
> TASK [Create the new LXC service log directory]
**************************************************************
>
> ok: [aio1]
>
> TASK [Create the LXC service log aggregation link]
***********************************************************
>
> ok: [aio1]
>
> TASK [apt_package_pinning : Add apt pin preferences]
*********************************************************
>
> TASK [lxc_hosts : Check for the presence of a public key file on the
deployment host] ************************
>
> ok: [aio1 -> localhost]
>
> TASK [lxc_hosts : Fail if a ssh public key is not set in a var and is
not present on the deployment host] ****
>
> TASK [lxc_hosts : Gather variables for each operating system]
************************************************
>
> ok: [aio1] =>
(item=/etc/ansible/roles/lxc_hosts/vars/ubuntu-18.04-host.yml)
>
> TASK [lxc_hosts : Gather container variables]
****************************************************************
>
> [WARNING]: Invalid request to find a file that matches a "null" value
>
> ok: [aio1] => (item=/etc/ansible/roles/lxc_hosts/vars/ubuntu-18.04.yml)
>
> TASK [lxc_hosts : include_tasks]
*****************************************************************************
>
> included: /etc/ansible/roles/lxc_hosts/tasks/lxc_pre_install.yml for aio1
A little later in the same run:
> TASK [lxc_container_create : Check the physical_host variable is set]
****************************************
>
> TASK [lxc_container_create : Collect physical host facts if missing]
*****************************************
>
> TASK [lxc_container_create : Kernel version and LXC backing store
check] *************************************
>
> TASK [lxc_container_create : Gather variables for each operating
system] *************************************
>
> [WARNING]: Invalid request to find a file that matches a "null" value
>
> [WARNING]: Invalid request to find a file that matches a "null" value
>
> ok: [aio1_cinder_api_container-3255dd97] =>
(item=/etc/ansible/roles/lxc_container_create/vars/ubuntu-18.04.yml)
>
> [WARNING]: Invalid request to find a file that matches a "null" value
>
> ok: [aio1_designate_container-54f1c305] =>
(item=/etc/ansible/roles/lxc_container_create/vars/ubuntu-18.04.yml)
>
> [WARNING]: Invalid request to find a file that matches a "null" value
>
> [WARNING]: Invalid request to find a file that matches a "null" value
And then, finally, the fatal error:
> TASK [lxc_container_create : include_tasks]
******************************************************************
>
> included:
/etc/ansible/roles/lxc_container_create/tasks/lxc_container_create_dir.yml
for aio1_cinder_api_container-3255dd97,
aio1_designate_container-54f1c305, aio1_galera_container-b332cdef,
aio1_glance_container-8d10cc70, aio1_heat_api_container-362fdd4a,
aio1_horizon_container-d76a2adc, aio1_keystone_container-78616d24,
aio1_memcached_container-916a4563,
aio1_neutron_server_container-3bf65b1d,
aio1_nova_api_container-91ebf932, aio1_repo_container-f56147bc,
aio1_rabbit_mq_container-bfd8534a, aio1_rsyslog_container-ce40ff7f,
aio1_swift_proxy_container-eada6cf1, aio1_utility_container-195113e0
>
> TASK [lxc_container_create : Create container (dir)]
*********************************************************
>
> fatal: [aio1_cinder_api_container-3255dd97 -> 172.29.236.100]:
FAILED! => {"changed": false, "module_stderr": "Shared connection to
172.29.236.100 closed.\r\n", "module_stdout": "Failed to load config for
aio1_cinder_api_container-3255dd97\r\n443: error creating container
aio1_cinder_api_container-3255dd97\r\nTraceback (most recent call
last):\r\n File
\"/tmp/ansible_GSPHbc/ansible_module_lxc_container.py\", line 1772, in
<module>\r\n main()\r\n File
\"/tmp/ansible_GSPHbc/ansible_module_lxc_container.py\", line 1767, in
main\r\n lxc_manage = LxcContainerManagement(module=module)\r\n File
\"/tmp/ansible_GSPHbc/ansible_module_lxc_container.py\", line 619, in
__init__\r\n self.container = self.get_container_bind()\r\n File
\"/tmp/ansible_GSPHbc/ansible_module_lxc_container.py\", line 624, in
get_container_bind\r\n return
lxc.Container(name=self.container_name)\r\n File
\"/usr/lib/python2.7/dist-packages/lxc/__init__.py\", line 153, in
__init__\r\n _lxc.Container.__init__(self, name)\r\nSystemError: NULL
result without error in PyObject_Call\r\n", "msg": "MODULE FAILURE",
"rc": 1}
Context: I want to run openstack on ubuntu bionic, and using ansible
seemed to be the best way forward. I know openstack-ansible is only
supported on xenial, but as I'm a software developer I thought I'd give
it a go. I first commented out the OS checks... and have got a good deal
of progress since. However, I have hit a problem and am hoping someone
can help.
I also posted this question on the ask.openstack pages but it's still
awaiting moderation :(
https://ask.openstack.org/en/question/115193/fatal-error-during-container-create-ansible-openstack-on-bionic/
_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack