On Thursday, June 1, 2017 at 11:39:26 PM UTC-4, Matthew Kennedy wrote:
>
> Because puppet is declarative you can only have one instance of a resource 
> with a particular title in the catalog. This means you cannot have two 
> instances of a class in the catalog (though you can include a class 
> multiple times but it only exists in the catalog once)
>
> Luckily you do not have two instances of a class. 
>  'zendserver::sdk::command' appears to be a defined type.
>

That was on purpose :).
 

>
> Defined types generate resources. You can have multiple instances of a 
> type so long as the title is unique. This is exactly what your example 
> shows, two instances of 'zendserver::sdk::command' with two different 
> titles.
>
> Now the good part for you. Defined types contain all of their unique 
> resources.  This means that any resources that get generated by 
> 'zendserver::sdk::command' will honor the ordering metaparameters. See 
> https://docs.puppet.com/puppet/4.10/lang_defined_types.html#containment
>
> The only thing you need to do to order your commands is add a -> after the 
> closing } of the first command ie
>
>     zendserver::sdk::command { "vhost_add_${vhostname}_${port}":
>       target             => $target,
>       api_command        => 'vhostAdd',
>       additional_options => $additional_options,
>     } ->
>     zendserver::sdk::command { "vhost_reload_${vhostname}_${port}":
>       target             => $target,
>       api_command        => 'restartPhp',
>     }
>
> Now all resources generated by Zendserver::Sdk::Command[
> "vhost_reload_${vhostname}_${port}"] will apply /after/ the resources 
> generated by Zendserver::Sdk::Command["vhost_add_${vhostname}_${port}"]
>


As simple as that?  Great.  I tried it and the reload did run after the 
add, but I can't see from the logs that the reload has the add as 
dependency.

With your suggested change:

Debug: 
/Stage[main]/Main/Node[default]/Zendserver::Vhost[vhost1test91]/Zendserver::Vhost::Add[vhost1test91]/Zendserver::Sdk::Command[vhost_add_vhost1test_91]/Exec[zsapi_vhost_add_vhost1test_91]:
 
The container Zendserver::Sdk::Command[vhost_add_vhost1test_91] will 
propagate my refresh event
Debug: Zendserver::Sdk::Command[vhost_add_vhost1test_91]: The container 
Zendserver::Vhost::Add[vhost1test91] will propagate my refresh event
Debug: 
/Stage[main]/Main/Node[default]/Zendserver::Vhost[vhost1test91]/Zendserver::Vhost::Add[vhost1test91]/Zendserver::Sdk::Command[vhost_reload_vhost1test_91]/Exec[zsapi_vhost_reload_vhost1test_91]/returns:
 
Exec try 1/3
Debug: Exec[zsapi_vhost_reload_vhost1test_91](provider=posix): Executing 
'/usr/local/zend/bin/zs-client.sh restartPhp --target=localadmin  '
Debug: Executing '/usr/local/zend/bin/zs-client.sh restartPhp 
--target=localadmin  '

Without your change (my original code):

Debug: 
/Stage[main]/Main/Node[default]/Zendserver::Vhost[vhost1test91]/Zendserver::Vhost::Remove[vhost1test91]/Zendserver::Sdk::Command[vhost_remove_vhost1test_91]/Exec[zsapi_vhost_remove_vhost1test_91]:
 
The container Zendserver::Sdk::Command[vhost_remove_vhost1test_91] will 
propagate my refresh event
Debug: Zendserver::Sdk::Command[vhost_remove_vhost1test_91]: The container 
Zendserver::Vhost::Remove[vhost1test91] will propagate my refresh event
Debug: 
/Stage[main]/Main/Node[default]/Zendserver::Vhost[vhost1test91]/Zendserver::Vhost::Remove[vhost1test91]/Zendserver::Sdk::Command[vhost_reload_vhost1test_91]/Exec[zsapi_vhost_reload_vhost1test_91]/returns:
 
Exec try 1/3
Debug: Exec[zsapi_vhost_reload_vhost1test_91](provider=posix): Executing 
'/usr/local/zend/bin/zs-client.sh restartPhp --target=localadmin  '
Debug: Executing '/usr/local/zend/bin/zs-client.sh restartPhp 
--target=localadmin  '

I don't see any difference.

Thanks,

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/8ef98bc1-a184-4b78-824a-e27c2b5b2c7b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to