예제 #1
0
파일: t_etcd.py 프로젝트: rowhit/calico
    def provide_felix_config(self):
        """Specify the prefix of the TAP interfaces that Felix should
        look for and work with.  This config setting does not have a
        default value, because different cloud systems will do
        different things.  Here we provide the prefix that Neutron
        uses.
        """
        LOG.info("Providing Felix configuration")

        # First read the config values, so as to avoid unnecessary
        # writes.
        prefix = None
        reporting_enabled = None
        ready = None
        iface_pfx_key = key_for_config('InterfacePrefix')
        reporting_key = key_for_config('EndpointReportingEnabled')
        try:
            prefix = self.client.read(iface_pfx_key).value
            reporting_enabled = self.client.read(reporting_key).value
            ready = self.client.read(READY_KEY).value
        except etcd.EtcdKeyNotFound:
            LOG.info('%s values are missing', CONFIG_DIR)

        # Now write the values that need writing.
        if prefix != 'tap':
            LOG.info('%s -> tap', iface_pfx_key)
            self.client.write(iface_pfx_key, 'tap')
        if reporting_enabled != "true":
            LOG.info('%s -> true', reporting_enabled)
            self.client.write(reporting_key, 'true')
        if ready != 'true':
            # TODO Set this flag only once we're really ready!
            LOG.info('%s -> true', READY_KEY)
            self.client.write(READY_KEY, 'true')
예제 #2
0
    def provide_felix_config(self):
        """Specify the prefix of the TAP interfaces that Felix should
        look for and work with.  This config setting does not have a
        default value, because different cloud systems will do
        different things.  Here we provide the prefix that Neutron
        uses.
        """
        LOG.info("Providing Felix configuration")

        # First read the config values, so as to avoid unnecessary
        # writes.
        prefix = None
        reporting_enabled = None
        ready = None
        iface_pfx_key = key_for_config('InterfacePrefix')
        reporting_key = key_for_config('EndpointReportingEnabled')
        try:
            prefix = self.client.read(iface_pfx_key).value
            reporting_enabled = self.client.read(reporting_key).value
            ready = self.client.read(READY_KEY).value
        except etcd.EtcdKeyNotFound:
            LOG.info('%s values are missing', CONFIG_DIR)

        # Now write the values that need writing.
        if prefix != 'tap':
            LOG.info('%s -> tap', iface_pfx_key)
            self.client.write(iface_pfx_key, 'tap')
        if reporting_enabled != "true":
            LOG.info('%s -> true', reporting_enabled)
            self.client.write(reporting_key, 'true')
        if ready != 'true':
            # TODO Set this flag only once we're really ready!
            LOG.info('%s -> true', READY_KEY)
            self.client.write(READY_KEY, 'true')