Giter Club home page Giter Club logo

application-templates's Introduction

Application Templates

This project contains OpenShift v3 application templates which support applications based on Red Hat Fuse.

Article on how to get started with this OpenShift template

See http://www.opensourcerers.org/first-fuse-application-on-openshift-v3-1/

Configure Authentication to the Red Hat Container Registry

Before you can import and use the Red Hat Fuse OpenShift Image Streams, you must first configure authentication to the Red Hat container registry. This may have already been set up for you by your cluster administrator. If not, follow the instructions bellow.

Within the OpenShift project where you'll be installing the Red Hat Fuse Image Streams, create a docker-registry secret using credentials for either a Red Hat Developer Program account or Red Hat Customer Portal account. For example:

oc create secret docker-registry imagestreamsecret \
  --docker-server=registry.redhat.io \
  --docker-username=CUSTOMER_PORTAL_USERNAME \
  --docker-password=CUSTOMER_PORTAL_PASSWORD \
  --docker-email=EMAIL_ADDRESS

If you don’t want to use your Red Hat account’s username and password to create the secret, it is recommended to create an authentication token using a registry service account.

For further information see:

Install Image Streams

The fis-image-streams.json file contains ImageStream definitions for Red Hat Fuse on OpenShift. This will need to be installed within the openshift namespace (oc create -f fis-image-streams.json -n openshift) before using any of the quickstart templates.

Example

The easiest way to use the quickstart templates is to install them in your project

$ oc create -n openshift -f fis-image-streams.json
$ oc create -n myproject -f quickstart-template.json

After installing templates, you should see the quickstarts in the OpenShift catalog. Select one, and you will be prompted to provide template parameters.

Alternatively, you can install the template and create a new application from the command line:

$ oc create -n openshift -f fis-image-streams.json
$ oc process -n yourproject -f quickstart-template.json -v <template parameters> | oc create -n yourproject -f -

To make templates available to all users, install them into the openshift namespace:

$ oc create -n openshift -f quickstart-template.json

Fuse Console

The Red Hat Fuse console eases the discovery and management of Fuse applications deployed on OpenShift.

You can run the following instructions to deploy the Fuse console on your OpenShift cluster. There exist different OpenShift templates to choose from, depending on the following characteristics:

Template Descripton
fis-console-cluster-template.json Use an OAuth client that requires the cluster-admin role to be created. The Fuse console can discover and connect to Fuse applications deployed across multiple namespaces / projects.
fuse-console-cluster-os4.json Same as fis-console-cluster-template.json, to be used for OpenShift 4. By default, this requires the generation of a client certificate, signed with the service signing certificate authority, prior to the deployment. See OpenShift 4 section for more information.
fis-console-namespace-template.json Use a service account as OAuth client, which only requires admin role in a project to be created. This restricts the Fuse console access to this single project, and as such acts as a single tenant deployment.
fuse-console-namespace-os4.json Same as fis-console-namespace-template.json, to be used for OpenShift 4. By default, this requires the generation of a client certificate, signed with the service signing certificate authority, prior to the deployment. See OpenShift 4 section for more information.

For example, to install the Fuse console template, execute the following command:

$ oc create -n myproject -f fis-console-namespace-template.json

Then, you should be able to see the template after navigating to Add to Project > Select from Project in your project.

Or, if you prefer the command line:

$ oc new-app -n myproject -f fis-console-namespace-template.json \
  -p ROUTE_HOSTNAME=<HOST>

Note that the ROUTE_HOSTNAME parameter can be omitted when using the fis-console-namespace-template template. In that case, OpenShift automatically generates one for you.

You can obtain more information about the template parameters, by executing the following command:

$ oc process --parameters -f fis-console-namespace-template.json
NAME                     DESCRIPTION                                                                    VALUE
APP_NAME                 The name assigned to the application.                                          fuse70-console
APP_VERSION              The application version.                                                       1.0
IMAGE_STREAM_NAMESPACE   Namespace in which the Fuse ImageStreams are installed. These ImageStreams
                         are normally installed in the openshift namespace. You should only need to
                         modify this if you've installed the ImageStreams in a different
                         namespace/project.                                                             openshift
ROUTE_HOSTNAME           The externally-reachable host name that routes to the Red Hat Fuse console
                         service
CPU_REQUEST              The amount of CPU to request.                                                  0.2
MEMORY_REQUEST           The amount of memory required for the container to run.                        32Mi
CPU_LIMIT                The amount of CPU the container is limited to use.                             1.0
MEMORY_LIMIT             The amount of memory the container is limited to use.                          32Mi

