summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BUILD.md44
-rw-r--r--README.md3
-rw-r--r--bin/openshift-ansible-bin.spec34
-rw-r--r--inventory/openshift-ansible-inventory.spec37
-rw-r--r--rel-eng/packages/.readme3
-rw-r--r--rel-eng/tito.props5
6 files changed, 126 insertions, 0 deletions
diff --git a/BUILD.md b/BUILD.md
new file mode 100644
index 000000000..0016c96a5
--- /dev/null
+++ b/BUILD.md
@@ -0,0 +1,44 @@
+# openshift-ansible RPM Build instructions
+We use tito to make building and tracking revisions easy.
+
+For more information on tito, please see the [Tito home page](http://rm-rf.ca/tito "Tito home page").
+
+
+## Build openshift-ansible-bin
+- Change into openshift-ansible/bin
+```
+cd openshift-ansible/bin
+```
+- Build a test package (no tagging needed)
+```
+tito build --test --rpm
+```
+- Tag a new build (bumps version number and adds log entries)
+```
+tito tag
+```
+- Follow the on screen tito instructions to push the tags
+- Build a new package based on the latest tag information
+```
+tito build --rpm
+```
+
+
+## Build openshift-ansible-inventory
+- Change into openshift-ansible/inventory
+```
+cd openshift-ansible/inventory
+```
+- Build a test package (no tagging needed)
+```
+tito build --test --rpm
+```
+- Tag a new build (bumps version number and adds log entries)
+```
+tito tag
+```
+- Follow the on screen tito instructions to push the tags
+- Build a new package based on the latest tag information
+```
+tito build --rpm
+```
diff --git a/README.md b/README.md
index ffdfee6f2..9a08bccd9 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,9 @@ Setup
- [AWS](README_AWS.md)
- [GCE](README_GCE.md)
+- Build
+ - [How to build the openshift-ansible rpms](BUILD.md)
+
- Directory Structure:
- [cloud.rb](cloud.rb) - light wrapper around Ansible
- [cluster.sh](cluster.sh) - easily create OpenShift 3 clusters
diff --git a/bin/openshift-ansible-bin.spec b/bin/openshift-ansible-bin.spec
new file mode 100644
index 000000000..7ca0cbe9d
--- /dev/null
+++ b/bin/openshift-ansible-bin.spec
@@ -0,0 +1,34 @@
+Summary: OpenShift Ansible Scripts for working with metadata hosts
+Name: openshift-ansible-bin
+Version: 0.0.0
+Release: 1%{?dist}
+License: ASL 2.0
+URL: https://github.com/openshift/openshift-ansible
+Source0: %{name}-%{version}.tar.gz
+Requires: python2, openshift-ansible-inventory
+BuildRequires: python2-devel
+BuildArch: noarch
+
+%description
+Scripts to make it nicer when working with hosts that are defined only by metadata.
+
+%prep
+%setup -q
+
+%build
+
+%install
+mkdir -p %{buildroot}%{_bindir}
+mkdir -p %{buildroot}%{python_sitelib}/openshift_ansible
+mkdir -p %{buildroot}/etc/bash_completion.d
+
+cp -p ossh oscp opssh %{buildroot}%{_bindir}
+cp -p awsutil.py %{buildroot}%{python_sitelib}/openshift_ansible
+cp -p ossh_bash_completion %{buildroot}/etc/bash_completion.d
+
+%files
+%{_bindir}/*
+%{python_sitelib}/openshift_ansible/
+/etc/bash_completion.d/*
+
+%changelog
diff --git a/inventory/openshift-ansible-inventory.spec b/inventory/openshift-ansible-inventory.spec
new file mode 100644
index 000000000..156b81b86
--- /dev/null
+++ b/inventory/openshift-ansible-inventory.spec
@@ -0,0 +1,37 @@
+Summary: OpenShift Ansible Inventories
+Name: openshift-ansible-inventory
+Version: 0.0.0
+Release: 1%{?dist}
+License: ASL 2.0
+URL: https://github.com/openshift/openshift-ansible
+Source0: %{name}-%{version}.tar.gz
+Requires: python2
+BuildRequires: python2-devel
+BuildArch: noarch
+
+%description
+Ansible Inventories used with the openshift-ansible scripts and playbooks.
+
+%prep
+%setup -q
+
+%build
+
+%install
+mkdir -p %{buildroot}/usr/share/ansible/inventory
+mkdir -p %{buildroot}/usr/share/ansible/inventory/aws
+mkdir -p %{buildroot}/usr/share/ansible/inventory/gce
+
+cp -p multi_ec2.py multi_ec2.yaml.example %{buildroot}/usr/share/ansible/inventory
+cp -p aws/ec2.py aws/ec2.ini %{buildroot}/usr/share/ansible/inventory/aws
+cp -p gce/gce.py %{buildroot}/usr/share/ansible/inventory/gce
+
+%files
+%dir /usr/share/ansible/inventory
+/usr/share/ansible/inventory/multi_ec2.py*
+/usr/share/ansible/inventory/multi_ec2.yaml.example
+/usr/share/ansible/inventory/aws/ec2.py*
+%config(noreplace) /usr/share/ansible/inventory/aws/ec2.ini
+/usr/share/ansible/inventory/gce/gce.py*
+
+%changelog
diff --git a/rel-eng/packages/.readme b/rel-eng/packages/.readme
new file mode 100644
index 000000000..8999c8dbc
--- /dev/null
+++ b/rel-eng/packages/.readme
@@ -0,0 +1,3 @@
+the rel-eng/packages directory contains metadata files
+named after their packages. Each file has the latest tagged
+version and the project's relative directory.
diff --git a/rel-eng/tito.props b/rel-eng/tito.props
new file mode 100644
index 000000000..eab3f190d
--- /dev/null
+++ b/rel-eng/tito.props
@@ -0,0 +1,5 @@
+[buildconfig]
+builder = tito.builder.Builder
+tagger = tito.tagger.VersionTagger
+changelog_do_not_remove_cherrypick = 0
+changelog_format = %s (%ae)