Code Monkey home page Code Monkey logo

apb-base's People

Contributors

cfchase avatar codificat avatar djwhatle avatar djzager avatar dymurray avatar fabianvf avatar jcpowermac avatar jmontleon avatar jmrodri avatar matzew avatar mhrivnak avatar rgolangh avatar shawn-hurley avatar tchughesiv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

apb-base's Issues

Missing core ansible feature json-filter in image

I have an APB that I've had to pin to release-1.2 because of how the parameters where being provided when run manually.https://github.com/openshift-labs/starter-guides/blob/ocp-3.11/apb/Dockerfile#L1

Now, when I run this APB, using the provisioning playbook as documented (https://github.com/openshift-labs/starter-guides/tree/ocp-3.11/apb#provision-1), which has been running fine for months.

Now, I get the following error:

TASK [openshift_eclipse_che : set_fact] **********************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "You need to install \"jmespath\" prior to running json_query filter"}

Which maps to this imported role line: https://github.com/siamaksade/ansible-openshift-eclipse-che/blob/master/tasks/multi_user.yml#L100

This means, that the image is missing python-jmespath. Found this issue (https://bugzilla.redhat.com/show_bug.cgi?id=1484910) but that one should be fixed upstream in the version that is used in this image.

An additional question:

Is there a way to properly identify the images built on Dockerhub to tags on this repository? If I develop using release-1.2 tag of ansibleplaybookbundle/apb-base is there any guarantee the image will be stable through time? Is there non-rolling tags?

Rebuild latest docker image

It seems that epel-testing introduction has been integrated into apb-base:latest

The commit has been reverted but not integrated into the latest image which leads to anomaly on APBs base on it.

For future reference, here are the errors I encountered:

  • 'ascii' codec can't decode byte 0xe2 in position 5091: ordinal not in range(128)" when lookup on file that contains non ascii chars
  • Statefulset lookup returning incomplete information (Ready information missing)

Passing extra-vars via key=value is broken

Originally the issue [1] was found in eclipse-che where tests are executed via the following command using the canary version of apb-base :

oc run "${APB_NAME}-test" -it --restart='Never' --image "${REGISTRY}/${APB_NAME}/${APB_NAME}" --env "OPENSHIFT_TOKEN=${OC_PASS}" --env "OPENSHIFT_TARGET=https://kubernetes.default.svc" --env "POD_NAME=${APB_NAME}-test" --env "POD_NAMESPACE=${APB_NAME}" --overrides='{"apiVersion":"v1","spec":{"serviceAccountName":"apb"}}' -- test -e namespace=${APB_NAME}

The following command works correctly against sprint150.1 version of apb-base, but fails with the following error against the most recent version:

ERROR! Invalid extra vars data supplied. '@/opt/apb/env/extravars' could not be made into a dictionary

Basically, it appeared to be that on the recent version of apb-base extra vars must be passed the following way: -e "{"namespace": "${APB_NAME}"}" and -e namespace=${APB_NAME} way of passing extra vars is not supported currently even though the docs are saying the opposite:

-e EXTRA_VARS, --extra-vars=EXTRA_VARS
set additional variables as key=value or YAML/JSON, if
filename prepend with @

[1] ansibleplaybookbundle/eclipse-che-apb#23

Multiline secrets are not correctly parsed

Bug:

What happened:
If you follow https://github.com/openshift/ansible-service-broker/blob/master/docs/secrets.md and try to add a multiline secret as in:

---
apiVersion: v1
kind: Secret
metadata:
    name: test
    namespace: openshift-automation-service-broker
stringData:
    "test1": "test1"
    "test2": "test2"
    "test_multiline": |-
      -----BEGIN RSA PRIVATE KEY-----
      <FIRST LINE OF THE SSH KEY>
      <SECOND LINE OF THE SSH KEY>

the Ansible Playbook Bundle will see an error while loading the secrets YAML file, as if it was using newlines to separate secrets:

ERROR! Syntax Error while loading YAML.
  could not find expected ':'
The error appears to have been in '/tmp/secrets': line 6, column 1, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
<FIRST LINE OF THE SSH KEY>
<SECOND LINE OF THE SSH KEY>
^ here

This happens as well if you use the base64 data secret.

What you expected to happen:

The secret should keep the newlines and be used as a parameter on the APB.

Mounted secrets are copied to /tmp/secrets so they can be passed as parameters to the playbook, but instead of producing this expected secrets file:

---
ACCESS_KEY: blah
SECRET_KEY: blah
SWARM_CLUSTER_KEYPAIR: |-
-----BEGIN RSA PRIVATE KEY-----
 blah
 blah
 blah
 -----END RSA PRIVATE KEY-----
openstack_admin__user: blah
openstack_admin_password: blah

They produce something like this, which will fail during parsing:

---
ACCESS_KEY: blah
SECRET_KEY: blah
SWARM_CLUSTER_KEYPAIR: -----BEGIN RSA PRIVATE KEY-----
 blah1 blah2
 blah3 ...
 -----END RSA PRIVATE KEY-----
openstack_admin__user: blah
openstack_admin_password: blah

oc client version on container is not the same as Origin deployment

Hi there,

Using the script run_latest_build.sh to start a origin local cluster, the oc client version do not match with Origin version:

sh-4.2$ oc version
oc v3.7.0+7ed6862
kubernetes v1.7.6+a08f5eeb62
features: Basic-Auth GSSAPI Kerberos SPNEGO

Server https://172.30.0.1:443
openshift v3.9.0-alpha.4+a303fa3-389
kubernetes v1.9.1+a0ce1bc657

Then the APBs fails on execution because of the API changes.

Dockerfile: https://github.com/ansibleplaybookbundle/apb-base/blob/master/Dockerfile-nightly
Rpms: http://mirror.centos.org/centos/7/paas/x86_64/openshift-origin/

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.