* Add deploy playbook
* Add Dockerfile
* Also uses regular filenames with underscores as key in configmaps
since kubectl creates them from file this way
Change-Id: I8c7ceddacc7be1262f6ad565003ff14bb4d60af0
pycrypto is unmaintained for a while and requirements team advises using
pycryptodome or cryptography libraries instead (see openstack-dev thread
[0]).
genpwd.py uses pycrypto to generate RSA keypair. This commit rewrite
generate_RSA function using python-cryptography while keeping strict 1:1
compatibility with previous code.
[0] http://lists.openstack.org/pipermail/openstack-dev/2017-March/113568.html
Change-Id: I13f468c35adb7b2cf76b3d04d9d700aa8ea54a85
The first argument to a Command class should be the App that is
loading the command.
Change-Id: I8ad67accb5bd3c377dda31fde49447f68f608a48
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
The secrets generator still fails if kolla-ansible isn't installed
because it continues to look for files installed from that package. This
patch changes the code to look at the ansible code location in the
kolla-kubernetes package.
Change-Id: Idd3e35b198ebf0d4c109906b18234bd06e74d48f
Pathfinder is not compatible as is with a pip install of
kolla-ansible. Since a pip install is the main expected
way for operators to consume kolla-kubernetes, this hack
is necessary until kolla-ansible is ejected as a dependency.
Change-Id: I727b7961f25eff6d1e52b4abb90624fb8bc7a9dc
This is a direct copy of generate_passwords.py from kolla-ansible to
remove the kolla-ansible dependency.
Change-Id: Ia8a19ee4e196c4bd5f6d42fe0f6ccfc36f0bfb7f
Partially-Implements: blueprint remove-deps
Add into the CLI the ability to cleanup an entire resource.
This will help when you need to cleanup all of a particular
resource in your environment.
To delete all configmaps run:
kolla-kubernetes resource delete configmap all
Change-Id: Ia6149303230b131bf19b81206b97ecc36b3ee616
This PS adds the imagePullPolicy to all containers
and provides a test to ensure it is always there.
Implements: blueprint image-pull-policy
Change-Id: I9a94e3a1ab909dcea0960b490aa57a5432780961
This PS lays the groundwork for testing helm packages
rendered yaml in the gate. This should allow us to test
many more configurations much more quickly.
It also fixes a problem it discovered. A broken
cinder-backup template.
Change-Id: I24a70fb4dbdbf06f8340abe3b7e72f794e09a5d9
For centos system, installation path is /usr/share/kolla and
/usr/share/kolla-kubernetes and for ubuntu system, installation
path is /usr/local/share/kolla and /usr/local/share/kolla-kubernetes.
So, kolla_kubernetes/pathfinder.py not able to search installation path.
Closes-Bug: #1657852
Change-Id: I875c214eece3a3365285a9534744e8ff29e34a08
The following file(s) added utf-8 encoding but never used. So we can
remove them at all.
kolla_kubernetes/__init__.py
Change-Id: I9792d39e7b364bda426dc20d55e593c057e00ce9
This PS creates a gate test for kolla-kubernetes. It does an all in
one deployment backed with ceph.
In addition, it:
* Adds a bindep.txt file to give our tests quicker install times.
* Adds a bashate tox test for linting bash.
* Fixes a bug with multiple pods passed on the command line at
once.
Change-Id: I29d928b9864e268542a8a51d86b566e4933557bf
This PS introduce a sidecar container running fleuntd's td-agent.
This agent does "tail" on /var/log/kolla/*/*.log files and transfer
then to elasticsearch for centralized storage. Idea is that each
OpenStack pod will have its own sidecar logging container.
Author: Serguei Bezverkhi <sbezverk@cisco.com>
Co-Authored-By: Kevin Fox <kevin@efox.cc>
Partially-Implements: blueprint centralized-logging
Change-Id: I14826d9cb2376e61966e67ef38c4c78889374c26
This PS adds support for scalable glance backed by ceph. It adds
supports for cinder backed by ceph. It also adds an implementation
of ceph in k8s that can be used for testing when no other ceph
option is available. The k8s managed ceph is intended mostly just
for testing with minikube.
Change-Id: I5332c5b5ee4d6d1ec90cec6abffe88f20fb1373d
In some part in the code we import objects. In the Openstack style
guidelines they recommend to import only modules.
http://docs.openstack.org/developer/hacking/#imports
TrivialFix
Change-Id: I8bd10114b9771637dcca9af04d6970afc9c36ad0
This Patch Set reworks the cli. For now, instead of replacing the
'kolla-kubernetes' tool it makes a new tool called 'kollakube'.
This new command requires less typing. Operators who will need to
type the command a lot, so shortening the cli will help over time.
In a future PS the old 'kolla-kubernetes' command will be removed.
It reworks the resource and template system to allow the operator
to specify multiple entries to be processed at once. This aligns
kollakube with kubectl behavior.
The 'resource-template' subcommand is renamed to just 'template'.
The 'resource-map' subcommand is renamed to just 'map'.
The 'template' subcommand drops the action argument as it has no
effect.
Aliases are added from 'resource' to 'res' and 'template' to 'tmpl'.
The 'kollakube' cli removes any workflow related subcommands as they
are unlikely to work well moving forward and will be replaced
shortly with an ansible workflow.
Change-Id: Ide7b5d391a4ac0a514c027cf761033d9eb94d152
Adds a -d flag to the resource-template and resource commands
that override the specified container's command with
[/bin/bash, -c, 'while; true; do sleep 1000; done'] to aid
in debugging container issues.
Change-Id: I4f1f5422e1d47a013af9137c062a53282128ffd0
Partially-implements: blueprint kolla-kubernetes-resource-debug
We're using service discovery with our net=host pods but resolv.conf
doesn't point at kube-dns when net=host. This provides a workaround.
You can do this by creating a configmap called resolv-conf with a
resolv.conf from a non net=host pod, and you set:
enable_resolve_conf_net_host_workaround="yes"
Change-Id: Ic2ac1725f42ba66b89cd5869f3ec3a751aa66df8
Fixes the pvc name for glance api and reverts the name of the
rabbit service to match whats in kolla. fixes the tests to
ignore the rabbit name conflict too... fix to make older haproxy
work.
Change-Id: I9949d8fe54eb043d8240ed6b109884d8525de9cb
Move neutron-l3-agent and neutron-metadata-agent to its own DaemonSet
templates and add DVR support. Also add multi node support with
nodeSelectors.
Fix some invalid yaml issues (tabs -> spaces)
Partially-Implements: blueprint hostlabels
Partially-Implements: blueprint deployments
Partially-Implements: blueprint consistent-namespace
Change-Id: Ic485f583b16d40b55c136d79f04edb3af44f4f03
Now that service names are optional, the service name
should always be in the resource name. This checks for
it and fixes the few cases that didn't have it.
Change-Id: I0b72d49f3669cdc408ded29e0ebcb5f52b34b184
This ensures that all containers that have a main container are
named 'main' to make it easier on operators to enter them or get
logs from them. The Pod name stays unique so there will never
be conflicts.
This also modifies the 'main' container check to ignore Jobs
with multiple containers. A few Jobs don't really have a main.
Change-Id: Ia10718141064752d1aea280dc7663a3b0ed87dfa
Implements: blueprint container-names
This fixes most of the issues of the following types:
* resource_type in resource_name
* k8s object name != resource_name
Change-Id: I765faee820c16e6f9ddf819783d6bd6d00b00da5
So far, configmap has been a separate, special type and we've had to
add some configmaps to pods just to work around the lack of support.
This patch set makes configmaps regular types and they now work with
both resource-template and resource like any other. The pod
configmaps have also been converted to regular configmaps.
Change-Id: I236c52c69be674b55c039859558f2cdab2de4dba
This patch set adds tests for 4 more types of issues and white lists
existing occurances of them:
* If its a pod or has a pod templated type, there is a container named 'main'
* If the resource_name and the name of the object don't match.
* If it is a pod templated type and there is a name in the template. (Dead code)
* If there is a k8s type in the resource_name. (Redundant cli)
Change-Id: I0ab834ce99fbac9a7b2375a91076eebcbbc39875
Partially-Implements: blueprint redundant-cli-info