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 puppet-users+unsubscr...@googlegroups.com.
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