Mailing List Archive

Fatal error during container create (ansible-openstack on bionic)
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
Re: Fatal error during container create (ansible-openstack on bionic) [ In reply to ]
Hi there,

Bionic isn't current supported and we're working on adding support for
it in the Rocky cycle! We recommend you deploy on Xenial.

Thanks,
Mohammed

On Wed, Jul 11, 2018 at 11:44 AM, Ruth Ivimey-Cook <ruth@ivimey.org> wrote:
> 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

_______________________________________________
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
Re: Fatal error during container create (ansible-openstack on bionic) [ In reply to ]
Hi Mohammed,

Xenial doesn't fit my needs in other ways, so reverting to it isn't an
option, and I also want to use bionic's spin of openstack rather than
run with packages from another repo, nor wait for an unspecified period
for Rocky's appearance. I am prepared to invest some time in debugging
this build, but I was hoping for some assistance here out of courtesy.

The only reason I looked at os-a was that configuring openstack on its
own was unfathomably complex. Even with ansible it is still very complex
for what I feel should be a simple task. I don't really understand why
there isn't a default usable (i.e. one-box cloud) configuration in the
.rpm/.deb packages which users can then extend and adapt, as with other
similar tools.

Where would I look for the current work on the os-a rocky update?
perhaps I can derive something useful from that.

Regards,
Ruth


On 11/07/2018 20:35, Mohammed Naser wrote:
> Hi there,
>
> Bionic isn't current supported and we're working on adding support for
> it in the Rocky cycle! We recommend you deploy on Xenial.
>
> Thanks,
> Mohammed
>
> On Wed, Jul 11, 2018 at 11:44 AM, Ruth Ivimey-Cook <ruth@ivimey.org> wrote:
>> 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


_______________________________________________
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