search cancel

APM Installer fails- Could not transfer artifact com.ca.dxi:artifact:json:images:1.0

book

Article ID: 229641

calendar_today

Updated On:

Products

DX Application Performance Management

Issue/Introduction

Initial Problem:

The installer identified cluster is running OpenShift.
Unable to retrieve OpenShift Version null
Specify the namespace for installation. [dxi]:
[namespaceSyntax-validate] [ OK ] Namespace syntax validated successfully.
[create-namespace] Namespace dxi already exists. It will be used by installer
[emptyNameSpace-validate] [ OK ] Namespace: dxi is empty
Specify your custom prefix for docker images or press enter to use the default prefix. [%ns%/]: repository/docker-internal/dxapm/
[image-prefix-validate}] [ OK ] Image prefix has been successfully validated.
[Openshift-Prerequisite-Validation] [OK] scc dxi-custom present
[Openshift-Prerequisite-Validation] [OK] scc dxi-custom-postgres present
Select image source. Installer can download images or use existing in your registry (prepared ahead of time):
* 1: Download images during installation
  2: Use preloaded images from registry
Enter your choice: 2
Registry installation:
* 1: openshift_private
  2: use_existing
Enter your choice: 2
Specify the registry URL: [localhost:5000]: http://sadbprodregistry1.sfa.se:8086
Is the registry a secured registry that will require a username and password? (Y/N) [N]: y
Specify the registry credentials:
Username:  smuser
Password:  **********
Transfer failed. Could not transfer artifact com.ca.dxi:artifact:json:images:1.0 from/to remote (https://packages.broadcom.com/artifactory/dx-maven): Connection refused (Connection refused).
Failed to resolve artifact com.ca.dxi:artifact:json:images:1.0
Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'consoleEntryPoint': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Artifact (com.ca.dxi:artifact:json:images:1.0) does not exists.
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:160)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:415)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
        at com.ca.dxi.DownloaderApplication.main(DownloaderApplication.java:34)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)
Caused by: java.lang.IllegalArgumentException: Artifact (com.ca.dxi:artifact:json:images:1.0) does not exists.

 

While troubleshooting, we have Decompiled a java class and reverse engineered what the installer was trying to do. 
We noticed that the user used for installing was missing some required cluster privileges.

We added those privileges and promptly ran into our next problem.

We can't get the installer to access the registry. We enter the host information and immediately get a "connection refused". We have used tcpdump to verify that it does NOT try to connect to the host. We have tried to enter the registry hostname in every format possible.

It does however try to access the default remote registry... but that's not going to work as there is no Internet-connection.

We can verify the account from the command line... but that should not be the issue since it doesn not seem to try to connect to the host in the first place.

 

 

 

Environment

Release : 21.3

Component :

Cause

install user is missing some privileges.

Resolution

Once corrected, the user privileges fixed the issue.