[openstack-dev] [EXTERNAL] Re: [TripleO] roles_data.yaml equivalent in containers

Abhishek Kane Abhishek.Kane at veritas.com
Wed Nov 1 13:18:32 UTC 2017


Hi Steve,

I see that the docker/services are importing tags from the puppet/services as shown in-
https://github.com/openstack/tripleo-heat-templates/blob/master/docker/services/sahara-api.yaml#L53
https://github.com/openstack/tripleo-heat-templates/blob/master/docker/services/sahara-api.yaml#L64
https://github.com/openstack/tripleo-heat-templates/blob/master/docker/services/sahara-api.yaml#L74
https://github.com/openstack/tripleo-heat-templates/blob/master/docker/services/sahara-api.yaml#L76

It looks like an indirect call to puppet services.

Currently I want to execute step_config on the controller physical host-
https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/services/veritas-hyperscale-controller.yaml#L98

And set service_name to call the service_config_settings in different containers-
https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/services/veritas-hyperscale-controller.yaml#L100

So, instead of that redirection from docker to puppet service, I copied veritas-hyperscale-controller.yaml file to docker/services and added a new environment file in the services-docker to call it.
http://paste.openstack.org/show/625211/
http://paste.openstack.org/show/625209/

This did not work though. Do I need to call puppet service indirectly via docker service?

Thanks,
Abhishek



On 10/30/17, 9:35 PM, "Abhishek Kane" <Abhishek.Kane at veritas.com> wrote:

    Hi Steven,
    
    I was out of the town and hence couldn’t reply to the email.
    I will take a look at the examples you have shared and get back with the results tomorrow.
    
    Thanks,
    Abhishek
    
    On 10/25/17, 2:21 PM, "Steven Hardy" <shardy at redhat.com> wrote:
    
        On Wed, Oct 25, 2017 at 6:41 AM, Abhishek Kane
        <Abhishek.Kane at veritas.com> wrote:
        >
        > Hi,
        >
        >
        >
        > In THT I have an environment file and corresponding puppet service for Veritas HyperScale.
        >
        > https://github.com/openstack/tripleo-heat-templates/blob/master/environments/veritas-hyperscale/veritas-hyperscale-config.yaml
        >
        > https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/services/veritas-hyperscale-controller.yaml
        >
        >
        >
        > This service needs rabbitmq user the hooks for it is “veritas_hyperscale::hs_rabbitmq”-
        >
        > https://github.com/openstack/puppet-tripleo/blob/master/manifests/profile/base/rabbitmq.pp#L172
        >
        >
        >
        > In order to configure Veritas HyperScale, I add “OS::TripleO::Services::VRTSHyperScale” to roles_data.yaml file and use following command-
        >
        >
        >
        > # openstack overcloud deploy --templates -r /home/stack/roles_data.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/veritas-hyperscale/veritas-hyperscale-config.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/veritas-hyperscale/cinder-veritas-hyperscale-config.yaml
        >
        >
        >
        > This command sets “veritas_hyperscale_controller_enabled” to true in hieradata and all the hooks gets called.
        >
        >
        >
        > I am trying to containerize Veritas HyperScale services. I used following config file in quickstart-
        >
        > http://paste.openstack.org/show/624438/
        >
        >
        >
        > It has the environment files-
        >
        >   -e {{overcloud_templates_path}}/environments/veritas-hyperscale/cinder-veritas-hyperscale-config.yaml
        >
        >   -e {{overcloud_templates_path}}/environments/veritas-hyperscale/veritas-hyperscale-config.yaml
        >
        >
        >
        > But this itself doesn’t set “veritas_hyperscale_controller_enabled” to true in hieradata and veritas_hyperscale::hs_rabbitmq doesn’t get called.
        >
        > https://github.com/openstack/tripleo-heat-templates/blob/master/roles_data.yaml#L56
        >
        >
        >
        >
        >
        > How do I add OS::TripleO::Services::VRTSHyperScale in case of containers?
        
        the roles_data.yaml approach you used previously should still work in
        the case of containers, but the service template referenced will be
        different (the files linked above still refer to the puppet service
        template)
        
        e.g
        
        https://github.com/openstack/tripleo-heat-templates/blob/master/environments/veritas-hyperscale/veritas-hyperscale-config.yaml#L18
        
        defines:
        
        OS::TripleO::Services::VRTSHyperScale:
        ../../puppet/services/veritas-hyperscale-controller.yaml
        
        Which overrides this default mapping to OS::Heat::None:
        
        https://github.com/openstack/tripleo-heat-templates/blob/master/overcloud-resource-registry-puppet.j2.yaml#L297
        
        For containerized services, there are different resource_registry
        mappings that refer to the templates in
        tripleo-heat-templates/docker/services. e.g like this:
        
        https://github.com/openstack/tripleo-heat-templates/blob/master/environments/services-docker/sahara.yaml
        
        I think you'll need to create similar new service templates under
        docker/services, then create some new environment files which map to
        the new implementation that defines the data needed to start the
        contianers.
        
        You can get help with this in #tripleo on Freenode, and there are some
        docs here:
        
        https://github.com/openstack/tripleo-heat-templates/blob/master/docker/services/README.rst
        https://docs.openstack.org/tripleo-docs/latest/install/containers_deployment/index.html
        
        There was also a deep-dive recorded which is linked from here:
        
        https://etherpad.openstack.org/p/tripleo-deep-dive-topics
        
        Hope that helps somewhat?
        
        Thanks,
        
        Steve
        
        __________________________________________________________________________
        OpenStack Development Mailing List (not for usage questions)
        Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
        http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
        
    
    __________________________________________________________________________
    OpenStack Development Mailing List (not for usage questions)
    Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
    http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
    



More information about the OpenStack-dev mailing list