This commit starts the move to RHEL8 from Fedora 28.

* The 'notes' file has a lot of RHEL8 migration notes added, including RPM build orders.
* The anvil.spec file has switched the source from 'master.tar.gz' to 'anvil-3.0b.tar.gz' and moved the source to our webserver. Updated the dependencies as well.
* Updated anvil.sql to add the 'anvils' table and fixed some SQL schema problems.

Signed-off-by: Digimer <digimer@alteeve.ca>
main
Digimer 6 years ago
parent 02c4fe1fa1
commit d2c812ee03
  1. 359
      notes
  2. 703
      rpm/SPECS/anvil.spec
  3. 58
      share/anvil.sql
  4. 25
      tools/anvil-daemon

359
notes

@ -1,5 +1,13 @@
NEXT; -
RHEL 8 package changes:
chrony replaces ntp
cockpit replaces virt-manager (deprecated)
e1000e replaces e1000 driver
tmux replaces screen
iproute2 replaces bridge-utils (See "ip link" and man bridge.)
==] UEFI Setup [======================================================================
ignoredisk --only-use=vdb,vda
clearpart --none --initlabel
@ -29,6 +37,43 @@ DOCS; -
====
Network planning;
10.x.y.z / 255.255.0.0
10.x.y.z / 255.255.0.0
x = Network;
- BCN = 200 + network
ie: BCN1 = 10.201.y.z
BCN2 = 10.202.y.z
- SN = 100 + network
ie: SN1 = 10.101.y.z
SN2 = 10.102.y.z
y = Device Type.
Foudation Pack;
1. Switches
2. PDUs
3. UPSes
4. Switches
5. Strikers
6. Striker IPMI (BCN only)
Anvil! systems;
1st - 10 = Node IP
11 = Node IPMI
2nd - 12 = Node IP
13 = Node IPMI
3rd - 14 = Node IP
15 = Node IPMI
N...
z = Device Sequence
- Foundation pack devices are simple sequence
- Anvils; .1 = node 1, .2 = node 2, .3 = DR host
====
Ports we care about
Porto Number Used by Nets Description
@ -834,3 +879,317 @@ pcs;
- Requires pacemaker 2.x install
git tag
git checkout <0.10.x>
====
Building 3rd party tools
dnf -y install bzip2-devel corosynclib-devel docbook-style-xsl gnutls-devel help2man libqb-devel libtool libtool-ltdl-devel libuuid-devel libxml2-devel libxslt-devel ncurses-devel pam-devel
==========
Build Dependency chain;
perl-Log-Log4perl
perl-Log-Dispatch-FileRotate
perl-MIME-Lite
==========
RPM build order
--- Install from RHEL repos;
- Groups;
dnf group install development rpm-development-tools
- Packages
dnf install bash-completion bind-utils dnf-utils firefox gdm libgcrypt-devel libutempter-devel libvirt-bash-completion ncurses-devel openssl-devel pam-devel perl-Capture-Tiny perl-Devel-CheckLib perl-Digest-SHA1 perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-HTML-Parser \
perl-IO-stringy perl-MailTools perl-Module-Build perl-Module-Install perl-Module-Install-AutoLicense perl-Module-Install-ReadmeFromPod perl-Net-DNS perl-Test-Exception perl-Test-Simple perl-Test-Pod perl-Test-Pod-Coverage \
perl-Test2-Suite rpm-build systemd-devel texinfo virt-manager wget \
perl-Params-ValidationCompiler perl-Dist-CheckConflicts perl-namespace-autoclean perl-Test-Fatal perl-Devel-GlobalDestruction perl-IPC-Run3 perl-Specio perl-Sys-Syslog mod_perl postfix perl-DBI perl-IPC-SysV perl-Test perl-Filter rrdtool-perl perl-Test-Warn perl-Date-Manip \
perl-MIME-Types python36 docbook-style-xsl libxslt flex kernel-devel
- Uninstall
dnf remove biosdevname
--- First round of builds;
* anvil
* anvil-striker-extra
* libssh2 # NOTE! Make sure this comes from F29 (1.8.0-8). The version from RHEL doesn't offer -devel, they say it's deprecated (??). May need to update or replace perl-Net-SSH2
* perl-Email-Date-Format
* perl-Exporter-Lite
* perl-HTML-Strip
* perl-IO-CaptureOutput
* perl-Log-Journald
* perl-Mail-Sender
* perl-Mail-Sendmail
* perl-Module-Install-GithubMeta
* perl-Net-Domain-TLD
* perl-Proc-Simple
* perl-Test-Needs
* perl-Test-UseAllModules
* perl-UUID-Tiny
* screen
--- Second round of builds;
rpm -Uvh libssh2 (won't update from 1.8.0-7 from RHEL8 repo to our 1.8.0-8 via dnf update for some reason)
dnf install perl-IO-CaptureOutput perl-Exporter-Lite perl-Module-Install-GithubMeta perl-Net-Domain-TLD perl-Test-UseAllModules perl-Mail-Sender perl-Mail-Sendmail perl-Test-Needs perl-Email-Date-Format
* perl-Email-Valid
* perl-MIME-Lite
* perl-Module-Install-AutoLicense
* perl-Net-Netmask
--- Third round of builds;
dnf install perl-Email-Valid erl-Module-Install-AutoLicense perl-MIME-Lite
* perl-Email-Find
* perl-Log-Dispatch
* perl-Module-Install-CheckLib
--- Fourth round of builds;
dnf install perl-Email-Find perl-Module-Install-CheckLib perl-Log-Dispatch
* perl-HTML-FromText
* perl-Log-Dispatch-FileRotate
* perl-Net-SSH2
--- Fifth round of builds;
dnf install perl-Log-Dispatch
* perl-Log-Log4perl
====== try1
1. dnf install asciidoc bind-utils bison byacc cmake dos2unix freeglut-devel freetype-devel gcc-c++ gd-devel gettext-devel ghostscript graphviz gtk2-devel inkscape libGLU-devel libX11-devel libXext-devel libXi-devel libXmu-devel \
libXt-devel libgcrypt-devel libjpeg-devel libpng-devel librsvg2-devel libtiff-devel libtool libtool-ltdl-devel libwebp-devel libxml2-devel lpr mesa-libGL-devel openssl-devel perl "perl(Devel::PPPort)" "perl(Env)" \
"perl(ExtUtils::CBuilder)" "perl(File::HomeDir)" perl-File-Remove "perl(File::ShareDir)" "perl(File::Which)" "perl(Locale::Messages)" "perl(Mail::Address)" "perl(Module::Build)" "perl(Module::Pluggable)" \
"perl(Module::Runtime)" "perl(Net::DNS)" "perl(Term::ReadKey)" "perl(Test)" "perl(Test::Simple)" "perl(Text::Diff)" "perl(Try::Tiny)" "perl(YAML)" "perl(autodie)" perl-Devel-Peek perl-Pod-Parser perl-Text-Glob \
perl-generators "pkgconfig(dbus-1)" "pkgconfig(glib-2.0)" publican python3-devel python3-devel python36 qt5-qtbase-devel systemd-devel texlive-epstopdf "tex(adjustbox.sty)" "tex(appendix.sty)" "tex(dvips)" \
"tex(import.sty)" "tex(latex)" "tex(multirow.sty)" "tex(sectsty.sty)" "tex(tabu.sty)" "tex(tocloft.sty)" "tex(xtab.sty)" time valgrind wget xdg-user-dirs xdg-utils xmlto xz-devel zip2-devel zlib-devel
=================
* csnappy
* doxygen
* fpaste
* giflib
* gtest
* help2man
* htop
* jbigkit
* lcms2
* libssh2
* libutempter
* libwmf
* perl-Capture-Tiny
* perl-Class-XSAccessor
* perl-Config-Tiny
* perl-Class-Data-Inheritable
* perl-Class-Tiny
* perl-Devel-CheckBin
* perl-Devel-Hide
* perl-Devel-StackTrace
* perl-Digest-SHA1
* perl-Encode
* perl-ExtUtils-Depends
* perl-Exporter-Lite
* perl-ExtUtils-Config
* perl-ExtUtils-Helpers
* perl-ExtUtils-PkgConfig
* perl-File-BaseDir
* perl-File-ReadBackwards
* perl-File-Remove
* perl-File-Type
* perl-Import-Into
* perl-Importer
* perl-IO-CaptureOutput
* perl-IO-String
* perl-IO-stringy
* perl-Log-Journald
* perl-Mock-Config
* perl-Module-Install-ExtraTests
* perl-Module-Pluggable
* perl-Net-Domain-TLD
* perl-Number-Compare
* perl-PadWalker
* perl-Perl-Destruct-Level
* perl-Probe-Perl
* perl-Proc-Simple
* perl-Scope-Guard
* perl-File-ShareDir-Install
* perl-Lingua-EN-Inflect
* perl-strictures
* perl-String-Format
* perl-Sub-Exporter-Progressive
* perl-Sub-Identify
* perl-Sub-Uplevel
* perl-Taint-Runtime
* perl-Task-Weaken
* perl-Term-Size-Perl
* perl-Test-Deep
* perl-Test-Fatal
* perl-Test-InDistDir
* perl-Test-Object
* perl-Test-Pod
* perl-Test-Requires
* perl-Test-Warnings
* perl-Test-Without-Module
* perl-YAML-LibYAML
* perl-YAML-Syck
* perltidy
* yasm
2. dnf install csnappy doxygen fpaste giflib gtest help2man htop jbigkit lcms2 libssh2 libutempter libwmf perl-Capture-Tiny perl-Class-XSAccessor perl-Config-Tiny perl-Class-Data-Inheritable perl-Class-Tiny perl-Devel-CheckBin \
perl-Devel-Hide perl-Devel-StackTrace perl-Digest-SHA1 perl-Encode perl-ExtUtils-Depends perl-Exporter-Lite perl-ExtUtils-Config perl-ExtUtils-Helpers perl-ExtUtils-PkgConfig perl-File-BaseDir perl-File-ReadBackwards \
perl-File-Remove perl-File-Type perl-Import-Into perl-Importer perl-IO-CaptureOutput perl-IO-String perl-IO-stringy perl-Log-Journald perl-Mock-Config perl-Module-Install-ExtraTests perl-Module-Pluggable \
perl-Net-Domain-TLD perl-Number-Compare perl-PadWalker perl-Perl-Destruct-Level perl-Probe-Perl perl-Proc-Simple perl-Scope-Guard perl-File-ShareDir-Install perl-Lingua-EN-Inflect perl-strictures perl-String-Format \
perl-Sub-Exporter-Progressive perl-Sub-Identify perl-Sub-Uplevel perl-Taint-Runtime perl-Task-Weaken perl-Term-Size-Perl perl-Test-Deep perl-Test-Fatal perl-Test-InDistDir perl-Test-Object perl-Test-Pod \
perl-Test-Requires perl-Test-Warnings perl-Test-Without-Module perl-YAML-LibYAML perl-YAML-Syck perltidy yasm
jasper
libdatrie
libthai
libtiff
* p7zip
perl-B-Hooks-EndOfScope
perl-B-Keywords
perl-Class-Method-Modifiers
perl-Clone
perl-Devel-CheckLib
perl-Devel-Cycle
perl-Devel-EnforceEncapsulation
perl-Devel-GlobalDestruction
perl-Devel-Symdump
perl-Dist-CheckConflicts
perl-Email-Find
perl-Email-Valid
perl-Encode-EUCJPASCII
perl-Exception-Class
perl-Exporter-Tiny
perl-ExtUtils-InstallPaths
perl-File-DesktopEntry
perl-File-Find-Rule
perl-File-Find-Rule-Perl
perl-File-MimeInfo
perl-Font-TTF
perl-GD
perl-Getopt-ArgvFile
perl-Graphics-TIFF
perl-Hook-LexWrap
perl-HTML-FromText
perl-HTML-Strip
perl-IO-All
perl-List-MoreUtils
perl-List-MoreUtils-XS
perl-MCE
perl-MIME-Charset
perl-Module-Build-Tiny
perl-Module-Implementation
perl-Module-Install
perl-Module-Install-AuthorRequires
perl-Module-Install-AuthorTests
perl-Module-Install-AutoLicense
perl-Module-Install-CheckLib
perl-Module-Install-GithubMeta
perl-Module-Install-ManifestSkip
perl-Module-Install-ReadmeFromPod
perl-Module-Install-Repository
perl-Module-Package
perl-Module-Package-Au
perl-Moo
perl-namespace-autoclean
perl-namespace-clean
perl-Net-Netmask
perl-Net-SSH2
perl-Package-Stash
perl-Package-Stash-XS
perl-Paper-Specs
perl-Path-Class
perl-Path-Tiny
perl-PDF-API2
perl-Perl-Critic
perl-Perl-Critic-Deprecated
perl-Perl-Critic-More
perl-Perl-MinimumVersion
perl-pod2pdf
perl-Pod-Coverage
perl-Pod-Markdown
perl-Pod-Spell
perl-PPI
perl-PPIx-QuoteLike
perl-PPIx-Regexp
perl-PPIx-Utilities
perl-Readonly
perl-Role-Tiny
perl-Sereal
perl-Sereal-Decoder
perl-Sereal-Encoder
perl-Sub-Info
perl-Sub-Name
perl-Sub-Quote
perl-Term-Size-Any
perl-Term-Table
perl-Test-Differences
perl-Test-Exception
perl-Test-LongString
perl-Test-Memory-Cycle
perl-Test-Perl-Critic
perl-Test-Pod-Coverage
perl-Test-Script
perl-Test-SubCalls
perl-Test-UseAllModules
perl-Test-Warn
perl-Test2-Suite - Needs to be updated! Source from F29 isn't available easily
perl-Unicode-EastAsianWidth
perl-Unicode-LineBreak
perl-Unicode-UTF8
perl-UUID-Tiny
perl-Variable-Magic
perl-YAML-Tiny
screen
texinfo
zstd
3.
GraphicsMagick
miniz
perl-Image-Size
sombok
=======================================
cd SOURCES;
tar -xzvf $tarball (or xjvf, whatever);
tar -xzv -C package-digimer -f $tarball;
patch in *-digimer;
diff -uNr $package $package-digimer > ../SOURCES/whatever.patch
00:24 < Bahhumbug>
Burst the source tarball;
do it again but stash this copy in a *-digimer directory.
Do patching in the -digimer directory and when finished great a recursive unified diff and place the results directly in the named .patch file.
cd ~/rpmbuild/SOURCES
tar -xzvf htop-2.2.0.tar.gz
mv htop-2.2.0 htop-2.2.0-digimer
cd htop-2.2.0-digimer
# patch
diff -uNr htop-2.2.0 htop-2.2.0-digimer > whatever.patch
# Fabio's way
diff -Naurd htop-2.2.0 htop-2.2.0-digimer > htop_python3_MakeHeader.patch

@ -8,7 +8,7 @@ Summary: Alteeve Anvil! complete package.
License: GPLv2+
URL: https://github.com/digimer/anvil
Source0: https://github.com/digimer/anvil/archive/master.tar.gz
Source0: https://www.alteeve.com/an-repo/el8b/files/anvil-3.0b.tar.gz
BuildArch: noarch
@ -21,6 +21,7 @@ WARNING: This is an alpha-stage project. Many features are missing and this
should not be used for anything other than development purposes! The
first stable release will be 3.1. Anything 3.0 is UNSTABLE.
# TODO: Add back htop
%package core
Summary: Alteeve's Anvil! Core package
Requires: bash-completion
@ -33,6 +34,7 @@ Requires: firewalld
Requires: gpm
Requires: hdparm
Requires: htop
Requires: iproute
Requires: lsscsi
Requires: mlocate
Requires: perl-Data-Dumper
@ -56,7 +58,7 @@ Requires: postfix
Requires: postgresql-contrib
Requires: postgresql-plperl
Requires: rsync
#Requires: screen
Requires: screen
Requires: vim
# iptables-services conflicts with firewalld
Conflicts: iptables-services
@ -74,6 +76,7 @@ Requires: anvil-striker-extra
Requires: createrepo
Requires: dhcp-server
Requires: firefox
Requires: gdm
Requires: httpd
Requires: kernel-core
Requires: nmap
@ -83,676 +86,6 @@ Requires: syslinux
Requires: syslinux-nonlinux
Requires: tftp-server
Requires: virt-manager
### Desktop stuff
Requires: GConf2
Requires: ModemManager-glib
Requires: NetworkManager-libnm
Requires: NetworkManager-team
Requires: NetworkManager-tui
Requires: NetworkManager-wifi
Requires: NetworkManager
Requires: abattis-cantarell-fonts
Requires: accountsservice-libs
Requires: accountsservice
Requires: acl
Requires: adwaita-cursor-theme
Requires: adwaita-gtk2-theme
Requires: adwaita-icon-theme
Requires: alsa-lib
Requires: annobin
Requires: at-spi2-atk
Requires: at-spi2-core
Requires: atk
Requires: audit-libs
Requires: audit
Requires: authselect-libs
Requires: authselect
Requires: avahi-glib
Requires: avahi-libs
Requires: basesystem
Requires: bash-completion
Requires: bash
Requires: bind-export-libs
Requires: binutils
Requires: biosdevname
Requires: bluez-libs
Requires: bluez-obexd
Requires: bluez
Requires: bolt
Requires: brotli
Requires: bubblewrap
Requires: bzip2-libs
Requires: bzip2
Requires: c-ares
Requires: ca-certificates
Requires: cairo-gobject
Requires: cairo
Requires: cheese-libs
Requires: chkconfig
Requires: clutter-gst3
Requires: clutter-gtk
Requires: clutter
Requires: cogl
Requires: color-filesystem
Requires: colord-gtk
Requires: colord-libs
Requires: colord
Requires: coreutils-common
Requires: coreutils
Requires: cpio
Requires: cpp
Requires: cracklib-dicts
Requires: cracklib
Requires: createrepo_c-libs
Requires: createrepo_c
Requires: cronie-anacron
Requires: cronie
Requires: crontabs
Requires: crypto-policies
Requires: cryptsetup-libs
Requires: cups-libs
Requires: cups-pk-helper
Requires: curl
Requires: cyrus-sasl-lib
Requires: dbus-common
Requires: dbus-daemon
Requires: dbus-glib
Requires: dbus-libs
Requires: dbus-tools
Requires: dbus-x11
Requires: dbus
Requires: dconf
Requires: desktop-file-utils
Requires: device-mapper-event-libs
Requires: device-mapper-event
Requires: device-mapper-libs
Requires: device-mapper-persistent-data
Requires: device-mapper
Requires: dhcp-client
Requires: dhcp-common
Requires: dhcp-libs
Requires: diffutils
Requires: dmidecode
Requires: dnf-data
Requires: dnf-plugin-subscription-manager
Requires: dnf-plugins-core
Requires: dnf
Requires: dracut-config-rescue
Requires: dracut-network
Requires: dracut-squash
Requires: dracut
Requires: drpm
Requires: dwz
Requires: e2fsprogs-libs
Requires: e2fsprogs
Requires: efi-srpm-macros
Requires: elfutils-default-yama-scope
Requires: elfutils-libelf
Requires: elfutils-libs
Requires: elfutils
Requires: emacs-filesystem
Requires: enchant
Requires: ethtool
Requires: evolution-data-server-langpacks
Requires: evolution-data-server
Requires: expat
Requires: file-libs
Requires: file
Requires: filesystem
Requires: findutils
Requires: fipscheck-lib
Requires: fipscheck
Requires: firewalld-filesystem
Requires: firewalld
Requires: flac-libs
Requires: fontconfig
Requires: fontpackages-filesystem
Requires: freetype
Requires: fribidi
Requires: fuse-libs
Requires: gawk
Requires: gc
Requires: gcc
Requires: gcr
Requires: gdb-headless
Requires: gdbm-libs
Requires: gdbm
Requires: gdk-pixbuf2-modules
Requires: gdk-pixbuf2
Requires: gdm
Requires: geoclue2-libs
Requires: geoclue2
Requires: geocode-glib
Requires: geolite2-city
Requires: geolite2-country
Requires: gettext-libs
Requires: gettext
Requires: ghc-srpm-macros
Requires: gjs
Requires: glib-networking
Requires: glib2
Requires: glibc-common
Requires: glibc-devel
Requires: glibc-headers
Requires: glibc-langpack-en
Requires: glibc
Requires: glx-utils
Requires: gmp
Requires: gnome-bluetooth-libs
Requires: gnome-bluetooth
Requires: gnome-control-center-filesystem
Requires: gnome-control-center
Requires: gnome-desktop3
Requires: gnome-keyring-pam
Requires: gnome-keyring
Requires: gnome-online-accounts
Requires: gnome-session-wayland-session
Requires: gnome-session-xsession
Requires: gnome-session
Requires: gnome-settings-daemon
Requires: gnome-shell
Requires: gnome-themes-standard
Requires: gnupg2-smime
Requires: gnupg2
Requires: gnutls
Requires: go-srpm-macros
Requires: gobject-introspection
Requires: gpgme
Requires: gpm-libs
Requires: graphite2
Requires: grep
Requires: grilo
Requires: groff-base
Requires: grub2-common
Requires: grub2-pc-modules
Requires: grub2-pc
Requires: grub2-tools-extra
Requires: grub2-tools-minimal
Requires: grub2-tools
Requires: grubby
Requires: gsettings-desktop-schemas
Requires: gsm
Requires: gstreamer1-plugins-base
Requires: gstreamer1
Requires: gtk-update-icon-cache
Requires: gtk2
Requires: gtk3
Requires: guile
Requires: gzip
Requires: hardlink
Requires: harfbuzz-icu
Requires: harfbuzz
Requires: hdparm
Requires: hicolor-icon-theme
Requires: hostname
Requires: hunspell-en-GB
Requires: hunspell-en-US
Requires: hunspell-en
Requires: hunspell
Requires: hwdata
Requires: hyphen
Requires: ibus-gtk2
Requires: ibus-gtk3
Requires: ibus-libs
Requires: ibus-setup
Requires: ibus
Requires: iio-sensor-proxy
Requires: ima-evm-utils
Requires: info
Requires: initscripts
Requires: ipcalc
Requires: iproute
Requires: iprutils
Requires: ipset-libs
Requires: ipset
Requires: iptables-ebtables
Requires: iptables-libs
Requires: iptables
Requires: iputils
Requires: irqbalance
Requires: isl
Requires: iso-codes
Requires: iwl100-firmware
Requires: iwl1000-firmware
Requires: iwl105-firmware
Requires: iwl135-firmware
Requires: iwl2000-firmware
Requires: iwl2030-firmware
Requires: iwl3160-firmware
Requires: iwl3945-firmware
Requires: iwl4965-firmware
Requires: iwl5000-firmware
Requires: iwl5150-firmware
Requires: iwl6000-firmware
Requires: iwl6000g2a-firmware
Requires: iwl6050-firmware
Requires: iwl7260-firmware
Requires: jansson
Requires: jasper-libs
Requires: jbigkit-libs
Requires: json-c
Requires: json-glib
Requires: kbd-legacy
Requires: kbd-misc
Requires: kbd
Requires: kernel-headers
Requires: kernel-modules
Requires: kernel-tools-libs
Requires: kernel-tools
Requires: kernel
Requires: kexec-tools
Requires: keyutils-libs
Requires: kmod-libs
Requires: kmod
Requires: kpartx
Requires: krb5-libs
Requires: langpacks-en
Requires: lcms2
Requires: less
Requires: libICE
Requires: libSM
Requires: libX11-common
Requires: libX11-xcb
Requires: libX11
Requires: libXau
Requires: libXcomposite
Requires: libXcursor
Requires: libXdamage
Requires: libXdmcp
Requires: libXext
Requires: libXfixes
Requires: libXfont2
Requires: libXft
Requires: libXi
Requires: libXinerama
Requires: libXmu
Requires: libXrandr
Requires: libXrender
Requires: libXt
Requires: libXtst
Requires: libXv
Requires: libXxf86misc
Requires: libXxf86vm
Requires: libacl
Requires: libaio
Requires: libarchive
Requires: libassuan
Requires: libasyncns
Requires: libatomic_ops
Requires: libattr
Requires: libbabeltrace
Requires: libbasicobjects
Requires: libblkid
Requires: libcanberra-gtk3
Requires: libcanberra
Requires: libcap-ng
Requires: libcap
Requires: libcollection
Requires: libcom_err
Requires: libcomps
Requires: libcroco
Requires: libcurl
Requires: libdaemon
Requires: libdatrie
Requires: libdb-utils
Requires: libdb
Requires: libdhash
Requires: libdnf
Requires: libdrm
Requires: libedit
Requires: libepoxy
Requires: libestr
Requires: libevdev
Requires: libevent
Requires: libfastjson
Requires: libfdisk
Requires: libffi
Requires: libfontenc
Requires: libgcc
Requires: libgcrypt
Requires: libgdata
Requires: libglvnd-egl
Requires: libglvnd-gles
Requires: libglvnd-glx
Requires: libglvnd
Requires: libgnomekbd
Requires: libgomp
Requires: libgpg-error
Requires: libgtop2
Requires: libgudev
Requires: libgusb
Requires: libgweather
Requires: libical
Requires: libicu
Requires: libidn2
Requires: libimobiledevice
Requires: libini_config
Requires: libinput
Requires: libipt
Requires: libjpeg-turbo
Requires: libkcapi-hmaccalc
Requires: libkcapi
Requires: libksba
Requires: libldb
Requires: libmaxminddb
Requires: libmcpp
Requires: libmetalink
Requires: libmnl
Requires: libmodman
Requires: libmodulemd
Requires: libmount
Requires: libmpc
Requires: libndp
Requires: libnetfilter_conntrack
Requires: libnfnetlink
Requires: libnfsidmap
Requires: libnftnl
Requires: libnghttp2
Requires: libnl3-cli
Requires: libnl3
Requires: libnma
Requires: libnotify
Requires: libnsl2
Requires: liboauth
Requires: libogg
Requires: libpath_utils
Requires: libpcap
Requires: libpciaccess
Requires: libpipeline
Requires: libpkgconf
Requires: libplist
Requires: libpng
Requires: libproxy
Requires: libpsl
Requires: libpwquality
Requires: libquvi-scripts
Requires: libquvi
Requires: libref_array
Requires: librepo
Requires: libreport-filesystem
Requires: librhsm
Requires: librsvg2
Requires: libseccomp
Requires: libsecret
Requires: libselinux-utils
Requires: libselinux
Requires: libsemanage
Requires: libsepol
Requires: libsigsegv
Requires: libsmartcols
Requires: libsmbclient
Requires: libsndfile
Requires: libsolv
Requires: libsoup
Requires: libss
Requires: libssh
Requires: libsss_autofs
Requires: libsss_certmap
Requires: libsss_idmap
Requires: libsss_nss_idmap
Requires: libsss_sudo
Requires: libstdc++
Requires: libsysfs
Requires: libtalloc
Requires: libtasn1
Requires: libtdb
Requires: libteam
Requires: libtevent
Requires: libthai
Requires: libtheora
Requires: libtiff
Requires: libtirpc
Requires: libtool-ltdl
Requires: libunistring
Requires: libusbmuxd
Requires: libusbx
Requires: libuser
Requires: libutempter
Requires: libuuid
Requires: libverto
Requires: libvisual
Requires: libvorbis
Requires: libwacom-data
Requires: libwacom
Requires: libwayland-client
Requires: libwayland-cursor
Requires: libwayland-egl
Requires: libwayland-server
Requires: libwbclient
Requires: libwebp
Requires: libxcb
Requires: libxcrypt-devel
Requires: libxcrypt
Requires: libxkbcommon-x11
Requires: libxkbcommon
Requires: libxkbfile
Requires: libxklavier
Requires: libxml2
Requires: libxshmfence
Requires: libxslt
Requires: libyaml
Requires: linux-firmware
Requires: llvm-libs
Requires: logrotate
Requires: lshw
Requires: lsscsi
Requires: lua-expat
Requires: lua-json
Requires: lua-libs
Requires: lua-lpeg
Requires: lua-socket
Requires: lua
Requires: lvm2-libs
Requires: lvm2
Requires: lz4-libs
Requires: lzo
Requires: man-db
Requires: mcpp
Requires: mesa-dri-drivers
Requires: mesa-filesystem
Requires: mesa-libEGL
Requires: mesa-libGL
Requires: mesa-libgbm
Requires: mesa-libglapi
Requires: microcode_ctl
Requires: mobile-broadband-provider-info
Requires: mozilla-filesystem
Requires: mozjs52
Requires: mpfr
Requires: mtdev
Requires: mutter
Requires: ncurses-base
Requires: ncurses-libs
Requires: ncurses
Requires: nettle
Requires: newt
Requires: nftables
Requires: nm-connection-editor
Requires: npth
Requires: nspr
Requires: nss-softokn-freebl
Requires: nss-softokn
Requires: nss-sysinit
Requires: nss-util
Requires: nss
Requires: numactl-libs
Requires: ocaml-srpm-macros
Requires: openblas-srpm-macros
Requires: openldap
Requires: openssh-clients
Requires: openssh-server
Requires: openssh
Requires: openssl-libs
Requires: openssl-pkcs11
Requires: openssl
Requires: opus
Requires: orc
Requires: os-prober
Requires: p11-kit-trust
Requires: p11-kit
Requires: pam
Requires: pango
Requires: parted
Requires: passwd
Requires: patch
Requires: pciutils-libs
Requires: pcre
Requires: pcre2
Requires: perl-srpm-macros
Requires: pigz
Requires: pinentry-gtk
Requires: pinentry
Requires: pipewire-libs
Requires: pipewire
Requires: pixman
Requires: pkgconf-m4
Requires: pkgconf-pkg-config
Requires: pkgconf
Requires: platform-python
Requires: plymouth-core-libs
Requires: plymouth-scripts
Requires: plymouth
Requires: policycoreutils
Requires: polkit-libs
Requires: polkit-pkla-compat
Requires: polkit
Requires: popt
Requires: prefixdevname
Requires: procps-ng
Requires: psmisc
Requires: publicsuffix-list-dafsa
Requires: pulseaudio-libs-glib2
Requires: pulseaudio-libs
Requires: pulseaudio-module-bluetooth
Requires: pulseaudio
Requires: python-srpm-macros
Requires: python3-cairo
Requires: python3-configobj
Requires: python3-dateutil
Requires: python3-dbus
Requires: python3-decorator
Requires: python3-dmidecode
Requires: python3-dnf-plugins-core
Requires: python3-dnf
Requires: python3-ethtool
Requires: python3-firewall
Requires: python3-gobject-base
Requires: python3-gobject
Requires: python3-gpg
Requires: python3-hawkey
Requires: python3-iniparse
Requires: python3-inotify
Requires: python3-libcomps
Requires: python3-libdnf
Requires: python3-librepo
Requires: python3-libs
Requires: python3-libselinux
Requires: python3-libxml2
Requires: python3-linux-procfs
Requires: python3-perf
Requires: python3-pip
Requires: python3-pyudev
Requires: python3-rpm-macros
Requires: python3-rpm
Requires: python3-schedutils
Requires: python3-setuptools
Requires: python3-six
Requires: python3-slip-dbus
Requires: python3-slip
Requires: python3-subscription-manager-rhsm
Requires: python3-syspurpose
Requires: python3-unbound
Requires: qemu-guest-agent
Requires: qt5-srpm-macros
Requires: readline
Requires: redhat-backgrounds
Requires: redhat-logos
Requires: redhat-release
Requires: redhat-rpm-config
Requires: rest
Requires: rootfiles
Requires: rpm-build-libs
Requires: rpm-build
Requires: rpm-libs
Requires: rpm-plugin-selinux
Requires: rpm-plugin-systemd-inhibit
Requires: rpm
Requires: rsync
Requires: rsyslog
Requires: rtkit
Requires: rust-srpm-macros
Requires: samba-client-libs
Requires: samba-common-libs
Requires: samba-common
Requires: sbc
Requires: sed
Requires: selinux-policy-targeted
Requires: selinux-policy
Requires: setup
Requires: sg3_utils-libs
Requires: sg3_utils
Requires: shadow-utils
Requires: shared-mime-info
Requires: slang
Requires: snappy
Requires: sound-theme-freedesktop
Requires: speexdsp
Requires: sqlite-libs
Requires: squashfs-tools
Requires: sssd-client
Requires: sssd-common
Requires: sssd-kcm
Requires: sssd-nfs-idmap
Requires: startup-notification
Requires: subscription-manager-rhsm-certificates
Requires: subscription-manager
Requires: sudo
Requires: switcheroo-control
Requires: systemd-libs
Requires: systemd-pam
Requires: systemd-udev
Requires: systemd
Requires: tar
Requires: teamd
Requires: totem-pl-parser
Requires: trousers-lib
Requires: trousers
Requires: tuned
Requires: tzdata
Requires: unbound-libs
Requires: unzip
Requires: upower
Requires: usermode
Requires: util-linux
Requires: vim-common
Requires: vim-enhanced
Requires: vim-filesystem
Requires: vim-minimal
Requires: vino
Requires: virt-what
Requires: webkit2gtk3-jsc
Requires: webkit2gtk3-plugin-process-gtk2
Requires: webkit2gtk3
Requires: webrtc-audio-processing
Requires: which
Requires: woff2
Requires: wpa_supplicant
Requires: xcb-util
Requires: xfsprogs
Requires: xkeyboard-config
Requires: xml-common
Requires: xorg-x11-server-Xwayland
Requires: xorg-x11-server-common
Requires: xorg-x11-server-utils
Requires: xorg-x11-xauth
Requires: xorg-x11-xinit
Requires: xorg-x11-xkb-utils
Requires: xz-libs
Requires: xz
Requires: yum
Requires: zenity
Requires: zip
Requires: zlib
# A Striker dashboard is not allowed to host servers or be a migration target.
@ -767,13 +100,8 @@ NOTE: This installs and enables Gnome desktop.
%package node
Summary: Alteeve's Anvil! node package
Requires: anvil-core
Requires: bridge-utils
Requires: drbd
Requires: drbd-bash-completion
Requires: drbd-utils
### NOTE: Disabled only until we get drbd9 building on F28
#Requires: drbd-kernel
#Requires: kmod-drbd
Requires: drbd90-utils
Requires: kmod-drbd90
Requires: libvirt
Requires: libvirt-daemon
Requires: libvirt-daemon-driver-qemu
@ -801,13 +129,8 @@ NOTE: LINBIT customers must have access to the LINBIT repositories configured.
%package dr
Summary: Alteeve's Anvil! DR host package
Requires: anvil-core
Requires: bridge-utils
Requires: drbd
Requires: drbd-bash-completion
Requires: drbd-utils
### NOTE: Disabled only until we get drbd9 building on F28
#Requires: drbd-kernel
#Requires: kmod-drbd
Requires: drbd90-utils
Requires: kmod-drbd90
Requires: libvirt
Requires: libvirt-daemon
Requires: libvirt-daemon-driver-qemu
@ -826,7 +149,7 @@ Provides support for asynchronous disaster recovery hosts in an Anvil! cluster.
%prep
%autosetup -n anvil-master
%autosetup -n anvil-3.0b
%build
@ -953,9 +276,9 @@ firewall-cmd --add-service=postgresql --permanent
%changelog
* Sat Jan 05 2019 Madison Kelly <mkelly@alteeve.ca> 3.0-21
- Started adding support for ScanCore
- Updated source.
- Updated for EL8.
- Started adding support for ScanCore.
- Updated source and renamed to anvil-3.0b.
- Updated for EL8. Lots of dependency changes!
* Wed Dec 12 2018 Madison Kelly <mkelly@alteeve.ca> 3.0-20
- Updated source.

@ -263,6 +263,56 @@ CREATE TRIGGER trigger_sessions
AFTER INSERT OR UPDATE ON sessions
FOR EACH ROW EXECUTE PROCEDURE history_sessions();
-- This stores information about Anvil! systems.
CREATE TABLE anvils (
anvil_uuid uuid not null primary key,
anvil_name text not null,
anvil_description text not null, -- This is a short, one-line (usually) description of this particular Anvil!. It is displayed in the Anvil! selection list.
anvil_password text not null, -- This is the 'ricci' or 'hacluster' user password. It is also used to access nodes that don't have a specific password set.
modified_date timestamp with time zone not null
);
ALTER TABLE anvils OWNER TO admin;
CREATE TABLE history.anvils (
history_id bigserial,
anvil_uuid uuid,
anvil_name text,
anvil_description text,
anvil_password text,
modified_date timestamp with time zone not null
);
ALTER TABLE history.anvils OWNER TO admin;
CREATE FUNCTION history_anvils() RETURNS trigger
AS $$
DECLARE
history_anvils RECORD;
BEGIN
SELECT INTO history_anvils * FROM anvils WHERE anvil_uuid = new.anvil_uuid;
INSERT INTO history.anvils
(anvil_uuid,
anvil_name,
anvil_description,
anvil_password,
modified_date)
VALUES
(history_anvils.anvil_uuid,
history_anvils.anvil_name,
history_anvils.anvil_description,
history_anvils.anvil_password,
history_anvils.modified_date);
RETURN NULL;
END;
$$
LANGUAGE plpgsql;
ALTER FUNCTION history_anvils() OWNER TO admin;
CREATE TRIGGER trigger_anvils
AFTER INSERT OR UPDATE ON anvils
FOR EACH ROW EXECUTE PROCEDURE history_anvils();
-- This stores alerts coming in from various sources
CREATE TABLE alerts (
alert_uuid uuid not null primary key,
@ -338,9 +388,7 @@ CREATE TABLE recipients (
recipient_email text not null, -- This is the recipient's email address or the file name, depending.
recipient_language text, -- If set, this is the language the user wants to receive alerts in. If not set, the default language is used.
recipient_new_level integer not null, -- This is the alert level to use when automatically adding watch links to new systems. '0' tells us to ignore new systems.
modified_date timestamp with time zone not null,
FOREIGN KEY(recipient_host_uuid) REFERENCES hosts(host_uuid)
modified_date timestamp with time zone not null
);
ALTER TABLE recipients OWNER TO admin;
@ -450,7 +498,7 @@ CREATE TABLE mail_servers (
mail_server_security text not null, -- This is the security type used when authenticating against the mail server (STARTTLS, TLS/SSL or NONE)
mail_server_authentication text not null, -- 'None', 'Plain Text', 'Encrypted'.
mail_server_helo_domain text not null, -- The domain we identify to the mail server as being from. The default is to use the domain name of the host.
modified_date timestamp with time zone not null,
modified_date timestamp with time zone not null
);
ALTER TABLE mail_servers OWNER TO admin;
@ -508,7 +556,7 @@ CREATE TABLE host_mail_servers (
modified_date timestamp with time zone not null,
FOREIGN KEY(host_mail_server_host_uuid) REFERENCES hosts(host_uuid),
FOREIGN KEY(host_mail_server_mail_server_uuid) REFERENCES mail_server(mail_server_uuid)
FOREIGN KEY(host_mail_server_mail_server_uuid) REFERENCES mail_servers(mail_server_uuid)
);
ALTER TABLE host_mail_servers OWNER TO admin;

@ -15,7 +15,30 @@
# idea or not.
#
# NOTE:
# - For later; 'reboot --force --force' immediately kills the OS, like disabling ACPI on EL6 and hitting the power button. Might be useful in ScanCore down the road.
# - For later; 'reboot --force --force' immediately kills the OS, like disabling ACPI on EL6 and hitting the
# power button. Might be useful in ScanCore down the road.
#
# Switches:
#
# --main-loop-only
#
# This skips the one-time, start-up tasks and just goes into the main-loop,
#
# --no-start
#
# This will prevent any pending jobs from being picked up and started in this run. Note that other job checks will still happen.
#
# --refresh-jason
#
# This just updates the JSON files used by the web interface. It is the same as '--run-once --main-loop-only --no-start'
#
# --run-once
#
# This will tell the program to exit after runn the main loop once.
#
# --startup-only
#
# This will tell the program to exit after running the start up tasks, so the main loop won't run.
#
use strict;

Loading…
Cancel
Save