You can obtain the status of your deployment, by running:

$ oc status
In project myproject on server https://192.168.64.12:8443

https://fuse-console.192.168.64.12.nip.io (redirects) (svc/fuse70-console-service)
  dc/fuse70-console deploys openshift/jboss-fuse70-console:1.0
    deployment #1 deployed 2 minutes ago - 1 pod

Open the route URL displayed above from your Web browser to access the Fuse console.

OpenShift 4

To secure the communication between the Fuse Console and the Jolokia agents, a client certificate must be generated and mounted into the Fuse Console pod with a secret, to be used for TLS client authentication. This client certificate must be signed using the service signing certificate authority private key.

Here are the steps to be performed prior to the deployment:

  1. First, retrieve the service signing certificate authority keys, by executing the following commmands as a cluster-admin user:

    # The CA certificate
    $ oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.crt']}" | base64 --decode > ca.crt
    # The CA private key
    $ oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.key']}" | base64 --decode > ca.key
  2. Then, generate the client certificate, as documented in Kubernetes certificates administration, using either easyrsa, openssl, or cfssl, e.g., using openssl:

    # Generate the private key
    $ openssl genrsa -out server.key 2048
    # Write the CSR config file
    $ cat <<EOT >> csr.conf
      [ req ]
      default_bits = 2048
      prompt = no
      default_md = sha256
      distinguished_name = dn
    
      [ dn ]
      CN = fuse-console.fuse.svc
    
      [ v3_ext ]
      authorityKeyIdentifier=keyid,issuer:always
      keyUsage=keyEncipherment,dataEncipherment,digitalSignature
      extendedKeyUsage=serverAuth,clientAuth
    EOT
    # Generate the CSR
    $ openssl req -new -key server.key -out server.csr -config csr.conf
    # Issue the signed certificate
    $ openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 10000 -extensions v3_ext -extfile csr.conf
  3. Finally, you can create the secret to be mounted in the Fuse Console, from the generated certificate:

    $ oc create secret tls ${APP_NAME}-tls-proxying --cert server.crt --key server.key

Note that CN=fuse-console.fuse.svc must be trusted by the Jolokia agents, for which client certification authentication is enabled. See the clientPrincipal parameter from the Jolokia agent configuration options.

You can then proceed with the deployment.

Kubernetes

The Fuse console can also be deployed on Kubernetes. You can run the following instructions to deploy the Fuse console on your Kubernetes cluster. There exist different YAML resources files to choose from, depending on the following characteristics:

File Descripton
fuse-console-cluster-k8s.yml The Fuse console can discover and connect to Fuse applications deployed across multiple namespaces.
fuse-console-namespace-k8s.yml This restricts the Fuse console access to a single namespace, and as such acts as a single tenant deployment.

Before deploying the Fuse console, you need to create a serving certificate for the Fuse console TLS.

Follow the steps below to create a secret named fuse-console-tls-serving with the serving certificate:

  1. Prepare a TLS certificate and private key for the Fuse console. For development purposes, you can generate a self-signed certificate with the following commmands:

    # Generate the private key
    $ openssl genrsa -out tls.key 2048
    # Generate the certificate (valid for 365 days)
    $ openssl req -x509 -new -nodes -key tls.key -subj "/CN=fuse-console.fuse.svc" -days 365 -out tls.crt
  2. Create the secret to be mounted in the Fuse console from the certificate and private key in the first step:

    $ kubectl create -n myproject secret tls fuse-console-tls-serving --cert tls.crt --key tls.key

Now you can move on to deploy the Fuse console. For example, to install it in a single namespace, execute the following command:

$ kubectl apply -n myproject -f fuse-console-namespace-k8s.yml

By default it creates a NodePort service for access to the console, but you can choose other options to expose the console: NodePort / LoadBalancer Service or Ingress. For Ingress, suppose the FQDN you provide for the Fuse console is fuse.example.com, run the following command to create an ingress for the console:

$ cat <<EOF | kubectl apply -f -
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: fuse-console-ingress
  labels:
    component: fuse-console
    group: console
    app: fuse-console
    version: "1.13"
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  tls:
  - hosts:
      - fuse.example.com
    secretName: fuse-console-tls-serving
  rules:
  - host: fuse.example.com
    http:
      paths:
      - path: /(.*)
        pathType: Prefix
        backend:
          service:
            name: fuse-console-service
            port:
              number: 443
EOF

NOTE: To make ingresses work on your Kubernetes cluster, an Ingress controller needs to be running. See Ingress Controllers for more information.

For how to create a user for the Fuse console on Kubernetes, see Creating a Hawtio user for Form authentication.

