Feature #113
closedAdd backend support for relationships between host, hostgroup, puppetclass, architecture and OS
Description
It may not be possible or desirable, in puppet, to implement a module that supports all combinations of architecture and operating system. For this reason it should be possible to define valid puppetclass/architecture/OS combinations.
These should be modeled in the database as a join between puppetclass/architecture/OS. This will also allow the dropdown selectors in a frontend GUI to prune invalid permutations and can also be used for validation
As part of this work we should include the logic that allows these queries to be made
host.puppetclasses => These would be the classes directly associated with the host and those that are indirectly associated via the host's hostgroup
architecture.operatingsystems => These refer to the operating systems that the installed hosts use
architecture.valid_operatingsystems => These refer to the operating systems that are valid for this architecture; there may be no hosts using this combination.
architecture.valid_puppetclasses
operatingsystem.architectures
operatingsystem.valid_architectures
operatingsystem.valid_puppetclasses
puppetclass.valid_operatingsystems
puppetclass.valid_architectures
puppetclass.hosts