Deploying Custom Cartridges on Openshift Origin

2019-05-26 23:14发布

问题:

I have created a new custom cartridge, in which I have packaged into an rpm using tito and installed using yum. This cartridge is being copied from my spec file to the /usr/libexec/openshift/cartridges directory, however, when I log into the origin home site and try to create an application my cartridge does not show up. I went digging in the ruby scripts and I found that there is a script named cartridge_cache.rb seems to be caching the cartridges it finds within the /usr/libexec/openshift/cartridges directory. I have tried to get origin to reload the cache to include my new cartridge by removing all the cache files within the /var/www/openshift/broker/cache directory then restarting the broker, but I have had no success. Is there somewhere I need to hardcode my cart name to some global variable or something ? Basically, Does anyone know how to get your custom cart to show up on the webpage for creating a new application.

UPDATE: So I ran into a slide deck that had one slide on how to install the cartridge. However, I still have had no success, but here is what I have tried since the previous post:

  1. moved my cartridge directory from /usr/libexec/openshift/cartridges to /usr/libexec/openshift/catridges/v2
  2. ran this command

    oo-admin-cartridge -a install -s /usr/libexec/openshift/cartridges/v2/myfirstcart

    which the output stated it installed the cartridge.

  3. cleared cache with

    bundle exec rake tmp:clear

  4. restarted the openshift broker service

Also, just to make sure the cache was cleared out I went into the Rails console and ran Rails.cache.clear. And still no custom cartridge on the openshift webpage.

回答1:

It works for me after cleaning cache

cd /var/www/openshift/broker
bundle exec rake tmp:clear

and restarting broker service

service openshift-broker restart

http://openshift.github.io/documentation/oo_administration_guide.html#clear-the-broker-application-cache



回答2:

MCollective service on Node server (if you have separate servers for broker and node) must be restarted. e.g. with

service ruby193-mcollective restart

After that you should clear the caches on broker server e.g with

/usr/sbin/oo-admin-broker-cache --console

Then you should have new cartridges available