Not super familiar with the kolla docker part, but the code seems pretty straightforward. What is the IP of your registry? I dont think you should use localhost as the tasks are running on the computes/controllers? Can you use the registry IP in the same subnet/reachable subnet? Tracing the code - name: Ensure fluentd image is present for label check vars: service_name: "fluentd" service: "{{ common_services[service_name] }}" become: true kolla_docker: action: "ensure_image" common_options: "{{ docker_common_options }}" image: "{{ service.image }}" when: - fluentd_version is not defined or fluentd_binary is not defined - enable_fluentd | bool This calls def ensure_image(self): if not self.check_image(): self.pull_image() This then calls (if the image is not there) def pull_image(self): if self.params.get('auth_username'): self.dc.login( username=self.params.get('auth_username'), password=self.params.get('auth_password'), registry=self.params.get('auth_registry'), email=self.params.get('auth_email') ) image, tag = self.parse_image() old_image_id = self.get_image_id() statuses = [ json.loads(line.strip().decode('utf-8')) for line in self.dc.pull( repository=image, tag=tag, stream=True ) ] for status in reversed(statuses): if 'error' in status: if status['error'].endswith('not found'): self.module.fail_json( msg="The requested image does not exist: {}:{}".format( image, tag), failed=True ) else: self.module.fail_json( msg="Unknown error message: {}".format( status['error']), failed=True ) new_image_id = self.get_image_id() self.changed = old_image_id != new_image_id On Mon, Feb 28, 2022 at 6:26 PM Laurent Dumont <laurentfdumont@gmail.com> wrote:
Can you pull from that registry manually? If that doesn't work, Kolla won't work either.
On Mon, Feb 28, 2022 at 6:47 AM A Monster <amonster369@gmail.com> wrote:
I'm getting the following error while trying to deploy openstack using kolla-ansible. I've set up a local docker registry and enabled insecure registries in daemon.json file and I even tried to pull fluentd docker image but I still get the following error
TASK [common : Ensure fluentd image is present for label check] fatal: [localhost]: FAILED! => {"changed": true, "msg": "'Traceback (most recent call last):\\n File \"/usr/local/lib/python3.6/site-packages/docker/api/client.py\", line 268, in _raise_for_status\\n response.raise_for_status()\\n File \"/usr/lib/python3.6/site-packages/requests/models.py\", line 940, in raise_for_status\\n raise HTTPError(http_error_msg, response=self)\\nrequests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http+docker://localhost/v1.41/images/create?tag=xena&fromImage=quay.io%2Fkolla%2Fcentos-source-fluentd\\n\\nDuring handling of the above exception, another exception occurred:\\n\\nTraceback (most recent call last):\\n File \"/tmp/ansible_kolla_docker_payload_xizndx9s/ansible_kolla_docker_payload.zip/ansible/modules/kolla_docker.py\", line 1241, in main\\n File \"/tmp/ansible_kolla_docker_payload_xizndx9s/ansible_kolla_docker_payload.zip/ansible/modules/kolla_docker.py\", line 1116, in ensure_image\\n File \"/tmp/ansible_kolla_docker_payload_xizndx9s/ansible_kolla_docker_payload.zip/ansible/modules/kolla_docker.py\", line 692, in pull_image\\n File \"/usr/local/lib/python3.6/site-packages/docker/api/image.py\", line 430, in pull\\n self._raise_for_status(response)\\n File \"/usr/local/lib/python3.6/site-packages/docker/api/client.py\", line 270, in _raise_for_status\\n raise create_api_error_from_http_exception(e)\\n File \"/usr/local/lib/python3.6/site-packages/docker/errors.py\", line 31, in create_api_error_from_http_exception\\n raise cls(e, response=response, explanation=explanation)\\ndocker.errors.APIError: 500 Server Error for http+docker://localhost/v1.41/images/create?tag=xena&fromImage=quay.io%2Fkolla%2Fcentos-source-fluentd: Internal Server Error (\"unauthorized: access to the requested resource is not authorized\")\\n'"}