Finding Pump Express compatible chargers

Android Comments

Mediatek Pump Express

A friend of mine recently asked me to find Pump Express compatible chargers. I never heard that term, so I needed to research it. Apparently Pump Express is the fast charging solution of mid budget chip maker Mediatek. It’s the direct competitor to Quick Charge from Qualcomm or Oppos VOOC/OnePlus Dash Charge (they are using identical technology).
But in contrast to the formerly mentioned competing technologies where you can easily find chargers on Amazon (Quick Charge/VOOC), finding Pump Express compatible chargers wasn’t as easy.

But that’s only because Mediatek did their charging technology the right way. To quote from Mediateks Pump Express Marketing Site:

The technology is compatible with the international standard of ‘USB PD 3.0 programmable power supplies’, allowing standard USB PD 3.0 fast chargers to boost Pump Express 4.0-enabled smartphones.

So instead of relying on a proprietary technique, they are utilizing USB Power Delivery. Therefore any USB PD 3.0 compatible charger should be able to “pump” the battery of your smartphone. I did some searches on Amazon.com, Amazon.co.uk and Amazon.de so all of the less tech savy people can choose a device of their liking without the need of delving deeper. ;-)

(Image source: Mediatek)

Openshift: Change Pull Secret

Openshift Comments

Warning: This procedure will lead to Node drains, node restarts and - as a result pod restarts! Prepare accordingly!

To change the pull secret of an Openshift cluster (e.g. because you switched Red Hat accounts), save your new pull secret you downloaded from cloud.openshift.com in a file, lets call it my-pull.secret. Then execute this oc command:

oc set data secret/pull-secret -n openshift-config \

Of course you’ll need the proper permissions, I assume it’s Cluster Admin, but I didn’t test the exact permission requirements.

Openshift: Remove Zombie machines

Openshift, Kubernetes Comments

When an Openshift MachineSet was created with a faulty configuration, Machines created from it may be undeletable by the Controller although the Machines are not existing at all. The status of the Machines will then stay in the “Deleting” state.

$ oc get machine -n openshift-machine-api
NAME                              PHASE      TYPE              REGION       ZONE   AGE
m3adow-infra-westeurope1-5asrt    Deleting                                         3d2h
m3adow-infra-westeurope1-ioq4z    Running    Standard_D2s_v3   westeurope   1      3d

To manually remove the Machine from the API, remove its finalizers via patch:

oc patch machine -n openshift-machine-api --type=merge -p '{"metadata":{"finalizers":null}}' m3adow-infra-westeurope1-5asrt

This will instantly remove it.

Blog: Codebites removal announcement

Blog Comments

I’ve been inactive for a long time and I won’t promise any more activity. I just wanted to inform all potential feed readers that I will remove Codebites as their own section soon. The plans I initially had with Codebites didn’t work well, Life and Work prevented me from writing more posts, so I don’t think having the few posts I write separated into different sections makes any sense. Therefore from now on all posts will be available in the one (and only) RSS feed (feed.xml) once again. This may lead to some old and/or already read posts reappearing in your feeds. Also, if you’re using one of the deprecated ones, you may encounter problems. While I tried redirecting the old RSS feeds to the new one (with Javascript, which surprisingly worked best for the three applications I tested with), I’m not certain all RSS readers support redirects.

Ansible: Using Python string substituition in variables

Ansible, Codebites Comments

Scenario: Utilize Pythons string substitution in Ansible variables

- hosts: localhost
  connection: local

    foobar: ">>%s<<"
    substitution: "adminswerk.de"

    - debug:
        msg: "{{ foobar % substitution }}"

Output (slightly truncated):

$ ansible-playbook string_format.yml
PLAY [localhost] **********************************************************************************************************************************************

TASK [debug] **************************************************************************************************************************************************
ok: [localhost] => {
    "msg": ">>adminswerk.de<<"

PLAY RECAP ****************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0