Neutron Agents is a special case for json support. Since it's a fat
container, there will be multiple commnds that will need to be run
in the container. In order to account for this, the commands will be
hardcoded until the agents are split out to their own containers.
The files will be copied the normal way.
Co-Authored-By: Steven Dake <stdake@cisco.com>
Change-Id: I9fc226cc7b82c2594db5814d30d453a29a4af8c0
Partially-Implements: blueprint replace-config-external
Closes-Bug: #1500566
Configuration based off upstream documentation here:
http://docs.openstack.org/developer/ironic/deploy/install-guide.html
A few notes:
-ironic-api is not configured to use mod_wsgi
-several places it's noted that discoverd is going away and needs to be
replaced with ironic-inspector - (sqlite connection should be changed
too)
-currently enabling ironic reconfigures nova compute (driver and
scheduler) as well as changes neutron network settings
-a nice enhancement would be to configure the web console
Required post-deployment configuration:
Create the flat network to launch the instances:
neutron net-create --tenant-id $TENANT_ID sharednet1 --shared \
--provider:network_type flat --provider:physical_network physnet1
neutron subnet-create sharednet1 $NETWORK_CIDR --name $SUBNET_NAME \
--ip-version=4 --gateway=$GATEWAY_IP --allocation-pool \
start=$START_IP,end=$END_IP --enable-dhcp
And then the above ID is used to set cleaning_network_uuid in the neutron
section of ironic.conf.
Change-Id: I572e7ff1f23c4e57a2c50817cafe9269fd9950dd
Implements: blueprint ironic-container
Our openvswitch image does not follow the naming convention of any of
our other containers and it should.
Change-Id: If1b815117bb39df74061218e48778479b8d674bc
Closes-Bug: #1500392
This is only for the Neutron thin containers. The Neutron agents
are still in a fat container. I'll replace in another patch.
Change-Id: I8533af52bfa3f268aa8ffb1c16ae49f5a300da27
Partially-Implements: blueprint replace-config-external
Currently bootstrap containers are waited to exit but are not
checked for exit status and ansible runs further tasks. If
bootstrapping fails we notice it at much later time.
Change-Id: I137fc11b0f9d1f03d2ded08a213e8dbd62741f92
Closes-Bug: #1492337
The register operation was registering user_database which is a global
variable in group_vars/all.yml. This results in glance not being deployable
because user_database is overwrriten at keystone task registration time.
The result of this is the playbooks fail to deploy.
Change-Id: Ic69725fb09aa0a368ec5b0d8f47bfc768c29c70c
Closes-Bug: #1486876
Cleanup all options in the minimal neutron confs. Remove options where
the default value was specified explicitly. Updated ports and bindings
to be configurable.
Partially-Implements: blueprint update-configs
Change-Id: I420ea1469e7bbe87aca0754cd3507098501f1de5
Cleanup all options in the minimal nova.conf. Remove options where
the default value was specified explicitly. Updated ports and bindings
to be configurable.
Partially-Implements: blueprint update-configs
Change-Id: I0bca7a8f9c4c6fa40145d66a95de7e98edc0edce
Currently we require a slew of deps on each destination node, this
includes a gcc compiler and installing things via pip. We can remove
these dependencies by containerizing them and running and Ansible
inside the container itself. The container would then report back
facts about idempotency.
DocImpact
Closes-Bug: #1481495
Implements: blueprint containerize-dependencies
Change-Id: I3dfccbf9fafc06ffc36e78f3006fe5d3367891df
Allows the user to configure neutron_plugin_agent value for Ansible.
Current allowed values are openvswitch and linuxbridge.
Implements: blueprint ansible-neutron-linuxbridge
Change-Id: I0572464a5459d2f9da09b6da22db16e240511f99
If user specifies registry a full image name is constructed by
concatenation of the registry, namespace and image. Currently
concatenation does not include '/' if registry is non-empty but
it should. If registry is empty '/' is not required.
This fix covers both use cases with help of Ansible filter.
Change-Id: I0588dd0da55d777e6caa7eb47d51b2435d38d5e0
Closes-Bug: #1479013
This makes some changes to init-runonce to allow using Ansible as well as
updating it to use the openstack-client where applicable since the
keystone-client is not usable with keystone v3 api at all.
Change-Id: I6b9d6beb04df7724b1967638e98042ab03221cd1
Closes-Bug: #1477725
neutron-server was not properly using ml2_conf.ini
nova did not have ovs utils, and it had incorrect libvirt permissions
Change-Id: I43d2110d0b5fc1940d887dace95787e1ebbe142d
Partitially-Implements: blueprint ansible-service
The ml2_conf.ini file which sets OpenVswitch as the mechanism driver
was not being copied to the corect place. This patch resolves that
problem.
Change-Id: Ia276916a3183564c9b7d8d6aa9595c384ed99cf6
Closes-Bug: #1477399
The neutron-agents l3 agent requires access to the OVS database via
access to /run. It also needs to have ovs-vsctl binary available in
the container.
Change-Id: I903537b570cd60c9bb1088e9408a5f6ea4988d8f
Closes-Bug: #1477376
Ansible will exec a script in the OVS container to ensure the bridge and
ports are properly setup. The script is idempotent.
Change-Id: I5adca595a4d2ef4edf26c9635cfa5ceb30ca4a59
Closes-Bug: #1466375