RBAC

Configuration

The fuse-console-cluster-rbac.yml and fuse-console-namespace-rbac.yml templates create a ConfigMap, that contains the configuration file used to define the roles allowed for MBean operations. This ConfigMap is mounted into the Fuse console container, and the HAWTIO_ONLINE_RBAC_ACL environment variable is used to pass the configuration file path to the server. If that environment variable is not set, RBAC support is disabled, and only users granted the update verb on the pod resources are authorized to call MBeans operations.

Roles

For the time being, only the viewer and admin roles are supported. Once the current invocation is authenticated, these roles are inferred from the permissions the user impersonating the request is granted for the pod hosting the operation being invoked.

A user that's granted the update verb on the pod resource is bound to the admin role, i.e.:

$ oc auth can-i update pods/<pod> --as <user>
yes

Else, a user granted the get verb on the pod resource is bound the viewer role, i.e.:

$ oc auth can-i get pods/<pod> --as <user>
yes

Otherwise the user is not bound any roles, i.e.:

$ oc auth can-i get pods/<pod> --as <user>
no

ACL

The ACL definition for JMX operations works as follows:

Based on the ObjectName of the JMX MBean, a key composed with the ObjectName domain, optionally followed by the type attribute, can be declared, using the convention <domain>.<type>. For example, the java.lang.Threading key for the MBean with the ObjectName java.lang:type=Threading can be declared. A more generic key with the domain only can be declared (e.g. java.lang). A default top-level key can also be declared. A key can either be an unordered or ordered map, whose keys can either be string or regexp, and whose values can either be string or array of strings, that represent roles that are allowed to invoke the MBean member.

The default ACL definition can be found in the ${APP_NAME}-rbac ConfigMap from the fuse-console-cluster-rbac.yml and fuse-console-namespace-rbac.yml templates.

Authorization

The system looks for allowed roles using the following process:

The most specific key is tried first. E.g. for the above example, the java.lang.Threading key is looked up first. If the most specific key does not exist, the domain-only key is looked up, otherwise, the default key is looked up. Using the matching key, the system looks up its map value for:

  1. An exact match for the operation invocation, using the operation signature, and the invocation arguments, e.g.:

    uninstall(java.lang.String)[0]: [] # no roles can perform this operation

  2. A regexp match for the operation invocation, using the operation signature, and the invocation arguments, e.g.:

    /update\(java\.lang\.String,java\.lang\.String\)\[[1-4]?[0-9],.*\]/: admin

    Note that, if the value is an ordered map, the iteration order is guaranteed, and the first matching regexp key is selected;

  3. An exact match for the operation invocation, using the operation signature, without the invocation arguments, e.g.:

    delete(java.lang.String): admin

  4. An exact match for the operation invocation, using the operation name, e.g.:

    dumpStatsAsXml: admin, viewer

If the key matches the operation invocation, it is used and the process will not look for any other keys. So the most specific key always takes precedence. Its value is used to match the role that impersonates the request, against the roles that are allowed to invoke the operation. If the current key does not match, the less specific key is looked up and matched following the steps 1 to 4 above, up until the default key. Otherwise, the operation invocation is denied.

Monitoring

To learn how to use Prometheus and Grafana to monitor Fuse on Openshift 4, follow this guide. Fuse provides a number of example dashboards. We also have instructions on how to use Fuse and Prometheus on Openshift 3

application-templates's People

Contributors

alberttwong avatar apupier avatar astefanutti avatar bparees avatar chirino avatar claudio4j avatar cunningt avatar dhirajsb avatar dsimansk avatar ffang avatar grgrzybek avatar jamesnetherton avatar janstey avatar jiriondrusek avatar johnpoth avatar lburgazzoli avatar llowinge avatar luciddreamz avatar luigidemasi avatar nicolaferraro avatar oscerd avatar rdruss avatar rkorytkowski avatar rnetuka avatar tadayosi avatar valdar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

application-templates's Issues

Provide a "latest" version for image streams

when not specifying a version, several oc/odo tool are defaulting to a "latest" version.
Having it defined in the image streams for Fuse images will be convenient in thosee cases.

For instance, when trying to use "odo create", we will be able to use "odo create fuse7-java-openshift" instead of "odo create fuse7-java-openshift:1.2"

The template for spring-boot-camel-config should create the secret, configmap and serviceaccount

This template references some objects (secret, configmap and a serviceaccount) needed by the application but it doesn't create those objects when the template is processed.

