+++ /dev/null
-##
-#
-# TODO: Whitelist for sites or machines with scheduled maintenance or
-# predicted downtimes way in the future.
-# Scheduled outages for some short period of time.
-# gives admins a chance to compare expectations with observations.
-
-
-PLC
- name
- fullname
- xmlrpcserver
- history->MultipleJoin->PLCHistory.plc
- sites -> MultipleJoin->Site.plc
- actions->MultipleJoin->PLCAction.plc
-
- # configuration parameters...
- monitor_frequency
- rt_db_stuff
- rt_user_stuff
-
-
-PLCHistory
- plc->
- date_checked
- plc_nodes
- plc_sites
- ob_sites_up
- ob_sites_down
- ob_nodes_up
- ob_nodes_down
- ob_nodes_other
-
-# I'm unsure of this. There is a transactional pattern that I need to
-# discover or define wrt how data is introduced into the db and whether or not
-# it can be trusted as 'complete'. this action may be the root of all the
-# others in a tree.
-
-PLCAction
- date_performed
- plc->ForeignKey->PLC.actions
- plc_query # site, node, slice query.
- nodes_query # probe nodes
- nodes_categorize # take raw data and push into finite states
- # also aggregate data for site and plc
- stats_aggregate # fill out the rest of aggregate fields in db?
- nodes_diagnose # decide what actions to take based on history
- # write action to db.
- nodes_act # read action db and perform to change state at plc or node
-
---
-
-Site
- loginbase # from plc
- active # site exists in PLC
- plc->ForeignKey->PLC.sites
- history->MultipleJoin->SiteHistory.site
- nodes->MultipleJoin->Node.site
- actions->MultipleJoin->SiteAction.site
-
-SiteHistory
- site->ForeignKey->Site.history
- date_checked
-
- # Statistics
- plc_nodes # from plc
- plc_slices_max # from plc
- plc_slices_used # from plc
- plc_disabled # from plc
- plc_suspended # from plc
- ob_nodes_up # from monitor
- ob_nodes_down # from monitor
-
-SiteAction
- site->ForeignKey->Site.actions
-
- date_created
- # Action to take
- email # from monitor diagnose -> action
- suspend_slices # from monitor diagnose -> action
- disable_creation # from monitor diagnose -> action
-
- # Are other actions available for either Notify or Findbad scripts?
- slices_suspend
- slices_enable
-
- site_enable
- site_disable
-
- email_send
- message
-
- # Action taken
- date_performed # from monitor (action)
- rt_ticket_id # from monitor sent mail (action.py)
-
---
-
-Node
- nodename
- probe->ForeignKey->NodeProbe.node
- hardware->OnetoOne->Hardware->node
- actions->MultipleJoin->NodeAction.node
-
-NodeCurrent
- ->node
- site->
- ->probe
- ->action
- ->downtime
-
-NodeProbe
- nodecurrent->
- date_checked
- ob_ping
- ob_ssh
- ob_kernel
- ob_bmlog
- ob_bootstate
- ob_bootcd
- plc_bootstate
- plc_bootcd
- plc_pcu
-
-NodeDowntime
- nodecurrent->
- date_created
- date_expires
- enabled
- owner_reason
- owner_comments
-
-NodeAction
- nodecurrent->ForeignKey->Node.actions
- date_created
-
- inferred_state
- inf_category
-
- # Are there actions on individual nodes?
- plc_boot_state_reset
- pcu_test
- node_reboot
-
-# TODO: Whitelist for sites or machines with scheduled maintenance or
-# predicted downtimes way in the future.
-# Scheduled outages for some short period of time.
-# gives admins a chance to compare expectations with observations.
-
-Message
- date_created
- title
- template_arguments
- message_parts->Join->MessagePart->message.id
-
-MessagePart
- date_created
- title
- template_message
- message->ForeignKey->Message.id
-
-
-Hardware
- node->
- date_checked
- cpu_model
- cpu_speed
- cpu_count
-
- ram_model
- ram_size
- disk_model
- disk_specs
-
- # pci devices
- network cards
- daughter cards
- raid cards
- usb
- other?