{
"name": "SERVICE_ACCOUNT_NAME",
"displayName": "Service Account",
"value": "qs-camel-config",
"required": true,
"description": "The Service Account that will be used to run the container. It must be already present in OpenShift and have the view role."
},
{
"name": "SECRET_NAME",
"displayName": "Secret Name",
"value": "camel-config",
"required": true,
"description": "The name of the OpenShift Secret that will be used to configure the application. It must be already present in OpenShift."
},
{
"name": "CONFIGMAP_NAME",
"displayName": "ConfigMap Name",
"value": "camel-config",
"required": true,
"description": "The name of the OpenShift ConfigMap that will be used to configure the application. It must be already present in OpenShift."
},

You have to create those objects manually in order to get the template working...

Error when running "mvn -Pf8-deploy". PKIX path building failed

So.. I'm now trying to do local builds and push into OSE.

Alberts-MacBook-Pro:openshift-fis-demo alwong$ mvn -Pf8-deploy
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Fabric8 :: Quickstarts :: Karaf :: Camel Log 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ xpaas ---
[INFO] Deleting /Users/alwong/sandbox/openshift-fis-demo/target
[INFO]
[INFO] --- fabric8-maven-plugin:2.2.0.redhat-079:json (json) @ xpaas ---
[INFO] Configured with file: /Users/alwong/sandbox/openshift-fis-demo/target/classes/kubernetes.json
2016-05-10 23:15:04 INFO  Version:17 - HV000001: Hibernate Validator 5.2.2.Final
[INFO] Generated env mappings: {}
[INFO] Generated port mappings: {http=ContainerPort(containerPort=8181, hostIP=null, hostPort=null, name=http, protocol=null, additionalProperties={}), jolokia=ContainerPort(containerPort=8778, hostIP=null, hostPort=null, name=jolokia, protocol=null, additionalProperties={})}
[INFO] Removed 'version' label from service selector for service `xpaas`
[INFO] Generated ports: []
[INFO] Icon URL: https://cdn.rawgit.com/fabric8io/fabric8/master/fabric8-maven-plugin/src/main/resources/icons/camel.svg
[INFO] Added environment annotations:
[INFO]     ReplicationController xpaas replicas: 1, image: fabric8/quickstart-karaf-camellog:1.0-SNAPSHOT
[INFO] Template is now:
[INFO]     ReplicationController xpaas replicas: 1, image: fabric8/quickstart-karaf-camellog:1.0-SNAPSHOT
[INFO]
[INFO] --- maven-resources-plugin:2.5-redhat-1:resources (default-resources) @ xpaas ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ xpaas ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.5-redhat-1:testResources (default-testResources) @ xpaas ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/alwong/sandbox/openshift-fis-demo/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:testCompile (default-testCompile) @ xpaas ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.2-redhat-1:test (default-test) @ xpaas ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-bundle-plugin:2.3.7:bundle (default-bundle) @ xpaas ---
[WARNING] Bundle com.redhat.demo:xpaas:bundle:1.0-SNAPSHOT : No translation found for macro: body
[WARNING] Bundle com.redhat.demo:xpaas:bundle:1.0-SNAPSHOT : No translation found for macro: sys.runtime.id
[INFO]
[INFO] --- fabric8-maven-plugin:2.2.0.redhat-079:attach (attach) @ xpaas ---
[INFO] Generated Kubernetes JSON resources:
[INFO]   Template xpaas parameters:
[INFO]     ReplicationController xpaas replicas: 1, image: fabric8/quickstart-karaf-camellog:1.0-SNAPSHOT
[INFO] Attaching kubernetes json file: /Users/alwong/sandbox/openshift-fis-demo/target/classes/kubernetes.json to the build
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ xpaas ---
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/target/xpaas.jar to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT.jar
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/pom.xml to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT.pom
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/target/classes/kubernetes.json to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT-kubernetes.json
[INFO]
[INFO] --- maven-bundle-plugin:2.3.7:install (default-install) @ xpaas ---
[INFO] Installing com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (install-bundle) @ xpaas ---
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/target/xpaas.jar to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT.jar
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/pom.xml to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT.pom
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/target/classes/kubernetes.json to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT-kubernetes.json
[INFO]
[INFO] --- karaf-maven-plugin:4.0.2.redhat-621079:assembly (karaf-assembly) @ xpaas ---
[INFO] Using repositories: https://repo.fusesource.com/nexus/content/groups/public/@id=jboss-fuse-repository,http://maven.repository.redhat.com/earlyaccess/all/@id=jboss-earlyaccess-repository,https://maven.repository.redhat.com/ga@id=jboss-ga-repository,https://repo.maven.apache.org/maven2@id=central
[INFO] Creating work directory
[INFO] Loading kar and features repositories dependencies
[INFO] Generating karaf assembly: /Users/alwong/sandbox/openshift-fis-demo/target/assembly
[INFO] Unzipping kars
[INFO] Loading profiles
[INFO] Downloading libraries
[INFO] Loading repositories
[INFO] Resolving features
[INFO] Installing bundle mvn:com.redhat.demo/xpaas/1.0-SNAPSHOT
[INFO] Installing bundle mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.api/1.0.1
[INFO] Installing bundle mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.cm/1.0.6
[INFO] Installing bundle mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.4.4
[INFO] Installing bundle mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0
[INFO] Installing bundle mvn:org.apache.aries.proxy/org.apache.aries.proxy.api/1.0.1
[INFO] Installing bundle mvn:org.apache.aries.proxy/org.apache.aries.proxy.impl/1.0.4
[INFO] Installing bundle mvn:org.apache.aries/org.apache.aries.util/1.1.0
[INFO] Installing bundle mvn:org.apache.camel/camel-blueprint/2.15.1.redhat-621084
[INFO] Installing bundle mvn:org.apache.camel/camel-catalog/2.15.1.redhat-621084
[INFO] Installing bundle mvn:org.apache.camel/camel-commands-core/2.15.1.redhat-621084
[INFO] Installing bundle mvn:org.apache.camel/camel-core/2.15.1.redhat-621084
[INFO] Installing bundle mvn:org.apache.camel.karaf/camel-karaf-commands/2.15.1.redhat-621084
[INFO] Installing bundle mvn:org.apache.felix/org.apache.felix.configadmin/1.8.4
[INFO] Installing bundle mvn:org.apache.felix/org.apache.felix.fileinstall/3.5.0
[INFO] Installing bundle mvn:org.apache.karaf.features/org.apache.karaf.features.core/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.command/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.config/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.modules/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.commands/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.console/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.dev/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.log/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.osgi/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.packages/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.2.11_1
[INFO] Installing bundle mvn:org.ow2.asm/asm-all/5.0.3
[INFO] Installing bundle mvn:org.ops4j.pax.logging/pax-logging-api/1.8.4
[INFO] Installing bundle mvn:org.ops4j.pax.logging/pax-logging-service/1.8.4
[INFO] Installing bundle mvn:org.ops4j.pax.url/pax-url-aether/2.4.2
[INFO] Installing bundle mvn:org.ops4j.pax.url/pax-url-wrap/2.4.2/jar/uber
[INFO] Installing bundle mvn:org.codehaus.woodstox/stax2-api/3.1.4
[INFO] Installing bundle mvn:org.codehaus.woodstox/woodstox-core-asl/4.4.1
[INFO] Installing feature config for shell/2.4.0.redhat-621084
[INFO] Installing feature config for karaf-framework/2.4.0.redhat-621084
[INFO] Installing feature config for xml-specs-api/2.5.0
[INFO] Installing feature config for camel-core/2.15.1.redhat-621084
[INFO] Installing feature config for jaas/2.4.0.redhat-621084
[INFO] Installing feature config for jaas-condition-shell/2.4.0.redhat-621084
[INFO] Installing feature config for camel-blueprint/2.15.1.redhat-621084
[INFO] Installing feature config for aries-blueprint/2.4.0.redhat-621084
[INFO] Installing feature config for aries-proxy/2.4.0.redhat-621084
[INFO] Feature a05e664e-0875-4c59-a811-03da2cae3165 is defined as a boot feature
[INFO]
[INFO] --- karaf-maven-plugin:4.0.2.redhat-621079:archive (karaf-archive) @ xpaas ---
[INFO]
[INFO] --- docker-maven-plugin:0.13.6:build (default-cli) @ xpaas ---
[ERROR] DOCKER> sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.935 s
[INFO] Finished at: 2016-05-10T23:15:10-07:00
[INFO] Final Memory: 56M/736M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.jolokia:docker-maven-plugin:0.13.6:build (default-cli) on project xpaas: Unable to check image [jboss-fuse-6/fis-karaf-openshift:1.0] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Image fuse-apicurito:1.4 is not exists in the registry

Hello everyone,

During the testing of deployment fuse-apicurito, I'm getting an error to pull an image, please review below:

docker pull registry.redhat.io/fuse7/fuse-apicurito:1.4
Error response from daemon: error parsing HTTP 404 response body: invalid character 'F' looking for the beginning of value: "File not found.\"
                    {
                        "name": "1.4",
                        "annotations": {
                            "description": "Red Hat Apicurito UI image.",
                            "openshift.io/display-name": "Red Hat Apicurito UI",
                            "tags": "apicurio,hidden"
                        },
                        "referencePolicy": {
                            "type": "Local"
                        },
                        "from": {
                            "kind": "DockerImage",
                            "name": "registry.redhat.io/fuse7/fuse-apicurito:1.4"
                        }

There is no image fuse-apicurito:1.4 in a registry.

Could you please add the following image or comment out this section?

Thank you!

AMQ Pod scale-up fail: EAP missing AMQ dependencies

The AMQ Pod fails to scale up after multiple retries. In Wildfly/EAP logs, server starts but says root.war deploy failed on what looks to be missing AMQ dependencies and a JBoss wrapper gets a TERM signal from somewhere.

Templates:
https://github.com/jboss-fuse/application-templates/blob/master/quickstarts/eap-camel-amq-template.json
https://github.com/jboss-fuse/application-templates/blob/master/fis-image-streams.json

OCP version:
openshift v3.9.25
kubernetes v1.9.1+a0ce1bc657

Log snippet:

20:07:51,779 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "ROOT.war")]) - failure description: {
--
"WFLYCTL0412: Required services that are not installed:" => ["jboss.naming.context.java.ActiveMQConnectionFactory"],
--
20:07:52,646 ERROR [org.jboss.as] (Controller Boot Thread) WFLYSRV0026: JBoss EAP 7.1.2.GA (WildFly Core 3.0.13.Final-redhat-1) started (with errors) in 26752ms - Started 551 of 863 services (21 services failed or missing dependencies, 489 services are lazy, passive or on-demand)
--
ERROR *** JBossAS wrapper process (1) received TERM signal ***

Problem with pushing image to registry

I built a quickstart. Now I'm trying to deploy it.

mvn -Pf8-deploy
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Fabric8 :: Quickstarts :: Karaf :: Camel Log 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ xpaas ---
[INFO] Deleting /Users/alwong/sandbox/openshift-fis-demo/target
[INFO]
[INFO] --- fabric8-maven-plugin:2.2.0.redhat-079:json (json) @ xpaas ---
[INFO] Configured with file: /Users/alwong/sandbox/openshift-fis-demo/target/classes/kubernetes.json
2016-05-11 00:12:55 INFO  Version:17 - HV000001: Hibernate Validator 5.2.2.Final
[INFO] Generated env mappings: {}
[INFO] Generated port mappings: {http=ContainerPort(containerPort=8181, hostIP=null, hostPort=null, name=http, protocol=null, additionalProperties={}), jolokia=ContainerPort(containerPort=8778, hostIP=null, hostPort=null, name=jolokia, protocol=null, additionalProperties={})}
[INFO] Removed 'version' label from service selector for service `xpaas`
[INFO] Generated ports: []
[INFO] Icon URL: https://cdn.rawgit.com/fabric8io/fabric8/master/fabric8-maven-plugin/src/main/resources/icons/camel.svg
[INFO] Added environment annotations:
[INFO]     ReplicationController xpaas replicas: 1, image: fabric8/quickstart-karaf-camellog:1.0-SNAPSHOT
[INFO] Template is now:
[INFO]     ReplicationController xpaas replicas: 1, image: fabric8/quickstart-karaf-camellog:1.0-SNAPSHOT
[INFO]
[INFO] --- maven-resources-plugin:2.5-redhat-1:resources (default-resources) @ xpaas ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ xpaas ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.5-redhat-1:testResources (default-testResources) @ xpaas ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/alwong/sandbox/openshift-fis-demo/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:testCompile (default-testCompile) @ xpaas ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.2-redhat-1:test (default-test) @ xpaas ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-bundle-plugin:2.3.7:bundle (default-bundle) @ xpaas ---
[WARNING] Bundle com.redhat.demo:xpaas:bundle:1.0-SNAPSHOT : No translation found for macro: body
[WARNING] Bundle com.redhat.demo:xpaas:bundle:1.0-SNAPSHOT : No translation found for macro: sys.runtime.id
[INFO]
[INFO] --- fabric8-maven-plugin:2.2.0.redhat-079:attach (attach) @ xpaas ---
[INFO] Generated Kubernetes JSON resources:
[INFO]   Template xpaas parameters:
[INFO]     ReplicationController xpaas replicas: 1, image: fabric8/quickstart-karaf-camellog:1.0-SNAPSHOT
[INFO] Attaching kubernetes json file: /Users/alwong/sandbox/openshift-fis-demo/target/classes/kubernetes.json to the build
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ xpaas ---
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/target/xpaas.jar to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT.jar
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/pom.xml to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT.pom
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/target/classes/kubernetes.json to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT-kubernetes.json
[INFO]
[INFO] --- maven-bundle-plugin:2.3.7:install (default-install) @ xpaas ---
[INFO] Installing com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (install-bundle) @ xpaas ---
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/target/xpaas.jar to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT.jar
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/pom.xml to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT.pom
[INFO] Installing /Users/alwong/sandbox/openshift-fis-demo/target/classes/kubernetes.json to /Users/alwong/.m2/repository/com/redhat/demo/xpaas/1.0-SNAPSHOT/xpaas-1.0-SNAPSHOT-kubernetes.json
[INFO]
[INFO] --- karaf-maven-plugin:4.0.2.redhat-621079:assembly (karaf-assembly) @ xpaas ---
[INFO] Using repositories: https://repo.fusesource.com/nexus/content/groups/public/@id=jboss-fuse-repository,http://maven.repository.redhat.com/earlyaccess/all/@id=jboss-earlyaccess-repository,https://maven.repository.redhat.com/ga@id=jboss-ga-repository,https://repo.maven.apache.org/maven2@id=central
[INFO] Creating work directory
[INFO] Loading kar and features repositories dependencies
[INFO] Generating karaf assembly: /Users/alwong/sandbox/openshift-fis-demo/target/assembly
[INFO] Unzipping kars
[INFO] Loading profiles
[INFO] Downloading libraries
[INFO] Loading repositories
[INFO] Resolving features
[INFO] Installing bundle mvn:com.redhat.demo/xpaas/1.0-SNAPSHOT
[INFO] Installing bundle mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.api/1.0.1
[INFO] Installing bundle mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.cm/1.0.6
[INFO] Installing bundle mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.4.4
[INFO] Installing bundle mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0
[INFO] Installing bundle mvn:org.apache.aries.proxy/org.apache.aries.proxy.api/1.0.1
[INFO] Installing bundle mvn:org.apache.aries.proxy/org.apache.aries.proxy.impl/1.0.4
[INFO] Installing bundle mvn:org.apache.aries/org.apache.aries.util/1.1.0
[INFO] Installing bundle mvn:org.apache.camel/camel-blueprint/2.15.1.redhat-621084
[INFO] Installing bundle mvn:org.apache.camel/camel-catalog/2.15.1.redhat-621084
[INFO] Installing bundle mvn:org.apache.camel/camel-commands-core/2.15.1.redhat-621084
[INFO] Installing bundle mvn:org.apache.camel/camel-core/2.15.1.redhat-621084
[INFO] Installing bundle mvn:org.apache.camel.karaf/camel-karaf-commands/2.15.1.redhat-621084
[INFO] Installing bundle mvn:org.apache.felix/org.apache.felix.configadmin/1.8.4
[INFO] Installing bundle mvn:org.apache.felix/org.apache.felix.fileinstall/3.5.0
[INFO] Installing bundle mvn:org.apache.karaf.features/org.apache.karaf.features.core/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.command/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.config/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.jaas/org.apache.karaf.jaas.modules/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.commands/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.console/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.dev/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.log/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.osgi/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.karaf.shell/org.apache.karaf.shell.packages/2.4.0.redhat-621084
[INFO] Installing bundle mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.2.11_1
[INFO] Installing bundle mvn:org.ow2.asm/asm-all/5.0.3
[INFO] Installing bundle mvn:org.ops4j.pax.logging/pax-logging-api/1.8.4
[INFO] Installing bundle mvn:org.ops4j.pax.logging/pax-logging-service/1.8.4
[INFO] Installing bundle mvn:org.ops4j.pax.url/pax-url-aether/2.4.2
[INFO] Installing bundle mvn:org.ops4j.pax.url/pax-url-wrap/2.4.2/jar/uber
[INFO] Installing bundle mvn:org.codehaus.woodstox/stax2-api/3.1.4
[INFO] Installing bundle mvn:org.codehaus.woodstox/woodstox-core-asl/4.4.1
[INFO] Installing feature config for shell/2.4.0.redhat-621084
[INFO] Installing feature config for karaf-framework/2.4.0.redhat-621084
[INFO] Installing feature config for xml-specs-api/2.5.0
[INFO] Installing feature config for camel-core/2.15.1.redhat-621084
[INFO] Installing feature config for jaas/2.4.0.redhat-621084
[INFO] Installing feature config for jaas-condition-shell/2.4.0.redhat-621084
[INFO] Installing feature config for camel-blueprint/2.15.1.redhat-621084
[INFO] Installing feature config for aries-blueprint/2.4.0.redhat-621084
[INFO] Installing feature config for aries-proxy/2.4.0.redhat-621084
[INFO] Feature 3c8b4293-44f7-4f39-aad4-218f02754302 is defined as a boot feature
[INFO]
[INFO] --- karaf-maven-plugin:4.0.2.redhat-621079:archive (karaf-archive) @ xpaas ---
[INFO]
[INFO] --- docker-maven-plugin:0.13.6:build (default-cli) @ xpaas ---
[INFO] DOCKER> ... Trying to pull repository registry.access.redhat.com/jboss-fuse-6/fis-karaf-openshift ...
[INFO] DOCKER> ... 28b6eecf5e5d Pulling image (1.0) from registry.access.redhat.com/jboss-fuse-6/fis-karaf-openshift
[INFO] DOCKER> ... 28b6eecf5e5d Pulling image (1.0) from registry.access.redhat.com/jboss-fuse-6/fis-karaf-openshift, endpoint: https://registry.access.redhat.com/v1/
[INFO] DOCKER> ... 28b6eecf5e5d Pulling dependent layers
[INFO] DOCKER> ... bf63a676257a Download complete
[INFO] DOCKER> ... 42fb70fed462 Pulling metadata
[INFO] DOCKER> ... 42fb70fed462 Pulling fs layer
       ========
[INFO] DOCKER> ... 42fb70fed462 Download complete
[INFO] DOCKER> ... 41b8080e6a51 Pulling metadata
[INFO] DOCKER> ... 41b8080e6a51 Pulling fs layer
       =================================================================================================================================
[INFO] DOCKER> ... 41b8080e6a51 Download complete
[INFO] DOCKER> ... 28b6eecf5e5d Pulling metadata
[INFO] DOCKER> ... 28b6eecf5e5d Pulling fs layer
       ======================
[INFO] DOCKER> ... 28b6eecf5e5d Download complete
[INFO] DOCKER> ... 28b6eecf5e5d Download complete
[INFO] DOCKER> ... Status: Downloaded newer image for registry.access.redhat.com/jboss-fuse-6/fis-karaf-openshift:1.0
[INFO] DOCKER> ... registry.access.redhat.com/jboss-fuse-6/fis-karaf-openshift: this image was pulled from a legacy registry.  Important: This registry version will not be supported in future versions of docker.
[INFO] Copying files to /Users/alwong/sandbox/openshift-fis-demo/target/docker/fabric8/quickstart-karaf-camellog/1.0-SNAPSHOT/build/maven
[INFO] Building tar: /Users/alwong/sandbox/openshift-fis-demo/target/docker/fabric8/quickstart-karaf-camellog/1.0-SNAPSHOT/tmp/docker-build.tar
[INFO] DOCKER> [fabric8/quickstart-karaf-camellog:1.0-SNAPSHOT] : Built image 053f2db68573
[INFO]
[INFO] --- docker-maven-plugin:0.13.6:push (default-cli) @ xpaas ---
[INFO] DOCKER> ... The push refers to a repository [registry.access.redhat.com/fabric8/quickstart-karaf-camellog] (len: 1)
[INFO] DOCKER> ... Sending image list
[ERROR] DOCKER> Error: Status 404 trying to push repository fabric8/quickstart-karaf-camellog: "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<title>404 Not Found</title>\n<h1>Not Found</h1>\n<p>The requested URL was not found on the server.</p><p>If you entered the URL manually please check your spelling and try again.</p>\n"
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 46.332 s
[INFO] Finished at: 2016-05-11T00:13:40-07:00
[INFO] Final Memory: 60M/752M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.jolokia:docker-maven-plugin:0.13.6:push (default-cli) on project xpaas: Unable to push 'fabric8/quickstart-karaf-camellog:1.0-SNAPSHOT' -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

FUSE Console Pod scale-up fails

The scale-up of FUSE Console Pod fails. I cannot find any meaningful log from the Pod itself except a single line in output: "NGINX".

Is the fuse70-console image that is used by fis-console-namespace template based on Nginx? If so, root is required for that image.

When I spinup the latest bare Nginx image under the same project that the other Quickstarts are running in, then I get this error:


2018/05/25 20:28:41 [warn] 1#1: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:2
2018/05/25 20:31:51 [emerg] 1#1: mkdir() "/var/cache/nginx/client_temp" failed (13: Permission denied)
nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (13: Permission denied)

Templates:
https://github.com/jboss-fuse/application-templates/blob/master/fis-console-namespace-template.json

OCP version:
openshift v3.9.25
kubernetes v1.9.1+a0ce1bc657

Log snippet:
NGINX

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.